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