Function at 0x403d20
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xc
push ebx
push esi
push edi
mov edi, ecx
cmp dword [edi + 0x18], 0x10
mov esi, eax
jb 0x403d3b
mov ebx, dword [edi + 4]
jmp 0x403d3e
lea ebx, [edi + 4]
call fcn.00403c90
mov ebx, dword [esi + 0xc]
lea eax, [ebx + 8]
cmp eax, dword [esi + 8]
jae 0x403d7a
mov ecx, dword [edi + 0x20]
mov edx, dword [edi + 0x24]
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], edx
call fcn.00403b60
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [ebx], ecx
add esp, 4
mov dword [ebx + 4], edx
add dword [esi + 0xc], 8
mov eax, dword [esi + 0xc]
add eax, 4
cmp eax, dword [esi + 8]
jae 0x403d98
mov eax, dword [edi + 0x28]
push eax
call dword [sym.imp.WS2_32.dll_htonl]
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
add dword [esi + 0xc], 4
mov ebx, dword [esi + 0xc]
lea edx, [ebx + 8]
cmp edx, dword [esi + 8]
jae 0x403dcf
mov eax, dword [edi + 0x30]
mov ecx, dword [edi + 0x34]
lea edx, [esp + 0x10]
push edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
call fcn.00403b60
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [ebx], eax
add esp, 4
mov dword [ebx + 4], ecx
add dword [esi + 0xc], 8
mov edx, dword [esi + 0xc]
mov ebx, dword [sym.imp.WS2_32.dll_htons]
add edx, 2
cmp edx, dword [esi + 8]
jae 0x403df4
movzx eax, word [edi + 0x38]
push eax
call ebx
mov ecx, dword [esi + 0xc]
movzx eax, ax
mov word [ecx], ax
add dword [esi + 0xc], 2
mov edx, dword [esi + 0xc]
add edx, 2
cmp edx, dword [esi + 8]
jae 0x403e13
movzx eax, word [edi + 0x3a]
push eax
call ebx
mov ecx, dword [esi + 0xc]
movzx eax, ax
mov word [ecx], ax
add dword [esi + 0xc], 2
mov edx, dword [esi + 0xc]
add edx, 2
cmp edx, dword [esi + 8]
jae 0x403e32
movzx eax, word [edi + 0x3c]
push eax
call ebx
mov ecx, dword [esi + 0xc]
movzx eax, ax
mov word [ecx], ax
add dword [esi + 0xc], 2
mov edx, dword [esi + 0xc]
add edx, 2
cmp edx, dword [esi + 8]
jae 0x403e51
movzx eax, word [edi + 0x3e]
push eax
call ebx
mov ecx, dword [esi + 0xc]
movzx eax, ax
mov word [ecx], ax
add dword [esi + 0xc], 2
mov edx, dword [esi + 0xc]
add edx, 2
cmp edx, dword [esi + 8]
jae 0x403e70
movzx eax, word [edi + 0x40]
push eax
call ebx
mov ecx, dword [esi + 0xc]
movzx eax, ax
mov word [ecx], ax
add dword [esi + 0xc], 2
mov edx, dword [esi + 0xc]
add edx, 2
cmp edx, dword [esi + 8]
jae 0x403e8f
movzx eax, word [edi + 0x42]
push eax
call ebx
mov ecx, dword [esi + 0xc]
movzx eax, ax
mov word [ecx], ax
add dword [esi + 0xc], 2
mov ebx, dword [esi + 0xc]
lea edx, [ebx + 8]
cmp edx, dword [esi + 8]
jae 0x403ec6
mov eax, dword [edi + 0x48]
mov ecx, dword [edi + 0x4c]
lea edx, [esp + 0x10]
push edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
call fcn.00403b60
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [ebx], eax
add esp, 4
mov dword [ebx + 4], ecx
add dword [esi + 0xc], 8
mov ebx, dword [esi + 0xc]
lea edx, [ebx + 8]
cmp edx, dword [esi + 8]
jae 0x403efd
mov eax, dword [edi + 0x50]
mov ecx, dword [edi + 0x54]
lea edx, [esp + 0x10]
push edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
call fcn.00403b60
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [ebx], eax
add esp, 4
mov dword [ebx + 4], ecx
add dword [esi + 0xc], 8
mov ebx, dword [esi + 0xc]
lea edx, [ebx + 8]
cmp edx, dword [esi + 8]
jae 0x403f34
mov eax, dword [edi + 0x58]
mov ecx, dword [edi + 0x5c]
lea edx, [esp + 0x10]
push edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
call fcn.00403b60
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [ebx], eax
add esp, 4
mov dword [ebx + 4], ecx
add dword [esi + 0xc], 8
cmp dword [edi + 0x78], 0x10
jb 0x403f4b
mov edi, dword [edi + 0x64]
mov ebx, edi
call fcn.00403c90
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
add edi, 0x64
mov ebx, edi
call fcn.00403c90
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret