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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x3c
push ebx
push esi
push edi
mov edi, eax
mov eax, dword [edi]
mov edx, dword [eax + 0x7c]
mov ecx, edi
call edx
mov ecx, dword [edi + 0x98]
mov eax, dword [edi + 0xc]
cmp ecx, dword [eax + 0xc]
jbe 0x5aa60a
mov ecx, dword [eax + 4]
jmp 0x5aa60f
mov edx, dword [eax]
mov ecx, dword [edx + ecx*4]
mov dword [esp + 0x10], ecx
mov ecx, dword [edi + 0x9c]
cmp ecx, dword [eax + 0xc]
jbe 0x5aa627
mov ebx, dword [eax + 4]
mov dword [esp + 0x14], ebx
jmp 0x5aa632
mov edx, dword [eax]
mov ecx, dword [edx + ecx*4]
mov dword [esp + 0x14], ecx
mov ebx, ecx
mov ecx, dword [edi + 0xa0]
cmp ecx, dword [eax + 0xc]
jbe 0x5aa646
mov esi, dword [eax + 4]
mov dword [esp + 0x18], esi
jmp 0x5aa651
mov edx, dword [eax]
mov eax, dword [edx + ecx*4]
mov dword [esp + 0x18], eax
mov esi, eax
call fcn.0048ca60
cmp dword [esp + 0x10], eax
je 0x5aa970
call fcn.00490880
cmp dword [esp + 0x10], eax
je 0x5aa970
call fcn.0048ca60
cmp ebx, eax
je 0x5aa970
call fcn.00490880
cmp ebx, eax
je 0x5aa970
call fcn.0048ca60
cmp esi, eax
je 0x5aa970
call fcn.00490880
cmp esi, eax
je 0x5aa970
movzx edx, byte [edi + 0x82]
mov cl, byte [edi + 0x83]
mov eax, dword [edi]
lea ebx, [edi + 0x82]
lea esi, [edi + 0x83]
push esi
mov byte [esp + 0x12], cl
mov byte [esp + 0x13], dl
mov edx, dword [eax + 0x78]
push ebx
mov ecx, edi
call edx
mov dl, byte [esi]
mov ecx, dword [esp + 0x14]
push 0x1a000101
call fcn.0048c7c0
mov dl, byte [ebx]
mov ecx, dword [esp + 0x10]
push 0x1a000101
call fcn.0048c7c0
cmp byte [esi], 0
je 0x5aa6fd
cmp byte [ebx], 0
je 0x5aa6fd
mov dl, 1
jmp 0x5aa6ff
xor dl, dl
mov ecx, dword [esp + 0x18]
push 0x1a000101
call fcn.0048c7c0
fldz
mov eax, dword [edi]
fst dword [esp + 0x34]
mov edx, dword [eax + 0x10]
fst dword [esp + 0x30]
fst dword [esp + 0x2c]
push ecx
fstp dword [esp + 0x2c]
mov ecx, edi
fld dword [0x7236c4]
fstp dword [esp]
call edx
fld dword [edi + 0x18]
cmp byte [esi], 0
fsub dword [edi + 0x10]
mov dword [esp + 0x1c], eax
fst dword [esp + 0x30]
fild dword [esp + 0x1c]
fst dword [esp + 0x20]
fsub st(1), st(0)
fxch st(1)
fstp dword [esp + 0x28]
fldz
fstp dword [esp + 0x2c]
fld dword [edi + 0x1c]
fsub dword [edi + 0x14]
fst dword [esp + 0x34]
je 0x5aa76d
fsubrp st(1)
fstp dword [esp + 0x34]
jmp 0x5aa771
fstp st(1)
fstp st(0)
mov ebx, dword [esp + 0x10]
lea eax, [esp + 0x28]
push eax
mov ecx, ebx
call fcn.00491040
fld dword [edi + 0x76]
fsub dword [edi + 0x6e]
push ecx
mov ecx, ebx
fstp dword [esp]
call fcn.005b2950
fld dword [edi + 0x6e]
call fcn.006b24a0
fld dword [edi + 0x1c]
mov cl, byte [esi]
fsub dword [edi + 0x14]
neg cl
mov ebx, eax
sbb ecx, ecx
and ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], ecx
fisub dword [esp + 0x24]
fsubr dword [edi + 0x76]
call fcn.006b24a0
cmp eax, ebx
jge 0x5aa7c2
mov eax, ebx
mov ecx, dword [edi + 0x94]
neg eax
neg ebx
cmp ecx, eax
jle 0x5aa7d8
cmp ebx, ecx
jle 0x5aa7dc
mov ebx, ecx
jmp 0x5aa7da
mov ebx, eax
cmp ebx, ecx
je 0x5aa7eb
push ebx
push 0xe000102
mov ecx, edi
call fcn.0057ba20
mov dl, byte [edi + 0x82]
mov ecx, dword [esp + 0x10]
push 0x1a000101
call fcn.0048c7c0
cmp byte [edi + 0x82], 0
je 0x5aa817
mov ecx, dword [esp + 0x10]
push ebx
push 0xe000101
call fcn.0057ba20
cmp byte [edi + 0x82], 0
fld dword [edi + 0x18]
fsub dword [edi + 0x10]
fst dword [esp + 0x30]
fldz
fstp dword [esp + 0x28]
fld dword [edi + 0x1c]
fsub dword [edi + 0x14]
fld dword [esp + 0x20]
fsub st(1), st(0)
fxch st(1)
fstp dword [esp + 0x2c]
fld dword [edi + 0x1c]
fsub dword [edi + 0x14]
fstp dword [esp + 0x34]
je 0x5aa854
fsubp st(1)
fstp dword [esp + 0x30]
jmp 0x5aa858
fstp st(1)
fstp st(0)
mov ebx, dword [esp + 0x14]
lea edx, [esp + 0x28]
push edx
mov ecx, ebx
call fcn.00491040
fld dword [edi + 0x72]
fsub dword [edi + 0x6a]
push ecx
mov ecx, ebx
fstp dword [esp]
call fcn.005b2950
fld dword [edi + 0x6a]
call fcn.006b24a0
fld dword [edi + 0x18]
fsub dword [edi + 0x10]
mov ebx, eax
mov al, byte [edi + 0x82]
neg al
sbb eax, eax
and eax, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
fisub dword [esp + 0x24]
fsubr dword [edi + 0x72]
call fcn.006b24a0
cmp eax, ebx
jge 0x5aa8ad
mov eax, ebx
mov ecx, dword [edi + 0x90]
neg eax
neg ebx
cmp ecx, eax
jle 0x5aa8c3
cmp ebx, ecx
jle 0x5aa8c7
mov ebx, ecx
jmp 0x5aa8c5
mov ebx, eax
cmp ebx, ecx
je 0x5aa8d6
push ebx
push 0xe000103
mov ecx, edi
call fcn.0057ba20
mov dl, byte [esi]
mov ecx, dword [esp + 0x14]
push 0x1a000101
call fcn.0048c7c0
cmp byte [esi], 0
je 0x5aa8fa
mov ecx, dword [esp + 0x14]
push ebx
push 0xe000101
call fcn.0057ba20
fld dword [edi + 0x18]
lea ecx, [esp + 0x38]
fsub dword [edi + 0x10]
push ecx
mov ecx, dword [esp + 0x1c]
fst dword [esp + 0x44]
fld dword [esp + 0x24]
fsub st(1), st(0)
fxch st(1)
fstp dword [esp + 0x3c]
fld dword [edi + 0x1c]
fsub dword [edi + 0x14]
fst dword [esp + 0x48]
fsubrp st(1)
fstp dword [esp + 0x40]
call fcn.00491040
cmp byte [esi], 0
jne 0x5aa94d
cmp byte [esp + 0xe], 0
je 0x5aa94d
mov ecx, dword [esp + 0x14]
push 0x6000102
call fcn.0048c790
call fcn.005aacb0
cmp byte [edi + 0x82], 0
jne 0x5aa970
cmp byte [esp + 0xf], 0
je 0x5aa970
mov ecx, dword [esp + 0x10]
push 0x6000102
call fcn.0048c790
call fcn.005aab60
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret