Function at 0x401030
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x417f21
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4203c0]
xor eax, esp
push eax
lea eax, [esp + 0x30]
mov dword fs:[0], eax
mov ebx, ecx
xor edi, edi
mov dword [esp + 0x1c], edi
push 0x41d19e
lea esi, [esp + 0x24]
mov dword [ebx + 4], edi
mov dword [ebx + 8], edi
mov dword [ebx + 0xc], edi
mov dword [ebx + 0x10], edi
call fcn.00404000
mov dword [esp + 0x38], 1
mov eax, dword [esp + 0x44]
mov edx, 6
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], edi
cmp eax, edi
jne 0x4010f4
mov esi, dword [esp + 0x40]
mov ebp, dword [esp + 0x28]
mov dword [esi], vtable.CPureString.0
mov dword [esi + 4], edi
mov dword [esi + 8], edi
mov dword [esi + 0xc], edi
cmp ebp, edi
je 0x4010d5
lea ebx, [ebp + 1]
cmp ebx, edi
jle 0x4010be
push ebx
call fcn.004040b0
mov eax, dword [esi + 4]
push ebx
mov ebx, dword [esp + 0x28]
push ebx
push eax
call fcn.0040bce0
add esp, 0xc
mov dword [esi + 8], ebp
jmp 0x4010d9
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x1c], 1
mov byte [esp + 0x38], 0
cmp ebx, edi
je 0x40123b
push ebx
jmp 0x401233
mov ecx, dword [esp + 0x48]
mov dword [ebx + 4], eax
lea eax, [esp + 0x14]
mov dword [ebx + 8], ecx
push eax
lea ecx, [esp + 0x1c]
mov eax, ebx
mov dword [ebx + 0xc], edi
call fcn.004013a0
cmp dword [esp + 0x14], edi
mov ebp, dword [esp + 0x28]
mov edi, dword [esp + 0x24]
jle 0x4011b6
mov cl, byte [eax + str.ET5bwHVFnYBhKPU1RycjCZIG7_t6AzMD9ka4uWSivdLO3x2Qos0prelN8gmfJqX]
lea esi, [ebp + 2]
cmp esi, dword [esp + 0x2c]
mov byte [esp + 0x44], cl
mov dword [esp + 0x48], esi
jle 0x401187
fild dword [esp + 0x48]
fmul qword [0x41db00]
call fcn.00414c80
cmp eax, 1
jg 0x401153
mov eax, 1
add esi, eax
push esi
call fcn.0040a6a6
mov edx, dword [esp + 0x30]
push edx
push edi
push eax
mov dword [esp + 0x58], eax
call fcn.0040bce0
add esp, 0x10
test edi, edi
je 0x40117b
push edi
call fcn.0040a51b
add esp, 4
mov edi, dword [esp + 0x48]
mov dword [esp + 0x24], edi
mov dword [esp + 0x2c], esi
mov al, byte [esp + 0x44]
mov edx, dword [esp + 0x14]
mov byte [edi + ebp], al
lea ecx, [esp + 0x14]
inc ebp
push ecx
lea ecx, [esp + 0x1c]
mov eax, ebx
mov dword [esp + 0x2c], ebp
mov byte [edi + ebp], 0
call fcn.004013a0
cmp dword [esp + 0x14], 0
jg 0x401123
mov edx, ebp
and edx, reloc.WS2_32.dll_closesocket
jns 0x4011c5
dec edx
or edx, 0xfffffffc
inc edx
je 0x4011e8
lea esi, [esp + 0x20]
call fcn.00404130
mov ebp, dword [esp + 0x28]
mov eax, ebp
and eax, reloc.WS2_32.dll_closesocket
jns 0x4011e2
dec eax
or eax, 0xfffffffc
inc eax
jne 0x4011c7
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x40]
xor eax, eax
mov dword [esi], vtable.CPureString.0
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
cmp ebp, eax
je 0x401221
lea ebx, [ebp + 1]
cmp ebx, eax
jle 0x40120e
push ebx
call fcn.004040b0
mov ecx, dword [esi + 4]
push ebx
push edi
push ecx
call fcn.0040bce0
add esp, 0xc
mov dword [esi + 8], ebp
xor eax, eax
mov dword [esp + 0x1c], 1
mov byte [esp + 0x38], 0
cmp edi, eax
je 0x40123b
push edi
call fcn.0040a51b
add esp, 4
mov eax, esi
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 0xc