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

Disassembly:
push ebp
push edi
push esi
push ebx
mov ebx, ecx
sub esp, 0x5c
movsx eax, word [esp + 0x7c]
movsx ecx, word [esp + 0x78]
mov dword [esp + 0x28], eax
imul eax, dword [0x59ad30]
mov dword [esp + 0x2c], ecx
add eax, ecx
imul eax, eax, 0xe
add eax, dword [0x5b39d0]
cmp word [ebx + 0x6dd], 0
movzx eax, byte [eax + 0xc]
mov byte [esp + 0x1b], al
jle 0x416380
mov dword [esp + 0x24], 0
xor edi, edi
mov dword [esp + 0x3c], 0
mov dword [esp + 0x20], 0
jmp 0x416192
movsx eax, word [ebx + 0x6dd]
add edi, 1
cmp edi, eax
jge 0x416330
mov eax, dword [ebx + 0x6a1]
movsx eax, word [eax + edi*2]
test eax, eax
jle 0x416393
cmp eax, dword [0x5b504c]
jg 0x416393
sub eax, 1
imul eax, dword [0x5b5050]
mov edx, dword [0x5b5059]
mov edx, dword [edx + eax]
movzx eax, byte [esp + 0x1b]
cmp al, byte [edx + 0x29]
jne 0x416180
mov eax, dword [edx]
mov dword [esp + 0x14], edx
mov ecx, edx
call dword [eax + 0x90]
mov edx, dword [esp + 0x14]
movsx esi, word [eax + 0x14e]
mov dword [esp + 0x1c], eax
test esi, esi
je 0x416180
mov ecx, dword [esp + 0x1c]
lea eax, [esi + esi*2]
lea eax, [esi + eax*4 - 0xd]
lea ebp, [ecx + eax + 0x100]
mov eax, dword [esp + 0x28]
mov ecx, 0x5ba360
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 8], eax
movsx eax, word [edx + 0x27]
mov dword [esp + 4], eax
movsx eax, word [edx + 0x25]
mov dword [esp], eax
call fcn.00499d60
sub esp, 0x10
test esi, esi
jle 0x416180
imul eax, eax, 0x64
mov dword [esp + 0x38], edi
mov ecx, dword [0x5b6a8c]
mov edi, dword [esp + 0x70]
mov dword [esp + 0x30], eax
mov eax, dword [0x59ad30]
mov dword [esp + 0x34], eax
jmp 0x416264
sub ebp, 0xd
sub esi, 1
je 0x416310
movsx eax, byte [ebp + 2]
cmp eax, edi
jne 0x416258
mov eax, dword [esp + 0x74]
test eax, eax
je 0x416289
movsx eax, byte [ebp]
imul eax, eax, 0x84
movsx eax, byte [ecx + eax - 0x6e]
cmp dword [esp + 0x74], eax
jne 0x416258
fld dword [ebx + 0x72]
fstp dword [esp + 0x48]
fild word [ebp + 7]
fstp dword [esp + 0x4c]
fld dword [esp + 0x4c]
fld dword [esp + 0x48]
fcompi st(1)
fstp st(0)
jb 0x416258
movsx eax, byte [ebp + 3]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x30]
cdq
idiv dword [esp + 0x34]
mov edx, dword [esp + 0x14]
lea eax, [edx + eax - 0x64]
movzx edx, byte [ebx + 7]
mov dword [esp + 0x14], eax
movsx eax, byte [ebp]
imul eax, eax, 0x84
cmp byte [ecx + eax - 0x6e], dl
jne 0x4162db
add dword [esp + 0x14], 0x32
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
cmp edx, eax
jle 0x416258
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x24], esi
sub ebp, 0xd
mov dword [esp + 0x20], edx
movsx eax, word [eax + 7]
mov dword [esp + 0x3c], eax
sub esi, 1
jne 0x416264
lea esi, [esi]
nop
mov edi, dword [esp + 0x38]
movsx eax, word [ebx + 0x6dd]
add edi, 1
cmp edi, eax
jl 0x416192
lea esi, [esi]
lea esi, [esi]
mov esi, dword [esp + 0x24]
test esi, esi
je 0x416380
mov eax, dword [esp + 0x3c]
test eax, eax
jle 0x41638c
cmp dword [0x5b504c], eax
jl 0x41638c
sub eax, 1
imul eax, dword [0x5b5050]
mov edx, dword [0x5b5059]
mov ecx, dword [edx + eax]
mov eax, dword [ecx]
call dword [eax + 0x90]
mov dword [esp], esi
mov ecx, eax
call fcn.004479e0
sub esp, 4
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret 0x10
add esp, 0x5c
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret 0x10
mov eax, dword [pe_dos_header]
ud2
movzx eax, byte [0x29]
ud2