All pastes #83056 Raw Edit

Stuff

public text v1 · immutable
·published 2006-07-09 08:07 UTC
rendered paste body
seg000:00894FB0 gg_piperecvhandler proc near            ; CODE XREF: sub_892720+1733p
seg000:00894FB0                                         ; StartAddress+34p ...
seg000:00894FB0
seg000:00894FB0 arg_0           = dword ptr  4
seg000:00894FB0 arg_4           = byte ptr  8
seg000:00894FB0 arg_8           = dword ptr  0Ch
seg000:00894FB0
seg000:00894FB0                 mov     eax, ds:dword_C67A54
seg000:00894FB5                 push    esi
seg000:00894FB6                 mov     esi, dword ptr [esp+4+arg_4]
seg000:00894FBA                 push    edi
seg000:00894FBB                 mov     edi, [esp+8+arg_8]
seg000:00894FBF                 test    eax, eax
seg000:00894FC1                 jz      short loc_894FE9
seg000:00894FC3                 push    edi
seg000:00894FC4                 push    esi             ; char
seg000:00894FC5                 push    offset unk_9BB834
seg000:00894FCA                 call    sub_899CE0
seg000:00894FCF                 add     esp, 4
seg000:00894FD2                 push    eax             ; char *
seg000:00894FD3                 mov     eax, ds:dword_C67A54
seg000:00894FD8                 add     eax, 20h
seg000:00894FDB                 push    eax             ; int
seg000:00894FDC                 call    sub_894100
seg000:00894FE1                 mov     eax, ds:dword_C67A54
seg000:00894FE6                 add     esp, 10h
seg000:00894FE9
seg000:00894FE9 loc_894FE9:                             ; CODE XREF: gg_piperecvhandler+11j
seg000:00894FE9                 lea     ecx, [esi-60Fh]
seg000:00894FEF                 cmp     ecx, 2Bh
seg000:00894FF2                 ja      loc_89526F
seg000:00894FF8                 xor     edx, edx
seg000:00894FFA                 mov     dl, ds:byte_8952D4[ecx]
seg000:00895000                 jmp     ds:off_89529C[edx*4]
seg000:00895007
seg000:00895007 loc_895007:                             ; DATA XREF: seg000:off_89529Co
seg000:00895007                 mov     cl, [eax]
seg000:00895009                 mov     esi, 3E9h
seg000:0089500E                 test    cl, cl
seg000:00895010
seg000:00895010 loc_895010:                             ; CODE XREF: gg_piperecvhandler+17Bj
seg000:00895010                                         ; gg_piperecvhandler+1A5j ...
seg000:00895010                 jnz     short loc_895090
seg000:00895012                 mov     [eax+8], esi
seg000:00895015                 mov     eax, ds:dword_C67A54
seg000:0089501A                 mov     [eax+0Ch], edi
seg000:0089501D                 pop     edi
seg000:0089501E                 mov     al, 1
seg000:00895020                 pop     esi
seg000:00895021                 retn    0Ch
seg000:00895024 ; ---------------------------------------------------------------------------
seg000:00895024
seg000:00895024 loc_895024:                             ; CODE XREF: gg_piperecvhandler+50j
seg000:00895024                                         ; DATA XREF: seg000:008952A0o
seg000:00895024                 mov     cl, [eax]
seg000:00895026                 mov     esi, 3EAh
seg000:0089502B                 test    cl, cl
seg000:0089502D
seg000:0089502D loc_89502D:                             ; CODE XREF: gg_piperecvhandler+18Aj
seg000:0089502D                                         ; gg_piperecvhandler+1B9j ...
seg000:0089502D                 jnz     short loc_895090
seg000:0089502F                 mov     [eax+8], esi
seg000:00895032                 mov     ecx, ds:dword_C67A54
seg000:00895038                 mov     al, 1
seg000:0089503A                 mov     [ecx+0Ch], edi
seg000:0089503D                 pop     edi
seg000:0089503E                 pop     esi
seg000:0089503F                 retn    0Ch
seg000:00895042 ; ---------------------------------------------------------------------------
seg000:00895042
seg000:00895042 loc_895042:                             ; CODE XREF: gg_piperecvhandler+50j
seg000:00895042                                         ; DATA XREF: seg000:008952A8o
seg000:00895042                 mov     eax, ds:dword_9BAC3C
seg000:00895047                 lea     eax, [eax+eax*4]
seg000:0089504A                 lea     edx, [eax+eax*4]
seg000:0089504D                 shl     edx, 5
seg000:00895050                 cmp     edi, edx
seg000:00895052                 jb      loc_89511A
seg000:00895058                 call    sub_8959E0
seg000:0089505D                 call    sub_895AC0
seg000:00895062                 mov     eax, ds:dword_C67A54
seg000:00895067                 test    eax, eax
seg000:00895069                 jz      short loc_89508B
seg000:0089506B                 push    edi             ; char
seg000:0089506C                 push    offset unk_9BB81C
seg000:00895071                 call    sub_899CE0
seg000:00895076                 add     esp, 4
seg000:00895079                 push    eax             ; char *
seg000:0089507A                 mov     eax, ds:dword_C67A54
seg000:0089507F                 add     eax, 20h
seg000:00895082                 push    eax             ; int
seg000:00895083                 call    sub_894100
seg000:00895088                 add     esp, 0Ch
seg000:0089508B
seg000:0089508B loc_89508B:                             ; CODE XREF: gg_piperecvhandler+B9j
seg000:0089508B                 mov     esi, 3E9h
seg000:00895090
seg000:00895090 loc_895090:                             ; CODE XREF: gg_piperecvhandler:loc_895010j
seg000:00895090                                         ; gg_piperecvhandler:loc_89502Dj ...
seg000:00895090                 push    edi
seg000:00895091                 push    esi
seg000:00895092                 call    gg_piperror
seg000:00895097                 test    eax, eax
seg000:00895099                 jnz     short loc_89511A
seg000:0089509B                 mov     eax, ds:dword_C67A54
seg000:008950A0                 test    eax, eax
seg000:008950A2                 jz      short loc_8950C6
seg000:008950A4                 push    edi
seg000:008950A5                 push    esi             ; char
seg000:008950A6                 push    offset unk_9BB7FC
seg000:008950AB                 call    sub_899CE0
seg000:008950B0                 mov     edx, ds:dword_C67A54
seg000:008950B6                 add     esp, 4
seg000:008950B9                 add     edx, 20h
seg000:008950BC                 push    eax             ; char *
seg000:008950BD                 push    edx             ; int
seg000:008950BE                 call    sub_894100
seg000:008950C3                 add     esp, 10h
seg000:008950C6
seg000:008950C6 loc_8950C6:                             ; CODE XREF: gg_piperecvhandler+F2j
seg000:008950C6                 mov     eax, ds:dword_C67A54
seg000:008950CB                 pop     edi
seg000:008950CC                 pop     esi
seg000:008950CD                 mov     byte ptr [eax+1Fh], 1
seg000:008950D1                 xor     al, al
seg000:008950D3                 retn    0Ch
seg000:008950D6 ; ---------------------------------------------------------------------------
seg000:008950D6
seg000:008950D6 loc_8950D6:                             ; CODE XREF: gg_piperecvhandler+50j
seg000:008950D6                                         ; DATA XREF: seg000:008952CCo
seg000:008950D6                 test    eax, eax
seg000:008950D8                 jz      short loc_8950FB
seg000:008950DA                 push    edi             ; char
seg000:008950DB                 push    offset unk_9BB7E8
seg000:008950E0                 call    sub_899CE0
seg000:008950E5                 mov     ecx, ds:dword_C67A54
seg000:008950EB                 add     esp, 4
seg000:008950EE                 add     ecx, 20h
seg000:008950F1                 push    eax             ; char *
seg000:008950F2                 push    ecx             ; int
seg000:008950F3                 call    sub_894100
seg000:008950F8                 add     esp, 0Ch
seg000:008950FB
seg000:008950FB loc_8950FB:                             ; CODE XREF: gg_piperecvhandler+128j
seg000:008950FB                 mov     esi, 3F8h
seg000:00895100                 jmp     short loc_895090
seg000:00895102 ; ---------------------------------------------------------------------------
seg000:00895102
seg000:00895102 loc_895102:                             ; CODE XREF: gg_piperecvhandler+50j
seg000:00895102                                         ; DATA XREF: seg000:008952B0o
seg000:00895102                 mov     esi, 3F3h
seg000:00895107
seg000:00895107 loc_895107:                             ; CODE XREF: gg_piperecvhandler+194j
seg000:00895107                 mov     ecx, [eax+4]
seg000:0089510A                 test    ecx, ecx
seg000:0089510C                 jnz     short loc_895090
seg000:0089510E                 mov     [eax+8], esi
seg000:00895111                 mov     edx, ds:dword_C67A54
seg000:00895117                 mov     [edx+0Ch], edi
seg000:0089511A
seg000:0089511A loc_89511A:                             ; CODE XREF: gg_piperecvhandler+A2j
seg000:0089511A                                         ; gg_piperecvhandler+E9j ...
seg000:0089511A                 pop     edi
seg000:0089511B                 mov     al, 1
seg000:0089511D                 pop     esi
seg000:0089511E                 retn    0Ch
seg000:00895121 ; ---------------------------------------------------------------------------
seg000:00895121
seg000:00895121 loc_895121:                             ; CODE XREF: gg_piperecvhandler+50j
seg000:00895121                                         ; DATA XREF: seg000:008952B4o
seg000:00895121                 mov     ecx, [eax+4]
seg000:00895124                 mov     esi, 3F4h
seg000:00895129                 test    ecx, ecx
seg000:0089512B                 jmp     loc_895010
seg000:00895130 ; ---------------------------------------------------------------------------
seg000:00895130
seg000:00895130 loc_895130:                             ; CODE XREF: gg_piperecvhandler+50j
seg000:00895130                                         ; DATA XREF: seg000:008952B8o
seg000:00895130                 mov     ecx, [eax+4]
seg000:00895133                 mov     esi, 3F5h
seg000:00895138                 test    ecx, ecx
seg000:0089513A                 jmp     loc_89502D
seg000:0089513F ; ---------------------------------------------------------------------------
seg000:0089513F
seg000:0089513F loc_89513F:                             ; CODE XREF: gg_piperecvhandler+50j
seg000:0089513F                                         ; DATA XREF: seg000:008952BCo
seg000:0089513F                 mov     esi, 3F7h
seg000:00895144                 jmp     short loc_895107
seg000:00895146 ; ---------------------------------------------------------------------------
seg000:00895146
seg000:00895146 loc_895146:                             ; CODE XREF: gg_piperecvhandler+50j
seg000:00895146                                         ; DATA XREF: seg000:008952C0o
seg000:00895146                 mov     ecx, [eax+4]
seg000:00895149                 mov     esi, 3F6h
seg000:0089514E                 mov     edi, 0D2h
seg000:00895153                 test    ecx, ecx
seg000:00895155                 jmp     loc_895010
seg000:0089515A ; ---------------------------------------------------------------------------
seg000:0089515A
seg000:0089515A loc_89515A:                             ; CODE XREF: gg_piperecvhandler+50j
seg000:0089515A                                         ; DATA XREF: seg000:008952C4o
seg000:0089515A                 mov     ecx, [eax+4]
seg000:0089515D                 mov     esi, 3F6h
seg000:00895162                 mov     edi, 0DCh
seg000:00895167                 test    ecx, ecx
seg000:00895169                 jmp     loc_89502D
seg000:0089516E ; ---------------------------------------------------------------------------
seg000:0089516E
seg000:0089516E loc_89516E:                             ; CODE XREF: gg_piperecvhandler+50j
seg000:0089516E                                         ; DATA XREF: seg000:008952C8o
seg000:0089516E                 mov     ecx, [eax+4]
seg000:00895171                 mov     esi, 3F6h
seg000:00895176                 test    ecx, ecx
seg000:00895178                 mov     edi, 0E6h
seg000:0089517D                 jnz     loc_895090
seg000:00895183                 mov     [eax+8], esi
seg000:00895186                 mov     edx, ds:dword_C67A54
seg000:0089518C                 mov     al, 1
seg000:0089518E                 mov     [edx+0Ch], edi
seg000:00895191                 pop     edi
seg000:00895192                 pop     esi
seg000:00895193                 retn    0Ch             ; char
seg000:00895196 ; ---------------------------------------------------------------------------
seg000:00895196
seg000:00895196 loc_895196:                             ; CODE XREF: gg_piperecvhandler+50j
seg000:00895196                                         ; DATA XREF: seg000:008952ACo
seg000:00895196                 mov     ecx, [esp+8+arg_0]
seg000:0089519A                 call    sub_8992B0
seg000:0089519F                 mov     edi, eax
seg000:008951A1                 mov     esi, 3F9h
seg000:008951A6                 jmp     loc_895090
seg000:008951AB ; ---------------------------------------------------------------------------
seg000:008951AB
seg000:008951AB loc_8951AB:                             ; CODE XREF: gg_piperecvhandler+50j
seg000:008951AB                                         ; DATA XREF: seg000:008952A4o
seg000:008951AB                 mov     ecx, ds:dword_C67A48
seg000:008951B1                 mov     ds:dword_C67A38, edi
seg000:008951B7                 test    ecx, ecx
seg000:008951B9                 jnz     short loc_895223
seg000:008951BB                 mov     ds:dword_C67A48, edi
seg000:008951C1
seg000:008951C1 loc_8951C1:                             ; CODE XREF: gg_piperecvhandler+275j
seg000:008951C1                 push    1
seg000:008951C3                 push    1
seg000:008951C5                 push    0Ah
seg000:008951C7                 push    7D5h
seg000:008951CC                 push    offset ApplicationName
seg000:008951D1                 call    sub_896550
seg000:008951D6                 add     esp, 14h
seg000:008951D9                 test    al, al
seg000:008951DB                 jnz     loc_89511A
seg000:008951E1                 mov     eax, ds:dword_C67A54
seg000:008951E6                 test    eax, eax
seg000:008951E8                 jz      short loc_89520F
seg000:008951EA                 push    offset unk_9BB7D4
seg000:008951EF                 call    sub_899CE0
seg000:008951F4                 mov     edx, ds:dword_C67A54
seg000:008951FA                 add     esp, 4
seg000:008951FD                 add     edx, 20h
seg000:00895200                 push    eax             ; char *
seg000:00895201                 push    edx             ; int
seg000:00895202                 call    sub_894100
seg000:00895207                 mov     eax, ds:dword_C67A54
seg000:0089520C                 add     esp, 8
seg000:0089520F
seg000:0089520F loc_89520F:                             ; CODE XREF: gg_piperecvhandler+238j
seg000:0089520F                 mov     ecx, [eax+4]
seg000:00895212                 mov     esi, 3F6h
seg000:00895217                 mov     edi, 0E6h
seg000:0089521C                 test    ecx, ecx
seg000:0089521E                 jmp     loc_895010
seg000:00895223 ; ---------------------------------------------------------------------------
seg000:00895223
seg000:00895223 loc_895223:                             ; CODE XREF: gg_piperecvhandler+209j
seg000:00895223                 cmp     edi, ecx
seg000:00895225                 jz      short loc_8951C1
seg000:00895227                 test    eax, eax
seg000:00895229                 jz      short loc_895251
seg000:0089522B                 push    ecx
seg000:0089522C                 push    edi             ; char
seg000:0089522D                 push    offset unk_9BB7AC
seg000:00895232                 call    sub_899CE0
seg000:00895237                 add     esp, 4
seg000:0089523A                 push    eax             ; char *
seg000:0089523B                 mov     eax, ds:dword_C67A54
seg000:00895240                 add     eax, 20h
seg000:00895243                 push    eax             ; int
seg000:00895244                 call    sub_894100
seg000:00895249                 mov     eax, ds:dword_C67A54
seg000:0089524E                 add     esp, 10h
seg000:00895251
seg000:00895251 loc_895251:                             ; CODE XREF: gg_piperecvhandler+279j
seg000:00895251                 mov     ds:dword_C67A1C, 2
seg000:0089525B                 mov     ecx, [eax+4]
seg000:0089525E                 mov     esi, 3F6h
seg000:00895263                 mov     edi, 0E6h
seg000:00895268                 test    ecx, ecx
seg000:0089526A                 jmp     loc_89502D
seg000:0089526F ; ---------------------------------------------------------------------------
seg000:0089526F
seg000:0089526F loc_89526F:                             ; CODE XREF: gg_piperecvhandler+42j
seg000:0089526F                                         ; gg_piperecvhandler+50j
seg000:0089526F                                         ; DATA XREF: ...
seg000:0089526F                 cmp     esi, 1F4h
seg000:00895275                 jnz     short loc_89528B
seg000:00895277                 mov     ecx, [eax+4]
seg000:0089527A                 mov     esi, 3F6h
seg000:0089527F                 mov     edi, 1F4h
seg000:00895284                 test    ecx, ecx
seg000:00895286                 jmp     loc_89502D
seg000:0089528B ; ---------------------------------------------------------------------------
seg000:0089528B
seg000:0089528B loc_89528B:                             ; CODE XREF: gg_piperecvhandler+2C5j
seg000:0089528B                 mov     ecx, [eax+4]
seg000:0089528E                 mov     esi, 3E8h
seg000:00895293                 test    ecx, ecx
seg000:00895295                 jmp     loc_89502D
seg000:00895295 gg_piperecvhandler endp