Function at 0x403b50
Capabilities:
Access peb ldr_data

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x40b9ed
push eax
mov eax, 0x1d88
mov dword fs:[0], esp
call fcn.0040b3b0
push ebx
push esi
mov esi, ecx
push edi
lea ecx, [esp + 0xc]
call sub.MFC42.DLL_CString::CString
lea eax, [esp + 0x20]
xor ebx, ebx
push eax
mov ecx, esi
mov dword [esp + 0x1da0], ebx
call fcn.00404270
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x1da0], 1
call sub.MFC42.DLL_CString::operator_1
lea ecx, [esp + 0x20]
mov byte [esp + 0x1d9c], bl
call fcn.0040b142
lea ecx, [esp + 0x24]
lea edx, [esp + 0x28]
push ecx
lea eax, [esp + 0x18]
push edx
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x24]
push eax
push ecx
push edx
mov ecx, esi
mov dword [esp + 0x30], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x38], ebx
call fcn.00403a20
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x20]
push ecx
push edx
push eax
lea ecx, [esp + 0x20]
push str._d__d__d__d
push ecx
mov byte [esp + 0x1db4], 2
call sub.MFC42.DLL_CString::Format
add esp, 0x18
lea ecx, [esp + 0x2c]
push ebx
call fcn.00405d20
push ebx
lea ecx, [esp + 0xee4]
mov byte [esp + 0x1da0], 3
call fcn.00405d20
lea edx, [esp + 0x2c]
push 0x50
push edx
mov ecx, esi
mov byte [esp + 0x1da4], 4
call fcn.00402dc0
mov al, byte [esp + 0x1c]
mov cl, byte [esp + 0x14]
mov byte [esp + 0x138], 1
mov byte [esp + 0x139], 1
mov byte [esp + 0x13a], al
lea edx, [esp + 0xee0]
lea eax, [esp + 0x2c]
mov byte [esp + 0x13b], cl
push edx
push eax
mov ecx, esi
mov byte [esp + 0x144], bl
mov byte [esp + 0x145], bl
call fcn.00402de0
mov ecx, dword [esi + 0x5e4]
mov edi, eax
push ecx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x403cfe
lea ecx, [esp + 0xee0]
mov byte [esp + 0x1d9c], 3
call fcn.00405f90
lea ecx, [esp + 0x2c]
mov byte [esp + 0x1d9c], 2
call fcn.00405f90
lea ecx, [esp + 0x10]
mov byte [esp + 0x1d9c], bl
call fcn.0040b142
lea ecx, [esp + 0xc]
mov dword [esp + 0x1d9c], 0xffffffff
call fcn.0040b142
mov eax, 0xfffffffe
jmp 0x404048
cmp edi, ebx
jne 0x403d53
lea ecx, [esp + 0xee0]
mov byte [esp + 0x1d9c], 3
call fcn.00405f90
lea ecx, [esp + 0x2c]
mov byte [esp + 0x1d9c], 2
call fcn.00405f90
lea ecx, [esp + 0x10]
mov byte [esp + 0x1d9c], bl
call fcn.0040b142
lea ecx, [esp + 0xc]
mov dword [esp + 0x1d9c], 0xffffffff
call fcn.0040b142
or eax, 0xffffffff
jmp 0x404048
cmp word [esp + 0xf3c], 0x50
je 0x403e63
lea ecx, [esp + 0x20]
lea esi, [esp + 0xf04]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x18]
mov byte [esp + 0x1d9c], 5
call sub.MFC42.DLL_CString::CString
mov byte [esp + 0x1d9c], 6
mov edi, 0xbc
xor eax, eax
lea edx, [esp + 0x18]
mov al, byte [esi]
inc esi
push eax
push str._02x
push edx
call sub.MFC42.DLL_CString::Format
add esp, 0xc
lea eax, [esp + 0x18]
lea ecx, [esp + 0x20]
push eax
call fcn.0040b220
dec edi
jne 0x403d90
lea esi, [esp + 0xee0]
mov edi, 0xeb4
xor eax, eax
lea ecx, [esp + 0x18]
mov al, byte [esi]
inc esi
push eax
push str._02x
push ecx
call sub.MFC42.DLL_CString::Format
add esp, 0xc
lea edx, [esp + 0x18]
lea ecx, [esp + 0x20]
push edx
call fcn.0040b220
dec edi
jne 0x403dc5
lea ecx, [esp + 0x18]
mov byte [esp + 0x1d9c], 5
call fcn.0040b142
lea ecx, [esp + 0x20]
mov byte [esp + 0x1d9c], 4
call fcn.0040b142
lea ecx, [esp + 0xee0]
mov byte [esp + 0x1d9c], 3
call fcn.00405f90
lea ecx, [esp + 0x2c]
mov byte [esp + 0x1d9c], 2
call fcn.00405f90
lea ecx, [esp + 0x10]
mov byte [esp + 0x1d9c], bl
call fcn.0040b142
lea ecx, [esp + 0xc]
mov dword [esp + 0x1d9c], 0xffffffff
call fcn.0040b142
mov eax, 1
jmp 0x404048
mov al, byte [esp + 0x1218]
cmp al, 6
je 0x403fd3
cmp al, 2
je 0x403fd3
cmp al, 0xf
jne 0x403efa
mov ecx, esi
call fcn.00403080
test eax, eax
je 0x403ea7
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov dword [esi + 0x5e8], 1
mov dword [esi + 0x5ec], eax
mov dword [esi + 0x5f0], ecx
lea ecx, [esp + 0xee0]
mov byte [esp + 0x1d9c], 3
call fcn.00405f90
lea ecx, [esp + 0x2c]
mov byte [esp + 0x1d9c], 2
call fcn.00405f90
lea ecx, [esp + 0x10]
mov byte [esp + 0x1d9c], bl
call fcn.0040b142
lea ecx, [esp + 0xc]
mov dword [esp + 0x1d9c], 0xffffffff
call fcn.0040b142
mov eax, 0xf
jmp 0x404048
cmp al, 4
jne 0x403f51
lea ecx, [esp + 0xee0]
mov byte [esp + 0x1d9c], 3
call fcn.00405f90
lea ecx, [esp + 0x2c]
mov byte [esp + 0x1d9c], 2
call fcn.00405f90
lea ecx, [esp + 0x10]
mov byte [esp + 0x1d9c], bl
call fcn.0040b142
lea ecx, [esp + 0xc]
mov dword [esp + 0x1d9c], 0xffffffff
call fcn.0040b142
mov eax, 4
jmp 0x404048
cmp al, 3
jne 0x403fce
mov ecx, esi
call fcn.00403080
test eax, eax
je 0x403f7e
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
mov dword [esi + 0x5e8], 1
mov dword [esi + 0x5ec], edx
mov dword [esi + 0x5f0], eax
lea ecx, [esp + 0xee0]
mov byte [esp + 0x1d9c], 3
call fcn.00405f90
lea ecx, [esp + 0x2c]
mov byte [esp + 0x1d9c], 2
call fcn.00405f90
lea ecx, [esp + 0x10]
mov byte [esp + 0x1d9c], bl
call fcn.0040b142
lea ecx, [esp + 0xc]
mov dword [esp + 0x1d9c], 0xffffffff
call fcn.0040b142
mov eax, 3
jmp 0x404048
movsx esi, al
jmp 0x403ffd
mov ecx, dword [esp + 0x12a8]
push ecx
call sub.WSOCK32.dll_htons
mov edx, dword [esp + 0x12a4]
mov ecx, esi
mov word [esi + 0x5d6], ax
mov dword [esi + 0x5d8], edx
call fcn.00403b50
mov esi, eax
lea ecx, [esp + 0xee0]
mov byte [esp + 0x1d9c], 3
call fcn.00405f90
lea ecx, [esp + 0x2c]
mov byte [esp + 0x1d9c], 2
call fcn.00405f90
lea ecx, [esp + 0x10]
mov byte [esp + 0x1d9c], bl
call fcn.0040b142
lea ecx, [esp + 0xc]
mov dword [esp + 0x1d9c], 0xffffffff
call fcn.0040b142
mov eax, esi
mov ecx, dword [esp + 0x1d94]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x1d94
ret