Function at 0x40b2d0
Capabilities:
Access peb ldr_data
Get kernel32 base address
Get process heap flags

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x3c
mov eax, dword [0x42b110]
mov dword [ebp - 0x20], 0
test eax, eax
je 0x40b570
mov dword [esp + 0x10], 0
lea edi, [ebp - 0x20]
mov dword [esp + 0xc], 0
mov edx, dword fs:[0x18]
mov edx, dword [edx + 0x30]
mov edx, dword [edx + 0x18]
mov dword [esp + 4], 0
mov dword [esp], edi
mov dword [esp + 8], edx
call eax
sub esp, 0x14
mov ebx, eax
call fcn.0040f800
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0x7fc
mov eax, 1
cmp ebx, 0x57
je 0x40b354
mov ecx, dword [0x42b150]
test ecx, ecx
sete dl
xor eax, eax
cmp ebx, 0x32
sete al
and eax, edx
mov dword [esp], eax
mov dword [esp + 8], ebx
mov dword [esp + 4], str.got__lu_n
call fcn.00402000
mov dword [esp + 0x10], 2
mov dword [esp + 0xc], 0
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp + 4], 0
mov dword [esp + 8], eax
lea eax, [ebp - 0x20]
mov dword [esp], eax
call dword [0x42b110]
sub esp, 0x14
mov esi, eax
call fcn.0040f800
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0x7ff
xor eax, eax
test esi, esi
sete al
mov dword [esp + 8], esi
mov dword [esp + 4], str.got__lu_n
mov dword [esp], eax
call fcn.00402000
test esi, esi
je 0x40b470
mov eax, dword [ebp - 0x20]
mov ebx, dword fs:[0x18]
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov eax, dword [ebx + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapFree]
sub esp, 0xc
mov dword [esp + 0x10], 0x17
mov dword [esp + 0xc], 0
mov eax, dword [ebx + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp + 4], 0
mov dword [esp + 8], eax
lea eax, [ebp - 0x20]
mov dword [esp], eax
call dword [0x42b110]
sub esp, 0x14
mov ebx, eax
call fcn.0040f800
mov dword [eax], 0x4141a7
mov dword [eax + 4], 0x813
xor eax, eax
cmp ebx, 0x32
sete al
mov dword [esp + 8], ebx
mov dword [esp + 4], str.got__lu_n
mov dword [esp], eax
call fcn.00402000
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
cmp dword [0x412068], 1
jle 0x40b3d6
mov eax, 0x804
call fcn.00401820
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
mov dword [esp], str.AllocateAndGetTcpExTableFromStack_table:__lu_entries_n
mov dword [esp + 4], eax
call fcn.00401b30
mov eax, dword [ebp - 0x20]
mov edx, dword [eax]
test edx, edx
je 0x40b3d9
lea esi, [esi]
lea ebx, [esi + esi*2]
shl ebx, 3
mov eax, dword [eax + ebx + 0x10]
call fcn.00401340
mov dword [esp + 4], eax
lea eax, [ebp - 0x1c]
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll_strcpy]
call fcn.0040f800
mov dword [eax + 4], 0x80a
mov dword [eax], 0x4141a7
mov eax, dword [ebp - 0x20]
add eax, ebx
mov ecx, dword [eax + 0x18]
mov edi, dword [eax + 4]
movzx eax, word [eax + 0x14]
mov dword [ebp - 0x28], ecx
mov dword [esp], eax
call dword [sym.imp.ws2_32.dll_ntohs]
mov word [ebp - 0x22], ax
mov eax, dword [ebp - 0x20]
sub esp, 4
add eax, ebx
movzx eax, word [eax + 0xc]
mov dword [esp], eax
call dword [sym.imp.ws2_32.dll_ntohs]
add ebx, dword [ebp - 0x20]
mov word [ebp - 0x24], ax
mov eax, dword [ebx + 8]
sub esp, 4
call fcn.00401340
mov ecx, dword [ebp - 0x28]
mov dword [esp + 0x18], edi
lea edi, [ebp - 0x1c]
mov dword [esp + 0x1c], ecx
movzx edx, word [ebp - 0x22]
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], edx
movzx edi, word [ebp - 0x24]
mov dword [esp + 8], eax
mov dword [esp + 4], esi
add esi, 1
mov dword [esp + 0xc], edi
mov dword [esp], str._lu:_local__s:_u_remote__s:_u_state__lu_pid__lu_n
call fcn.00401b30
mov eax, dword [ebp - 0x20]
cmp esi, dword [eax]
jb 0x40b4b0
jmp 0x40b3d9
mov eax, 0x7ec
call fcn.00401820
mov dword [esp], str.AllocateAndGetTcpExTableFromStack_not_available_n
call fcn.00401fd0
jmp 0x40b45f