All pastes #2065081 Raw Edit

Untitled

public text v1 · immutable
#2065081 ·published 2011-05-19 23:13 UTC
rendered paste body
.text:1043F4A0 ; =============== S U B R O U T I N E =======================================
.text:1043F4A0
.text:1043F4A0
.text:1043F4A0 sub_1043F4A0    proc near               ; CODE XREF: sub_1043F820+1Bp
.text:1043F4A0
.text:1043F4A0 var_54          = dword ptr -54h
.text:1043F4A0 var_50          = dword ptr -50h
.text:1043F4A0 var_4C          = dword ptr -4Ch
.text:1043F4A0 var_48          = dword ptr -48h
.text:1043F4A0 var_44          = word ptr -44h
.text:1043F4A0 var_4           = dword ptr -4
.text:1043F4A0 arg_0           = dword ptr  4
.text:1043F4A0
.text:1043F4A0                 sub     esp, 54h
.text:1043F4A3                 mov     eax, dword_10799610
.text:1043F4A8                 xor     eax, esp
.text:1043F4AA                 mov     [esp+54h+var_4], eax
.text:1043F4AE                 mov     ecx, [ebx+10h]
.text:1043F4B1                 mov     eax, [esp+54h+arg_0]
.text:1043F4B5                 push    ebp
.text:1043F4B6                 push    esi
.text:1043F4B7                 mov     esi, [ecx]
.text:1043F4B9                 cmp     dword ptr [esi+294h], 0
.text:1043F4C0                 push    edi
.text:1043F4C1                 mov     [esp+60h+var_50], offset aOctet ; "octet"
.text:1043F4C9                 mov     [esp+60h+var_4C], esi
.text:1043F4CD                 mov     [esp+60h+var_54], 0
.text:1043F4D5                 jz      short loc_1043F4DF
.text:1043F4D7                 mov     [esp+60h+var_50], offset aNetascii ; "netascii"
.text:1043F4DF
.text:1043F4DF loc_1043F4DF:                           ; CODE XREF: sub_1043F4A0+35j
.text:1043F4DF                 cmp     eax, 7          ; switch 8 cases
.text:1043F4E2                 ja      loc_1043F7DA    ; default
.text:1043F4E2                                         ; jumptable 1043F4E8 cases 1,2
.text:1043F4E8                 jmp     ds:off_1043F800[eax*4] ; switch jump
.text:1043F4EF
.text:1043F4EF loc_1043F4EF:                           ; DATA XREF: .text:off_1043F800o
.text:1043F4EF                 add     dword ptr [ebx+18h], 1 ; jumptable 1043F4E8 cases 0,7
.text:1043F4F3                 mov     eax, [ebx+18h]
.text:1043F4F6                 cmp     eax, [ebx+20h]
.text:1043F4F9                 jle     short loc_1043F51C
.text:1043F4FB                 pop     edi
.text:1043F4FC                 pop     esi
.text:1043F4FD                 mov     dword ptr [ebx+8], 0FFFFFF9Eh
.text:1043F504                 mov     dword ptr [ebx], 3
.text:1043F50A                 xor     eax, eax
.text:1043F50C                 pop     ebp
.text:1043F50D                 mov     ecx, [esp+54h+var_4]
.text:1043F511                 xor     ecx, esp
.text:1043F513                 call    sub_10503847
.text:1043F518                 add     esp, 54h
.text:1043F51B                 retn
.text:1043F51C ; ---------------------------------------------------------------------------
.text:1043F51C
.text:1043F51C loc_1043F51C:                           ; CODE XREF: sub_1043F4A0+59j
.text:1043F51C                 cmp     dword ptr [esi+2C8h], 0
.text:1043F523                 lea     ebp, [ebx+160h]
.text:1043F529                 mov     ecx, ebp
.text:1043F52B                 jz      short loc_1043F56A
.text:1043F52D                 mov     eax, 2
.text:1043F532                 call    sub_1043E750
.text:1043F537                 mov     eax, [ebx+10h]
.text:1043F53A                 mov     edx, [ebp+0]
.text:1043F53D                 mov     ecx, [eax]
.text:1043F53F                 add     edx, 4
.text:1043F542                 mov     [ecx+0DCh], edx
.text:1043F548                 mov     eax, [esi+1A8h]
.text:1043F54E                 mov     ecx, [esi+1ACh]
.text:1043F554                 mov     edx, eax
.text:1043F556                 and     edx, ecx
.text:1043F558                 cmp     edx, 0FFFFFFFFh
.text:1043F55B                 jz      short loc_1043F574
.text:1043F55D                 push    ecx
.text:1043F55E                 push    eax
.text:1043F55F                 push    esi
.text:1043F560                 call    sub_10438CE0
.text:1043F565                 add     esp, 0Ch
.text:1043F568                 jmp     short loc_1043F574
.text:1043F56A ; ---------------------------------------------------------------------------
.text:1043F56A
.text:1043F56A loc_1043F56A:                           ; CODE XREF: sub_1043F4A0+8Bj
.text:1043F56A                 mov     eax, 1
.text:1043F56F                 call    sub_1043E750
.text:1043F574
.text:1043F574 loc_1043F574:                           ; CODE XREF: sub_1043F4A0+BBj
.text:1043F574                                         ; sub_1043F4A0+C8j
.text:1043F574                 mov     eax, [ebx+10h]
.text:1043F577                 mov     ecx, [eax]
.text:1043F579                 mov     edx, [ecx+8614h]
.text:1043F57F                 push    0
.text:1043F581                 push    0
.text:1043F583                 add     edx, 1
.text:1043F586                 push    edx
.text:1043F587                 push    esi
.text:1043F588                 call    sub_10428070
.text:1043F58D                 mov     edi, eax
.text:1043F58F                 add     esp, 10h
.text:1043F592                 test    edi, edi
.text:1043F594                 mov     [esp+60h+var_48], edi
.text:1043F598                 jnz     short loc_1043F5AF
.text:1043F59A                 lea     eax, [edi+1Bh]
.text:1043F59D                 pop     edi
.text:1043F59E                 pop     esi
.text:1043F59F                 pop     ebp
.text:1043F5A0                 mov     ecx, [esp+54h+var_4]
.text:1043F5A4                 xor     ecx, esp
.text:1043F5A6                 call    sub_10503847
.text:1043F5AB                 add     esp, 54h
.text:1043F5AE                 retn
.text:1043F5AF ; ---------------------------------------------------------------------------
.text:1043F5AF
.text:1043F5AF loc_1043F5AF:                           ; CODE XREF: sub_1043F4A0+F8j
.text:1043F5AF                 mov     eax, [esp+60h+var_50]
.text:1043F5B3                 mov     ecx, [ebx+154h]
.text:1043F5B9                 mov     edx, [ebp+0]
.text:1043F5BC                 push    0
.text:1043F5BE                 push    eax
.text:1043F5BF                 push    0
.text:1043F5C1                 push    edi
.text:1043F5C2                 push    offset aSCSC    ; "%s%c%s%c"
.text:1043F5C7                 push    ecx
.text:1043F5C8                 add     edx, 2
.text:1043F5CB                 push    edx
.text:1043F5CC                 call    sub_10434A10
.text:1043F5D1                 mov     eax, edi
.text:1043F5D3                 add     esp, 1Ch
.text:1043F5D6                 lea     edx, [eax+1]
.text:1043F5D9                 lea     esp, [esp+0]
.text:1043F5E0
.text:1043F5E0 loc_1043F5E0:                           ; CODE XREF: sub_1043F4A0+147j
.text:1043F5E0                 mov     cl, [eax]
.text:1043F5E2                 add     eax, 1
.text:1043F5E5                 test    cl, cl
.text:1043F5E7                 jnz     short loc_1043F5E0
.text:1043F5E9                 sub     eax, edx
.text:1043F5EB                 mov     edx, eax
.text:1043F5ED                 mov     eax, [esp+60h+var_50]
.text:1043F5F1                 lea     edi, [eax+1]
.text:1043F5F4
.text:1043F5F4 loc_1043F5F4:                           ; CODE XREF: sub_1043F4A0+15Bj
.text:1043F5F4                 mov     cl, [eax]
.text:1043F5F6                 add     eax, 1
.text:1043F5F9                 test    cl, cl
.text:1043F5FB                 jnz     short loc_1043F5F4
.text:1043F5FD                 sub     eax, edi
.text:1043F5FF                 cmp     dword ptr [esi+2C8h], 0
.text:1043F606                 mov     edi, eax
.text:1043F608                 lea     edi, [edi+edx+4]
.text:1043F60C                 jz      short loc_1043F63B
.text:1043F60E                 mov     eax, [esi+1A8h]
.text:1043F614                 mov     esi, [esi+1ACh]
.text:1043F61A                 mov     ecx, eax
.text:1043F61C                 and     ecx, esi
.text:1043F61E                 cmp     ecx, 0FFFFFFFFh
.text:1043F621                 jz      short loc_1043F63B
.text:1043F623                 push    esi
.text:1043F624                 push    eax
.text:1043F625                 push    offset aLld     ; "%lld"
.text:1043F62A                 lea     edx, [esp+6Ch+var_44]
.text:1043F62E                 push    40h
.text:1043F630                 push    edx
.text:1043F631                 call    sub_10434A10
.text:1043F636                 add     esp, 14h
.text:1043F639                 jmp     short loc_1043F642
.text:1043F63B ; ---------------------------------------------------------------------------
.text:1043F63B
.text:1043F63B loc_1043F63B:                           ; CODE XREF: sub_1043F4A0+16Cj
.text:1043F63B                                         ; sub_1043F4A0+181j
.text:1043F63B                 mov     [esp+60h+var_44], 30h
.text:1043F642
.text:1043F642 loc_1043F642:                           ; CODE XREF: sub_1043F4A0+199j
.text:1043F642                 mov     eax, [ebp+0]
.text:1043F645                 add     eax, edi
.text:1043F647                 push    eax
.text:1043F648                 push    edi
.text:1043F649                 push    ebx
.text:1043F64A                 mov     esi, offset aTsize ; "tsize"
.text:1043F64F                 call    sub_1043EA30
.text:1043F654                 mov     ecx, [ebp+0]
.text:1043F657                 add     edi, eax
.text:1043F659                 add     ecx, edi
.text:1043F65B                 push    ecx
.text:1043F65C                 push    edi
.text:1043F65D                 push    ebx
.text:1043F65E                 lea     esi, [esp+78h+var_44]
.text:1043F662                 call    sub_1043EA30
.text:1043F667                 mov     edx, [ebx+158h]
.text:1043F66D                 push    edx
.text:1043F66E                 push    offset aD_1     ; "%d"
.text:1043F673                 add     edi, eax
.text:1043F675                 mov     eax, esi
.text:1043F677                 push    40h
.text:1043F679                 push    eax
.text:1043F67A                 call    sub_10434A10
.text:1043F67F                 mov     ecx, [ebp+0]
.text:1043F682                 add     ecx, edi
.text:1043F684                 push    ecx
.text:1043F685                 push    edi
.text:1043F686                 push    ebx
.text:1043F687                 mov     esi, offset aBlksize ; "blksize"
.text:1043F68C                 call    sub_1043EA30
.text:1043F691                 mov     edx, [ebp+0]
.text:1043F694                 add     edi, eax
.text:1043F696                 add     edx, edi
.text:1043F698                 push    edx
.text:1043F699                 push    edi
.text:1043F69A                 push    ebx
.text:1043F69B                 lea     esi, [esp+0A0h+var_44]
.text:1043F69F                 call    sub_1043EA30
.text:1043F6A4                 add     esp, 40h
.text:1043F6A7                 add     edi, eax
.text:1043F6A9                 mov     eax, [ebx+1Ch]
.text:1043F6AC                 push    eax
.text:1043F6AD                 push    offset aD_1     ; "%d"
.text:1043F6B2                 mov     ecx, esi
.text:1043F6B4                 push    40h
.text:1043F6B6                 push    ecx
.text:1043F6B7                 call    sub_10434A10
.text:1043F6BC                 mov     edx, [ebp+0]
.text:1043F6BF                 add     edx, edi
.text:1043F6C1                 push    edx
.text:1043F6C2                 push    edi
.text:1043F6C3                 push    ebx
.text:1043F6C4                 mov     esi, offset aTimeout_0 ; "timeout"
.text:1043F6C9                 call    sub_1043EA30
.text:1043F6CE                 add     edi, eax
.text:1043F6D0                 mov     eax, [ebp+0]
.text:1043F6D3                 add     eax, edi
.text:1043F6D5                 push    eax
.text:1043F6D6                 push    edi
.text:1043F6D7                 push    ebx
.text:1043F6D8                 lea     esi, [esp+88h+var_44]
.text:1043F6DC                 call    sub_1043EA30
.text:1043F6E1                 mov     ecx, [ebx+10h]
.text:1043F6E4                 add     esp, 28h
.text:1043F6E7                 add     edi, eax
.text:1043F6E9                 mov     eax, [ecx+38h]
.text:1043F6EC                 mov     edx, [eax+10h]
.text:1043F6EF                 mov     eax, [eax+18h]
.text:1043F6F2                 mov     ecx, [ebp+0]
.text:1043F6F5                 push    edx             ; tolen
.text:1043F6F6                 mov     edx, [ebx+14h]
.text:1043F6F9                 push    eax             ; to
.text:1043F6FA                 push    0               ; flags
.text:1043F6FC                 push    edi             ; len
.text:1043F6FD                 push    ecx             ; buf
.text:1043F6FE                 push    edx             ; s
.text:1043F6FF                 call    ds:sendto
.text:1043F705                 cmp     eax, edi
.text:1043F707                 jz      short loc_1043F72C
.text:1043F709                 call    ds:__imp_WSAGetLastError
.text:1043F70F                 push    eax
.text:1043F710                 mov     eax, [ebx+10h]
.text:1043F713                 push    eax
.text:1043F714                 call    sub_1044F4B0
.text:1043F719                 mov     ecx, [esp+68h+var_4C]
.text:1043F71D                 push    eax
.text:1043F71E                 push    offset aS_21    ; "%s"
.text:1043F723                 push    ecx
.text:1043F724                 call    sub_10433280
.text:1043F729                 add     esp, 14h
.text:1043F72C
.text:1043F72C loc_1043F72C:                           ; CODE XREF: sub_1043F4A0+267j
.text:1043F72C                 mov     edx, [esp+60h+var_48]
.text:1043F730                 push    edx
.text:1043F731                 call    sub_10428140
.text:1043F736                 mov     eax, [esp+64h+var_54]
.text:1043F73A                 add     esp, 4
.text:1043F73D                 pop     edi
.text:1043F73E                 pop     esi
.text:1043F73F                 pop     ebp
.text:1043F740                 mov     ecx, [esp+54h+var_4]
.text:1043F744                 xor     ecx, esp
.text:1043F746                 call    sub_10503847
.text:1043F74B                 add     esp, 54h
.text:1043F74E                 retn
.text:1043F74F ; ---------------------------------------------------------------------------
.text:1043F74F
.text:1043F74F loc_1043F74F:                           ; CODE XREF: sub_1043F4A0+48j
.text:1043F74F                                         ; DATA XREF: .text:off_1043F800o
.text:1043F74F                 cmp     dword ptr [esi+2C8h], 0 ; jumptable 1043F4E8 case 6
.text:1043F756                 push    6
.text:1043F758                 jz      short loc_1043F79E
.text:1043F75A                 mov     eax, ebx
.text:1043F75C                 call    sub_1043F420
.text:1043F761                 add     esp, 4
.text:1043F764                 pop     edi
.text:1043F765                 pop     esi
.text:1043F766                 mov     [esp+58h+var_54], eax
.text:1043F76A                 pop     ebp
.text:1043F76B                 mov     ecx, [esp+54h+var_4]
.text:1043F76F                 xor     ecx, esp
.text:1043F771                 call    sub_10503847
.text:1043F776                 add     esp, 54h
.text:1043F779                 retn
.text:1043F77A ; ---------------------------------------------------------------------------
.text:1043F77A
.text:1043F77A loc_1043F77A:                           ; CODE XREF: sub_1043F4A0+48j
.text:1043F77A                                         ; DATA XREF: .text:off_1043F800o
.text:1043F77A                 push    4               ; jumptable 1043F4E8 case 4
.text:1043F77C                 mov     eax, ebx
.text:1043F77E                 call    sub_1043F420
.text:1043F783                 add     esp, 4
.text:1043F786                 pop     edi
.text:1043F787                 pop     esi
.text:1043F788                 mov     [esp+58h+var_54], eax
.text:1043F78C                 pop     ebp
.text:1043F78D                 mov     ecx, [esp+54h+var_4]
.text:1043F791                 xor     ecx, esp
.text:1043F793                 call    sub_10503847
.text:1043F798                 add     esp, 54h
.text:1043F79B                 retn
.text:1043F79C ; ---------------------------------------------------------------------------
.text:1043F79C
.text:1043F79C loc_1043F79C:                           ; CODE XREF: sub_1043F4A0+48j
.text:1043F79C                                         ; DATA XREF: .text:off_1043F800o
.text:1043F79C                 push    3               ; jumptable 1043F4E8 case 3
.text:1043F79E
.text:1043F79E loc_1043F79E:                           ; CODE XREF: sub_1043F4A0+2B8j
.text:1043F79E                 mov     esi, ebx
.text:1043F7A0                 call    sub_1043F460
.text:1043F7A5                 add     esp, 4
.text:1043F7A8                 pop     edi
.text:1043F7A9                 pop     esi
.text:1043F7AA                 mov     [esp+58h+var_54], eax
.text:1043F7AE                 pop     ebp
.text:1043F7AF                 mov     ecx, [esp+54h+var_4]
.text:1043F7B3                 xor     ecx, esp
.text:1043F7B5                 call    sub_10503847
.text:1043F7BA                 add     esp, 54h
.text:1043F7BD                 retn
.text:1043F7BE ; ---------------------------------------------------------------------------
.text:1043F7BE
.text:1043F7BE loc_1043F7BE:                           ; CODE XREF: sub_1043F4A0+48j
.text:1043F7BE                                         ; DATA XREF: .text:off_1043F800o
.text:1043F7BE                 mov     eax, [esp+60h+var_54] ; jumptable 1043F4E8 case 5
.text:1043F7C2                 pop     edi
.text:1043F7C3                 pop     esi
.text:1043F7C4                 mov     dword ptr [ebx], 3
.text:1043F7CA                 pop     ebp
.text:1043F7CB                 mov     ecx, [esp+54h+var_4]
.text:1043F7CF                 xor     ecx, esp
.text:1043F7D1                 call    sub_10503847
.text:1043F7D6                 add     esp, 54h
.text:1043F7D9                 retn
.text:1043F7DA ; ---------------------------------------------------------------------------
.text:1043F7DA
.text:1043F7DA loc_1043F7DA:                           ; CODE XREF: sub_1043F4A0+42j
.text:1043F7DA                                         ; sub_1043F4A0+48j
.text:1043F7DA                                         ; DATA XREF: ...
.text:1043F7DA                 push    offset aTftp_send_firs ; default
.text:1043F7DA                                         ; jumptable 1043F4E8 cases 1,2
.text:1043F7DF                 push    esi
.text:1043F7E0                 call    sub_10433280
.text:1043F7E5                 mov     ecx, [esp+68h+var_4]
.text:1043F7E9                 mov     eax, [esp+68h+var_54]
.text:1043F7ED                 add     esp, 8
.text:1043F7F0                 pop     edi
.text:1043F7F1                 pop     esi
.text:1043F7F2                 pop     ebp
.text:1043F7F3                 xor     ecx, esp
.text:1043F7F5                 call    sub_10503847
.text:1043F7FA                 add     esp, 54h
.text:1043F7FD                 retn
.text:1043F7FD sub_1043F4A0    endp
.text:1043F7FD
.text:1043F7FD ; ---------------------------------------------------------------------------
.text:1043F7FE                 align 10h
.text:1043F800 off_1043F800    dd offset loc_1043F4EF  ; DATA XREF: sub_1043F4A0+48r
.text:1043F800                 dd offset loc_1043F7DA  ; jump table for switch statement
.text:1043F800                 dd offset loc_1043F7DA
.text:1043F800                 dd offset loc_1043F79C
.text:1043F800                 dd offset loc_1043F77A
.text:1043F800                 dd offset loc_1043F7BE
.text:1043F800                 dd offset loc_1043F74F
.text:1043F800                 dd offset loc_1043F4EF
.text:1043F820