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

Disassembly:
sub esp, 0x104
push esi
mov esi, ecx
call fcn.0040d640
test eax, eax
jne 0x40d90a
pop esi
add esp, 0x104
ret
mov ecx, esi
call fcn.0040d8d0
test eax, eax
jne 0x40d91d
pop esi
add esp, 0x104
ret
xor eax, eax
xor edx, edx
mov dword [esp + 0x50], eax
mov dword [esp + 0x60], edx
mov dword [esp + 0x54], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov eax, 0x1b2
mov dword [esp + 0x64], edx
mov dword [esp + 0x80], edx
mov dword [esp + 0x9c], eax
mov dword [esp + 0xbc], eax
xor eax, eax
mov dword [esp + 0x84], edx
mov dword [esp + 0xa0], edx
mov dword [esp + 0xc0], eax
mov dword [esp + 0xa4], edx
mov dword [esp + 0xc4], eax
mov dword [esp + 0xb0], edx
mov dword [esp + 0xe0], eax
mov dword [esp + 0xb4], edx
mov dword [esp + 0xe4], eax
mov dword [esp + 0xd0], edx
mov dword [esp + 0x100], eax
mov dword [esp + 0xd4], edx
mov dword [esp + 0x104], eax
push ebx
mov ecx, 0x1b0
mov dword [esp + 0xf4], edx
mov eax, 0xe9
push ebp
mov ebp, dword [sym.imp.MSVCRT.dll_rand]
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 ecx, dword [esi + 4]
mov edx, dword [0x4106bc]
push 0xf0250
push 1
push 0x201
push ecx
call dword [edx + 0x7c]
mov eax, dword [esi + 4]
mov ecx, dword [0x4106bc]
push 0xf0250
push 0
push 0x202
push eax
call dword [ecx + 0x7c]
mov edx, dword [0x4106bc]
push 0x7d0
call dword [edx + 0x100]
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 [0x4106bc]
push edi
push 1
push 0x201
push edx
call dword [eax + 0x7c]
mov ecx, dword [0x4106bc]
push 0x64
call dword [ecx + 0x100]
mov edx, dword [esi + 4]
mov eax, dword [0x4106bc]
push edi
push 0
push 0x202
push edx
call dword [eax + 0x7c]
mov ecx, dword [0x4106bc]
push 0x64
call dword [ecx + 0x100]
dec ebx
jne 0x40db80
mov edx, dword [0x4106bc]
push 0xbb8
call dword [edx + 0x100]
call ebp
cdq
mov ecx, 6
xor edi, edi
idiv ecx
mov eax, dword [esi + 4]
mov ecx, dword [0x4106bc]
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 + 0x7c]
mov edx, dword [esi + 4]
mov eax, dword [0x4106bc]
push edi
push 0
push 0x202
push edx
call dword [eax + 0x7c]
mov ecx, dword [0x4106bc]
push 0x7d0
call dword [ecx + 0x100]
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 [0x4106bc]
push edi
push 1
push 0x201
push eax
call dword [ecx + 0x7c]
mov edx, dword [0x4106bc]
push 0x64
call dword [edx + 0x100]
mov eax, dword [esi + 4]
mov ecx, dword [0x4106bc]
push edi
push 0
push 0x202
push eax
call dword [ecx + 0x7c]
mov edx, dword [0x4106bc]
push 0x64
call dword [edx + 0x100]
dec ebx
jne 0x40dc52
mov eax, dword [0x4106bc]
push 0x7d0
call dword [eax + 0x100]
mov ecx, dword [esi + 4]
mov edx, dword [0x4106bc]
push ecx
call dword [edx + 0x5c]
test eax, eax
je 0x40dcce
mov eax, dword [esp + 0x10]
inc eax
cmp eax, 0x64
mov dword [esp + 0x10], eax
jl 0x40db18
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
add esp, 0x104
ret