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

Disassembly:
call fcn.00432fd0
cmp dword [eax + 8], 9
je 0x4a7d16
call fcn.00432fd0
cmp dword [eax + 8], 0xa
jne 0x4a7d3d
call fcn.00464ae0
call fcn.004655a0
test al, al
jne 0x4a7d3d
call fcn.005056d0
push eax
call fcn.00506950
call fcn.00506e30
mov dword [esp + 4], eax
jmp 0x508e40
call fcn.005056d0
call fcn.00506520
ret 4
sub esp, 0x34
push ebx
mov ebx, dword [esp + 0x3c]
mov eax, dword [ebx + 4]
test eax, eax
je 0x5092d4
movzx edx, byte [ebx + 0x14]
xor al, al
test edx, edx
jbe 0x5092d4
mov ecx, dword [ebx + 0x10]
add al, byte [ecx]
add ecx, 2
dec edx
jne 0x508e64
test al, al
jbe 0x5092d4
mov eax, dword [0x65ef24]
mov ecx, dword [eax]
mov edx, dword [ecx]
push esi
push 0
call dword [edx + 0x3c]
mov ecx, dword [0x65ef1c]
mov eax, dword [ecx]
call dword [eax + 0xfc]
mov ecx, dword [0x65ef1c]
mov edx, dword [ecx]
mov byte [esp + 0xb], al
call dword [edx + 0xf4]
mov esi, eax
mov al, byte [esp + 0xb]
test al, al
mov dword [esp + 0x28], esi
je 0x508ec1
mov ecx, dword [0x65ef1c]
mov eax, dword [ecx]
push 0
call dword [eax + 0xf8]
cmp esi, 1
je 0x508ed6
mov ecx, dword [0x65ef1c]
mov edx, dword [ecx]
push 1
call dword [edx + 0xf0]
mov eax, dword [0x65ef24]
mov ecx, dword [eax]
mov edx, dword [ecx]
push ebp
push edi
push 0
call dword [edx + 0x34]
mov ecx, dword [0x65ef24]
push 0x3f800000
push 0x3dcccccd
push 0x3dcccccd
call fcn.00574800
mov ecx, dword [0x65ef1c]
mov eax, dword [ecx]
push 1
call dword [eax + 0x58]
mov ecx, dword [0x65ef1c]
mov edx, dword [ecx]
lea eax, [esp + 0x34]
push eax
call dword [edx + 0x90]
mov ecx, dword [0x65ef1c]
mov edx, dword [ecx]
or eax, 0xffffffff
push eax
call dword [edx + 0x8c]
call fcn.0042f6c0
mov edi, dword [eax + 0x18]
mov eax, dword [edi]
push 2
push 0x444d4c42
mov ecx, edi
mov dword [esp + 0x34], edi
call dword [eax + 0x18]
mov edx, dword [edi]
push 0
push 0x54494c
mov ecx, edi
call dword [edx + 0x18]
mov eax, dword [edi]
push 1
push 0x54535441
mov ecx, edi
call dword [eax + 0x18]
mov edx, dword [edi]
push 0
push 0x444d4853
mov ecx, edi
call dword [edx + 0x18]
mov al, byte [ebx + 0x14]
xor ebp, ebp
test al, al
mov dword [esp + 0x24], ebp
jbe 0x509268
jmp 0x508f90
mov eax, dword [ebx + 0x10]
cmp word [eax + ebp*2], 0
jbe 0x509257
mov eax, dword [ebx + 4]
mov ecx, dword [eax + ebp*4]
mov eax, dword [ecx + 0x10]
mov edx, dword [edi]
push eax
push 0x584554
mov ecx, edi
call dword [edx + 0x14]
mov eax, dword [ebx + 0x10]
movzx eax, word [eax + ebp*2]
mov ecx, dword [0x65ef1c]
mov edx, dword [ecx]
push 0
lea eax, [eax + eax*2]
shl eax, 1
push eax
push 0x2021
push 0
push edi
call dword [edx + 0x78]
mov esi, eax
xor eax, eax
cmp word [ebx + 8], ax
mov dword [esp + 0x28], eax
jbe 0x509247
mov dword [esp + 0x20], eax
lea esp, [esp]
mov ebp, dword [ebx]
mov edx, dword [esp + 0x20]
mov eax, dword [ebp + edx + 0x28]
add ebp, edx
test al, 1
je 0x509223
test al, 2
je 0x509223
mov ecx, dword [esp + 0x24]
shr eax, 2
and eax, 0xf
cmp eax, ecx
jne 0x509223
fld dword [ebp + 0x20]
fld dword [0x617dac]
fmul st(1)
fld dword [0x618078]
fsubr st(1)
call fcn.005c956c
test eax, eax
jl 0x509045
cmp eax, 0xff
jg 0x50904c
mov edi, eax
jmp 0x509055
cmp eax, 0xff
jle 0x509053
mov edi, 0xff
jmp 0x509055
xor edi, edi
call fcn.005c956c
test eax, eax
jl 0x509069
cmp eax, 0xff
jg 0x509070
mov ecx, eax
jmp 0x509079
cmp eax, 0xff
jle 0x509077
mov ecx, 0xff
jmp 0x509079
xor ecx, ecx
test eax, eax
jl 0x509086
cmp eax, 0xff
jg 0x50908d
jmp 0x509096
cmp eax, 0xff
jle 0x509094
mov eax, 0xff
jmp 0x509096
xor eax, eax
fmul dword [ebp + 0x18]
mov edx, dword [ebp + 4]
or eax, 0xffffff00
shl eax, 8
fstp dword [esp + 0x14]
or eax, ecx
mov ecx, dword [ebp]
mov dword [esp + 0x38], ecx
fld dword [esp + 0x38]
fmul dword [0x617e64]
mov dword [esp + 0x3c], edx
mov edx, dword [esi]
shl eax, 8
fstp dword [esp + 0x38]
or eax, edi
fld dword [esp + 0x3c]
mov edi, eax
fmul dword [0x617e64]
mov eax, dword [ebp + 8]
mov dword [esp + 0x40], eax
push 0
fstp dword [esp + 0x40]
push edi
fld dword [esp + 0x48]
mov ecx, esi
fmul dword [0x617e64]
fstp dword [esp + 0x48]
call dword [edx + 0x10]
mov eax, dword [esi]
push 0
push 0
push 0
mov ecx, esi
call dword [eax + 0x14]
fld dword [esp + 0x3c]
fsub dword [esp + 0x14]
mov ebp, dword [esp + 0x40]
mov edx, dword [esi]
push ebp
fstp dword [esp + 0x20]
mov ecx, esi
fld dword [esp + 0x3c]
mov ebx, dword [esp + 0x20]
fsub dword [esp + 0x18]
push ebx
fstp dword [esp + 0x20]
mov eax, dword [esp + 0x20]
push eax
call dword [edx]
mov edx, dword [esi]
push 0
push edi
mov ecx, esi
call dword [edx + 0x10]
mov eax, dword [esi]
push 0
push 0
push 0x3f800000
mov ecx, esi
call dword [eax + 0x14]
fld dword [esp + 0x38]
fadd dword [esp + 0x14]
mov edx, dword [esi]
push ebp
push ebx
fstp dword [esp + 0x24]
mov ecx, esi
mov eax, dword [esp + 0x24]
push eax
call dword [edx]
mov edx, dword [esi]
push 0
push edi
mov ecx, esi
call dword [edx + 0x10]
mov eax, dword [esi]
push 0
push 0x3f800000
push 0
mov ecx, esi
call dword [eax + 0x14]
fld dword [esp + 0x3c]
mov ecx, dword [esp + 0x18]
fadd dword [esp + 0x14]
mov edx, dword [esi]
push ebp
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x18]
push eax
push ecx
mov ecx, esi
call dword [edx]
mov edx, dword [esi]
push 0
push edi
mov ecx, esi
call dword [edx + 0x10]
mov eax, dword [esi]
push 0
push 0x3f800000
push 0x3f800000
mov ecx, esi
call dword [eax + 0x14]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esi]
push ebp
push eax
push ecx
mov ecx, esi
call dword [edx]
mov edx, dword [esi]
push 0
push edi
mov ecx, esi
call dword [edx + 0x10]
mov eax, dword [esi]
push 0
push 0x3f800000
push 0
mov ecx, esi
call dword [eax + 0x14]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esi]
push ebp
push eax
push ecx
mov ecx, esi
call dword [edx]
mov edx, dword [esi]
push 0
push edi
mov ecx, esi
call dword [edx + 0x10]
mov eax, dword [esi]
push 0
push 0
push 0x3f800000
mov ecx, esi
call dword [eax + 0x14]
mov eax, dword [esp + 0x1c]
mov edx, dword [esi]
push ebp
push ebx
push eax
mov ecx, esi
call dword [edx]
mov ebx, dword [esp + 0x48]
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
mov ebp, dword [esp + 0x20]
movzx ecx, word [ebx + 8]
inc eax
add ebp, 0x2c
cmp eax, ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x20], ebp
jl 0x508ff0
mov ebp, dword [esp + 0x24]
mov ecx, dword [0x65ef1c]
mov edx, dword [ecx]
push esi
call dword [edx + 0x7c]
mov esi, dword [esp + 0x30]
movzx eax, byte [ebx + 0x14]
inc ebp
cmp ebp, eax
mov dword [esp + 0x24], ebp
jb 0x508f90
mov edx, dword [edi]
push 0
push 0x584554
mov ecx, edi
call dword [edx + 0x14]
mov ecx, dword [0x65ef1c]
mov eax, dword [ecx]
push 0
call dword [eax + 0x58]
mov ecx, dword [0x65ef1c]
mov eax, dword [esp + 0x34]
mov edx, dword [ecx]
push eax
call dword [edx + 0x8c]
mov al, byte [esp + 0x13]
test al, al
pop edi
pop ebp
je 0x5092b0
mov ecx, dword [0x65ef1c]
mov edx, dword [ecx]
push 1
call dword [edx + 0xf8]
cmp esi, 1
je 0x5092c4
mov ecx, dword [0x65ef1c]
mov eax, dword [ecx]
push esi
call dword [eax + 0xf0]
mov ecx, dword [0x65ef24]
mov ecx, dword [ecx]
mov edx, dword [ecx]
push 0
call dword [edx + 0x40]
pop esi
pop ebx
add esp, 0x34
ret 4