Function at 0x433e10
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x3c
push ebx
mov ebx, dword [esp + 0x48]
mov eax, dword [ebx + 0x10]
push ebp
push esi
push edi
push eax
call dword [sym.imp.WS2_32.dll_ntohl]
mov edi, eax
lea ecx, [edi - 1]
mov dword [esp + 0x14], edi
cmp ecx, 0xfe
ja 0x4341af
mov edx, dword [esp + 0x50]
mov ecx, dword [edx + 0x28]
mov ebp, dword [edx + 0x24]
imul ecx, ecx, 0x16c
add ecx, ebp
cmp ebp, ecx
jae 0x4341af
lea eax, [ebp + 0x18]
cmp dword [eax + 0xc], 0
je 0x433e80
mov esi, dword [eax]
cmp esi, dword [edx + 0x286c]
jne 0x433e80
mov si, word [eax + 4]
cmp si, word [edx + 0x2870]
jne 0x433e80
mov esi, dword [eax - 8]
cmp esi, dword [ebx + 0x28]
je 0x4341af
add eax, 0x16c
lea esi, [eax - 0x18]
cmp esi, ecx
jb 0x433e57
cmp ebp, ecx
jae 0x4341af
cmp dword [ebp + 0x24], 0
je 0x433ea4
add ebp, 0x16c
cmp ebp, ecx
jb 0x433e94
cmp ebp, ecx
jae 0x4341af
mov eax, dword [edx + 0x2c]
cmp edi, eax
jbe 0x433eb9
mov dword [esp + 0x14], eax
mov edi, eax
mov esi, edi
shl esi, 4
sub esi, edi
add esi, esi
add esi, esi
push esi
call dword [0x44a750]
mov edi, eax
add esp, 4
test edi, edi
jne 0x433eda
call dword [0x44a758]
mov dword [ebp + 0x28], edi
test edi, edi
je 0x4341af
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x50]
mov dword [ebp + 0x2c], ecx
mov dword [ebp + 0x24], 2
mov edx, dword [ebx + 0x28]
mov dword [ebp + 0x10], edx
mov ecx, dword [eax + 0x286c]
mov dword [ebp + 0x18], ecx
mov edx, dword [eax + 0x2870]
mov dword [ebp + 0x1c], edx
movzx eax, word [ebx + 4]
push eax
call dword [sym.imp.WS2_32.dll_ntohs]
mov edi, dword [sym.imp.WS2_32.dll_ntohl]
mov word [ebp + 0xc], ax
mov ecx, dword [ebx + 0x14]
push ecx
call edi
mov dword [ebp + 0x30], eax
mov edx, dword [ebx + 0x18]
push edx
call edi
mov dword [ebp + 0x34], eax
mov eax, dword [ebx + 0x1c]
push eax
call edi
mov dword [ebp + 0x84], eax
mov ecx, dword [ebx + 0x20]
push ecx
call edi
mov dword [ebp + 0x7c], eax
mov edx, dword [ebx + 0x24]
push edx
call edi
mov dword [ebp + 0x80], eax
mov eax, dword [ebx + 0x2c]
push eax
call edi
mov dword [ebp + 0x168], eax
mov al, byte [ebx + 6]
cmp al, 0xff
jne 0x433f6d
mov al, byte [ebp + 0x14]
inc al
and al, 3
mov byte [esp + 0x54], al
cmp al, byte [ebp + 0x14]
jne 0x433f82
inc al
and al, 3
mov byte [esp + 0x54], al
mov byte [ebp + 0x14], al
mov al, byte [ebx + 7]
cmp al, 0xff
jne 0x433f8f
mov al, byte [ebp + 0x15]
inc al
and al, 3
mov byte [esp + 0x13], al
cmp al, byte [ebp + 0x15]
jne 0x433fa4
inc al
and al, 3
mov byte [esp + 0x13], al
mov byte [ebp + 0x15], al
mov eax, dword [ebp + 0x28]
lea ecx, [eax + esi]
cmp eax, ecx
jae 0x433ff8
add eax, 0x38
xor edx, edx
mov dword [eax - 0x38], edx
mov dword [eax - 0x12], edx
lea ecx, [eax - 0xc]
mov dword [eax - 8], ecx
mov dword [ecx], ecx
lea ecx, [eax - 4]
mov dword [eax], ecx
mov dword [ecx], ecx
xor ecx, ecx
mov word [eax - 0x34], dx
mov dword [eax - 0x32], ecx
mov dword [eax - 0x2e], ecx
mov dword [eax - 0x2a], ecx
mov dword [eax - 0x26], ecx
mov dword [eax - 0x22], ecx
mov dword [eax - 0x1e], ecx
mov dword [eax - 0x1a], ecx
mov dword [eax - 0x16], ecx
mov ecx, dword [ebp + 0x28]
add eax, 0x3c
add ecx, esi
lea edx, [eax - 0x38]
cmp edx, ecx
jb 0x433fb4
mov eax, dword [ebx + 8]
push eax
call edi
cmp eax, 0x240
jae 0x43400c
mov eax, 0x240
jmp 0x434018
cmp eax, 0x1000
jbe 0x434018
mov eax, 0x1000
mov edx, dword [esp + 0x50]
mov dword [ebp + 0xa0], eax
mov eax, dword [edx + 0x10]
test eax, eax
jne 0x43403e
cmp dword [ebp + 0x30], eax
jne 0x43403a
mov dword [ebp + 0xa4], 0x8000
jmp 0x434060
test eax, eax
je 0x43404b
mov ecx, dword [ebp + 0x30]
test ecx, ecx
je 0x43404b
cmp eax, ecx
jb 0x434054
jmp 0x434052
mov ecx, dword [ebp + 0x30]
cmp eax, ecx
ja 0x434054
mov eax, ecx
shr eax, 0x10
shl eax, 0xc
mov dword [ebp + 0xa4], eax
mov eax, dword [ebp + 0xa4]
cmp eax, 0x1000
jae 0x434079
mov dword [ebp + 0xa4], 0x1000
jmp 0x43408a
cmp eax, 0x8000
jbe 0x43408a
mov dword [ebp + 0xa4], 0x8000
mov esi, dword [edx + 0xc]
test esi, esi
jne 0x434098
mov esi, 0x8000
jmp 0x43409e
shr esi, 0x10
shl esi, 0xc
mov ecx, dword [ebx + 0xc]
push ecx
call edi
cmp esi, eax
jbe 0x4340b0
mov edx, dword [ebx + 0xc]
push edx
call edi
mov esi, eax
cmp esi, 0x1000
jae 0x4340bf
mov esi, 0x1000
jmp 0x4340cc
cmp esi, 0x8000
jbe 0x4340cc
mov esi, 0x8000
movzx eax, word [ebp + 0xe]
mov edi, dword [sym.imp.WS2_32.dll_htons]
push eax
mov word [esp + 0x1c], 0xff83
call edi
mov cl, byte [esp + 0x54]
mov dl, byte [esp + 0x13]
mov word [esp + 0x1c], ax
movzx eax, word [ebp + 0xa0]
push eax
mov byte [esp + 0x22], cl
mov byte [esp + 0x23], dl
call edi
movzx ecx, ax
push esi
mov esi, dword [sym.imp.WS2_32.dll_htonl]
mov dword [esp + 0x24], ecx
call esi
mov edx, dword [esp + 0x14]
push edx
mov dword [esp + 0x28], eax
call esi
mov edi, dword [esp + 0x50]
mov dword [esp + 0x28], eax
mov eax, dword [edi + 0xc]
push eax
call esi
mov ecx, dword [edi + 0x10]
push ecx
mov dword [esp + 0x30], eax
call esi
mov edx, dword [ebp + 0x84]
push edx
mov dword [esp + 0x34], eax
call esi
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 0x7c]
push eax
call esi
mov ecx, dword [ebp + 0x80]
push ecx
mov dword [esp + 0x3c], eax
call esi
mov edx, dword [ebp + 0x10]
push 0x54
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], edx
call dword [0x44a750]
xor edx, edx
add esp, 4
cmp eax, edx
jne 0x434182
call dword [0x44a758]
mov eax, ebp
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret
lea edi, [eax + 0x20]
mov ecx, 0xc
lea esi, [esp + 0x18]
rep movsd dword es:[edi], dword [esi]
xor ecx, ecx
mov esi, eax
mov edi, ebp
mov dword [eax + 0x18], edx
mov word [eax + 0x1c], cx
mov dword [eax + 0x50], edx
call fcn.004358f0
mov eax, ebp
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x3c
ret