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

Disassembly:
sub esp, 0x104
xor eax, eax
xor edx, edx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x5c], edx
mov dword [esp + 0x50], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], eax
mov eax, 0x1b2
mov dword [esp + 0x60], edx
mov dword [esp + 0x7c], edx
mov dword [esp + 0x98], eax
mov dword [esp + 0xb8], eax
xor eax, eax
mov dword [esp + 0x80], edx
mov dword [esp + 0x9c], edx
mov dword [esp + 0xbc], eax
mov dword [esp + 0xa0], edx
mov dword [esp + 0xc0], eax
mov dword [esp + 0xac], edx
mov dword [esp + 0xdc], eax
push ebx
push ebp
mov dword [esp + 0xb8], edx
mov dword [esp + 0xe8], eax
push esi
mov dword [esp + 0xd8], edx
mov dword [esp + 0x108], eax
mov esi, ecx
mov dword [esp + 0xdc], edx
mov dword [esp + 0x10c], eax
mov ecx, 0x1b0
mov dword [esp + 0xf8], edx
mov eax, 0xe9
push edi
mov dword [esp + 0x68], ecx
mov dword [esp + 0x100], edx
mov dword [esp + 0x108], ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x30], eax
mov ebx, 0x2a
mov edi, 0x56
mov edx, 0x86
mov ecx, 0xb6
mov eax, 0xf2
mov dword [esp + 0x54], 0x14e
mov dword [esp + 0x58], 0x127
mov dword [esp + 0x64], 0x4f
mov dword [esp + 0x74], 0x2a6
mov dword [esp + 0x78], 0x10f
mov dword [esp + 0x84], 0xfa
mov dword [esp + 0x88], 0x1b1
mov dword [esp + 0x94], 0x14b
mov dword [esp + 0x98], 0x199
mov dword [esp + 0xa4], 0x3c
mov dword [esp + 0xb4], 0x2ad
mov dword [esp + 0xb8], 0x1a2
mov dword [esp + 0xc4], 0x59
mov dword [esp + 0xd4], 0x147
mov dword [esp + 0xd8], 0x22e
mov dword [esp + 0xe4], 0x4d
mov dword [esp + 0xe8], 0x1b4
mov dword [esp + 0xf4], 0x29b
mov dword [esp + 0xf8], 0x226
mov dword [esp + 0x104], 0x64
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x24], edx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], eax
mov dword [esp + 0x10], 0
mov ebp, dword [sym.imp.MSVCRT.dll_rand]
mov ecx, dword [esi + 4]
mov edx, dword [0x41066c]
push 0xf0250
push 1
push 0x201
push ecx
call dword [edx + 0x80]
mov eax, dword [esi + 4]
mov ecx, dword [0x41066c]
push 0xf0250
push 0
push 0x202
push eax
call dword [ecx + 0x80]
mov edx, dword [0x41066c]
push 0xbb8
call dword [edx + 0x104]
call ebp
and eax, 7
xor edi, edi
and eax, 0xffff
xor ecx, ecx
shl eax, 3
mov ebx, 2
mov di, word [esp + eax + 0x18]
mov cx, word [esp + eax + 0x14]
shl edi, 0x10
or edi, ecx
mov edx, dword [esi + 4]
mov eax, dword [0x41066c]
push edi
push 1
push 0x201
push edx
call dword [eax + 0x80]
mov ecx, dword [0x41066c]
push 0x64
call dword [ecx + 0x104]
mov edx, dword [esi + 4]
mov eax, dword [0x41066c]
push edi
push 0
push 0x202
push edx
call dword [eax + 0x80]
mov ecx, dword [0x41066c]
push 0x64
call dword [ecx + 0x104]
dec ebx
jne 0x40d02f
mov edx, dword [0x41066c]
push 0xbb8
call dword [edx + 0x104]
call ebp
cdq
mov ecx, 6
xor edi, edi
idiv ecx
mov eax, dword [esi + 4]
mov ecx, dword [0x41066c]
and edx, 0xffff
shl edx, 5
mov ebx, edx
xor edx, edx
mov di, word [esp + ebx + 0x58]
mov dx, word [esp + ebx + 0x54]
shl edi, 0x10
or edi, edx
push edi
push 1
push 0x201
push eax
call dword [ecx + 0x80]
mov edx, dword [esi + 4]
mov eax, dword [0x41066c]
push edi
push 0
push 0x202
push edx
call dword [eax + 0x80]
mov ecx, dword [0x41066c]
push 0x7d0
call dword [ecx + 0x104]
xor edi, edi
xor edx, edx
mov di, word [esp + ebx + 0x68]
mov dx, word [esp + ebx + 0x64]
shl edi, 0x10
or edi, edx
mov ebx, 3
mov eax, dword [esi + 4]
mov ecx, dword [0x41066c]
push edi
push 1
push 0x201
push eax
call dword [ecx + 0x80]
mov edx, dword [0x41066c]
push 0x64
call dword [edx + 0x104]
mov eax, dword [esi + 4]
mov ecx, dword [0x41066c]
push edi
push 0
push 0x202
push eax
call dword [ecx + 0x80]
mov edx, dword [0x41066c]
push 0x64
call dword [edx + 0x104]
dec ebx
jne 0x40d10d
mov eax, dword [0x41066c]
push 0x7d0
call dword [eax + 0x104]
mov ecx, dword [esi + 4]
mov edx, dword [0x41066c]
push ecx
call dword [edx + 0x60]
test eax, eax
je 0x40d18f
mov eax, dword [esp + 0x10]
inc eax
cmp eax, 0x64
mov dword [esp + 0x10], eax
jl 0x40cfc1
cmp dword [esp + 0x10], 0x64
jne 0x40d1a3
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x104
ret
mov ecx, esi
call fcn.0040d1c0
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x104
ret