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

Disassembly:
mov eax, dword [esp + 4]
sub esp, 0x80
push esi
mov esi, ecx
push edi
push eax
mov edi, dword [esi + 0x18]
call dword [fcn.0041b48c]
add eax, edi
cmp eax, 0x3e
jbe 0x41608c
pop edi
xor eax, eax
pop esi
add esp, 0x80
ret 8
push ebx
lea ecx, [edi + 1]
push ebp
mov eax, 1
xor edx, edx
mov dword [esi + 0x18], ecx
call fcn.0041b1b0
lea ecx, [esp + 0x20]
xor ebx, ebx
push ecx
push ebx
mov ecx, esi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
call fcn.00415f60
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], ebx
xor ebp, ebp
lea edx, [esp + 0x94]
mov edi, ebx
push edx
call dword [fcn.0041b3c4]
mov ecx, dword [esp + 0x14]
mov ebx, eax
mov eax, ecx
add esp, 4
dec eax
je 0x416100
dec eax
je 0x4160f6
cmp bx, 0x5c
jne 0x41610c
mov dword [esp + 0x10], 1
jmp 0x4160c5
mov dword [esp + 0x10], 0
jmp 0x416108
mov dword [esp + 0x10], 2
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
xor edx, edx
cmp eax, edx
jne 0x41624b
cmp ecx, edx
jne 0x416198
mov eax, ebx
and eax, 0xffff
cmp eax, 0x2a
je 0x416175
cmp eax, 0x3f
je 0x416146
cmp eax, 0x5b
jne 0x416198
mov eax, 1
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], eax
jmp 0x416473
mov edi, dword [esi + 0x18]
mov eax, 1
xor edx, edx
lea ecx, [edi + 1]
call fcn.0041b1b0
mov dword [esp + 0x28], eax
lea eax, [esp + 0x28]
push eax
push edi
mov ecx, esi
mov dword [esp + 0x34], edx
call fcn.00415f60
inc dword [esi + 0x18]
jmp 0x416473
mov edi, dword [esi + 0x18]
mov eax, 1
mov ecx, edi
xor edx, edx
call fcn.0041b1b0
lea ecx, [esp + 0x30]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], edx
push ecx
jmp 0x41646b
cmp bx, dx
jne 0x4161ab
cmp ecx, edx
jne 0x4161ab
cmp di, 0x2a
je 0x416473
mov eax, dword [esp + 0x98]
mov ecx, dword [esi + 0x18]
cmp eax, edx
jne 0x4161e4
inc ecx
mov eax, 1
xor edx, edx
call fcn.0041b1b0
mov dword [esp + 0x3c], edx
lea edx, [esp + 0x38]
push edx
push ebx
push ebp
mov ecx, esi
mov dword [esp + 0x44], eax
call fcn.00415e80
inc dword [esi + 0x18]
jmp 0x416473
inc ecx
mov eax, 1
xor edx, edx
call fcn.0041b1b0
mov dword [esp + 0x40], eax
mov edi, ebx
lea eax, [esp + 0x40]
and edi, 0xffff
push eax
push edi
mov dword [esp + 0x4c], edx
call dword [fcn.0041b464]
push eax
push ebp
mov ecx, esi
call fcn.00415e80
mov ecx, dword [esi + 0x18]
mov eax, 1
inc ecx
xor edx, edx
call fcn.0041b1b0
lea ecx, [esp + 0x48]
mov dword [esp + 0x48], eax
push ecx
push edi
mov dword [esp + 0x54], edx
call dword [fcn.0041b4f4]
push eax
push ebp
mov ecx, esi
call fcn.00415e80
inc dword [esi + 0x18]
jmp 0x416473
mov eax, dword [esp + 0x14]
cmp eax, 1
jne 0x416282
cmp bx, 0x5e
mov dword [esp + 0x14], 2
mov dword [esp + 0x20], edx
je 0x416270
cmp bx, 0x21
jne 0x41636c
cmp ecx, edx
jne 0x41636c
mov ebp, 1
jmp 0x416473
cmp eax, 3
jne 0x41636c
mov edi, dword [esp + 0x18]
cmp di, bx
ja 0x416336
and edi, 0xffff
mov eax, dword [esp + 0x98]
mov ecx, dword [esi + 0x18]
test eax, eax
jne 0x4162cc
inc ecx
mov eax, 1
xor edx, edx
call fcn.0041b1b0
mov dword [esp + 0x54], edx
lea edx, [esp + 0x50]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x18]
push edx
jmp 0x41631a
inc ecx
mov eax, 1
xor edx, edx
call fcn.0041b1b0
lea ecx, [esp + 0x58]
mov dword [esp + 0x58], eax
push ecx
push edi
mov dword [esp + 0x64], edx
call dword [fcn.0041b464]
push eax
push ebp
mov ecx, esi
call fcn.00415e80
mov ecx, dword [esi + 0x18]
mov eax, 1
inc ecx
xor edx, edx
call fcn.0041b1b0
mov dword [esp + 0x64], edx
lea edx, [esp + 0x60]
push edx
push edi
mov dword [esp + 0x68], eax
call dword [fcn.0041b4f4]
push eax
push ebp
mov ecx, esi
call fcn.00415e80
mov eax, dword [esp + 0x18]
inc eax
inc edi
cmp ax, bx
mov dword [esp + 0x18], eax
jbe 0x41629e
cmp ebp, 1
jne 0x41635f
mov edi, dword [esi + 0x18]
mov eax, ebp
xor edx, edx
lea ecx, [edi + 1]
call fcn.0041b1b0
mov dword [esp + 0x68], eax
lea eax, [esp + 0x68]
push eax
push edi
mov ecx, esi
mov dword [esp + 0x74], edx
call fcn.00415f60
mov dword [esp + 0x14], 2
jmp 0x416473
cmp bx, 0x5d
jne 0x416388
cmp ecx, edx
jne 0x4163a7
mov eax, dword [esi + 0x18]
xor ebp, ebp
inc eax
mov dword [esp + 0x1c], edx
mov dword [esi + 0x18], eax
jmp 0x4160c5
cmp bx, 0x2d
jne 0x4163a7
cmp ecx, edx
jne 0x4163a7
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x14], 3
mov dword [esp + 0x18], ecx
jmp 0x4160c5
mov eax, dword [esp + 0x98]
mov ecx, dword [esi + 0x18]
cmp eax, edx
mov dword [esp + 0x20], ebx
jne 0x4163d6
inc ecx
mov eax, 1
xor edx, edx
call fcn.0041b1b0
mov dword [esp + 0x74], edx
lea edx, [esp + 0x70]
push edx
mov dword [esp + 0x74], eax
push ebx
jmp 0x416439
inc ecx
mov eax, 1
xor edx, edx
call fcn.0041b1b0
mov dword [esp + 0x78], eax
mov edi, ebx
lea eax, [esp + 0x78]
and edi, 0xffff
push eax
push edi
mov dword [esp + 0x84], edx
call dword [fcn.0041b464]
push eax
push ebp
mov ecx, esi
call fcn.00415e80
mov ecx, dword [esi + 0x18]
mov eax, 1
inc ecx
xor edx, edx
call fcn.0041b1b0
lea ecx, [esp + 0x80]
mov dword [esp + 0x80], eax
push ecx
push edi
mov dword [esp + 0x8c], edx
call dword [fcn.0041b4f4]
push eax
push ebp
mov ecx, esi
call fcn.00415e80
cmp ebp, 1
jne 0x416473
mov edi, dword [esi + 0x18]
mov eax, ebp
xor edx, edx
lea ecx, [edi + 1]
call fcn.0041b1b0
mov dword [esp + 0x8c], edx
lea edx, [esp + 0x88]
mov dword [esp + 0x88], eax
push edx
push edi
mov ecx, esi
call fcn.00415f60
test bx, bx
jne 0x4160c5
mov ecx, dword [esi + 0x18]
mov eax, 1
xor edx, edx
call fcn.0041b1b0
mov ecx, dword [esi + 0x10]
pop ebp
or ecx, eax
pop ebx
mov dword [esi + 0x10], ecx
mov eax, dword [esi + 0x14]
or eax, edx
pop edi
mov dword [esi + 0x14], eax
mov eax, 1
pop esi
add esp, 0x80
ret 8