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

Disassembly:
mov eax, dword [0x94dbe0]
push ebx
push esi
push edi
mov esi, eax
push ebp
sub esp, 0xe8
mov dword [esp + 0x10], eax
cmp byte [0x709774], 0
mov eax, dword [esi + 8]
mov dword [esp + 0x14], eax
jne 0x552606
mov byte [0x709774], 1
mov dword [0x709770], 0
mov eax, dword [0x709770]
add eax, 0x3e8
cmp dword [0x974b2c], eax
jae 0x552632
mov eax, dword [0x709770]
mov ebp, dword [0x974b2c]
cmp ebp, eax
jb 0x552632
add esp, 0xe8
pop ebp
pop edi
pop esi
pop ebx
ret
mov eax, dword [esp + 0x108]
mov byte [esp + 0x79], 0
sub dword [esp + 0x14], 1
mov dword [esp + 0x74], eax
mov al, byte [esp + 0x79]
mov byte [esp + 0x78], al
jb 0x552dc6
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x104]
mov dword [esp + 0x18], eax
mov dword [esp + 0x60], edx
imul eax, eax, 0x1a0
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 0x64], eax
lea eax, [eax]
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 4]
mov eax, dword [esp + 0x14]
movzx eax, byte [edi + eax]
fldz
fldz
and eax, 0x80
fldz
je 0x5526a0
xor ebx, ebx
jmp 0x5526aa
mov eax, dword [esp + 0x10]
mov ebx, dword [eax]
add ebx, dword [esp + 0x18]
test ebx, ebx
je 0x552dd1
movsx eax, word [ebx + 0x5c]
mov ebp, dword [eax*4 + 0x92d4c8]
mov cl, byte [ebp + 0x19]
mov al, cl
cmp al, 1
je 0x5526d0
cmp cl, 3
je 0x5526d0
xor dl, dl
jmp 0x5526e9
movzx eax, word [ebp + 0x42]
mov dl, 1
mov edi, eax
and edi, 0x2000
jne 0x5526e9
and eax, 0x4000
jne 0x5526e9
xor dl, dl
test dl, dl
je 0x552dd7
mov al, byte [ebx + 0x51]
and al, 1
je 0x552de0
movsx eax, word [ebx + 0x5c]
mov ecx, dword [eax*4 + 0x92d4c8]
mov eax, dword [ecx + 0x1c]
mov dword [esp + 8], eax
cmp word [eax + 0x2c], 2
mov esi, eax
jl 0x552de6
fld dword [esp + 0x60]
mov dword [esp + 0xc], ebx
add dword [esp + 0xc], 4
add dword [esp + 0xc], 0x30
mov eax, dword [esp + 0xc]
mov byte [esp + 4], 0
lea edi, [ebx + 4]
fsub dword [eax + 8]
push dword [esp + 8]
fstp st(1)
fld dword [esp + 0x68]
fsub dword [eax + 4]
fstp st(2)
fld dword [esp + 0x100]
fsub dword [eax]
fstp st(3)
fld st(1)
fmul dword [edi + 4]
fld st(3)
fmul dword [edi]
faddp st(1)
fld st(1)
fmul dword [edi + 8]
faddp st(1)
fstp dword [esp + 0x6c]
fld st(1)
lea ecx, [ebx + 0x14]
fmul dword [ecx + 4]
fld st(3)
fmul dword [ecx]
faddp st(1)
fld st(1)
fmul dword [ecx + 8]
faddp st(1)
fstp dword [esp + 0x70]
fld st(1)
lea edx, [ebx + 0x24]
fmul dword [edx + 4]
fld st(3)
fmul dword [edx]
faddp st(1)
fld st(1)
fmul dword [edx + 8]
faddp st(1)
fstp dword [esp + 0x74]
fcompp
fstp st(0)
call fcn.00416760
xor edi, edi
xor ebp, ebp
mov dword [esp + 4], 0
pop ecx
jmp 0x5527eb
mov eax, dword [esi + 0x44]
mov edx, dword [esi + 0x48]
add eax, ebp
add edx, edi
fcompp
fcompp
fcompp
mov ecx, dword [esi + 0x40]
push edx
push eax
lea eax, [esp + 0x70]
push ecx
push eax
call fcn.00415110
add esp, 0x10
test al, al
je 0x5527e2
mov byte [esp + 4], 1
add ebp, 8
add edi, 0x14
inc dword [esp]
movsx eax, word [esi + 0x2c]
fldz
fldz
cmp dword [esp], eax
fldz
fldz
fldz
fldz
jl 0x5527b6
cmp byte [esp + 4], 0
je 0x552df0
mov eax, dword [0x974b2c]
mov dword [0x709770], eax
mov al, byte [ebx + 0x16d]
shr al, 4
and al, 1
je 0x552d90
mov eax, dword [esp + 8]
mov edx, dword [eax + 0x40]
mov eax, edx
fld dword [eax]
fstp st(6)
fld dword [eax + 4]
fstp st(5)
fld dword [eax + 8]
lea eax, [edx + 0xc]
fstp st(4)
fld dword [eax]
fstp st(3)
fld dword [eax + 4]
fstp st(2)
fld dword [eax + 8]
fstp dword [esp + 0x38]
lea eax, [edx + 0x18]
add edx, 0x24
fld dword [eax]
fstp st(1)
fld dword [eax + 4]
fstp dword [esp + 0x3c]
fld dword [eax + 8]
fstp dword [esp + 0x40]
fld dword [edx]
fstp dword [esp + 0x1c]
fld dword [edx + 4]
fstp dword [esp + 0x44]
fld dword [edx + 8]
fstp dword [esp + 0x48]
fcom dword [esp + 0x1c]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x552890
fst dword [esp + 0x20]
jmp 0x552898
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x20], eax
fld st(5)
fcomp st(3)
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x5528b0
fld st(5)
jmp 0x5528b2
fld st(2)
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fcomp dword [esp + 0x20]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x5528f0
fld st(5)
fcomp st(3)
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x5528e0
fld st(5)
jmp 0x5528e2
fld st(2)
fstp dword [esp + 0x24]
mov eax, dword [esp + 0x24]
jmp 0x552910
fcom dword [esp + 0x1c]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x552904
fst dword [esp + 0x28]
jmp 0x55290c
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x4c], eax
fcom dword [esp + 0x1c]
fnstsw ax
test ah, 0x45
jne 0x552925
fst dword [esp + 0x2c]
jmp 0x55292d
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x2c], eax
fld st(5)
fcomp st(3)
fnstsw ax
test ah, 0x45
jne 0x552940
fld st(5)
jmp 0x552942
fld st(2)
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fcomp dword [esp + 0x2c]
fnstsw ax
test ah, 0x45
jne 0x552970
fld st(5)
fcomp st(3)
fnstsw ax
test ah, 0x45
jne 0x552964
fld st(5)
jmp 0x552966
fld st(2)
fstp st(6)
jmp 0x552986
fcom dword [esp + 0x1c]
fnstsw ax
test ah, 0x45
jne 0x552980
fld st(0)
jmp 0x552984
fld dword [esp + 0x1c]
fstp st(6)
fld st(5)
fstp dword [esp + 0x50]
fld dword [esp + 0x3c]
fcomp dword [esp + 0x44]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x5529a4
fld dword [esp + 0x3c]
jmp 0x5529a8
fld dword [esp + 0x44]
fstp st(6)
fld st(4)
fcomp st(2)
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x5529c0
fld st(4)
jmp 0x5529c2
fld st(1)
fstp st(3)
fld st(2)
fcomp st(6)
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x5529f0
fld st(4)
fcomp st(2)
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x5529e4
fld st(4)
jmp 0x5529e6
fld st(1)
fstp st(6)
jmp 0x552a0e
fld dword [esp + 0x3c]
fcomp dword [esp + 0x44]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x552a08
fld dword [esp + 0x3c]
jmp 0x552a0c
fld dword [esp + 0x44]
fstp st(6)
fld st(5)
fstp st(6)
fld dword [esp + 0x3c]
fcomp dword [esp + 0x44]
fnstsw ax
test ah, 0x45
jne 0x552a27
fld dword [esp + 0x3c]
jmp 0x552a2b
fld dword [esp + 0x44]
fstp st(3)
fld st(4)
fcomp st(2)
fnstsw ax
test ah, 0x45
jne 0x552a40
fld st(4)
jmp 0x552a42
fld st(1)
fstp st(1)
fcom st(2)
fnstsw ax
test ah, 0x45
jne 0x552a66
fld st(4)
fcomp st(2)
fnstsw ax
test ah, 0x45
jne 0x552a60
fld st(4)
jmp 0x552a62
fld st(1)
fstp st(5)
jmp 0x552a86
fld dword [esp + 0x3c]
fcomp dword [esp + 0x44]
fnstsw ax
test ah, 0x45
jne 0x552a80
fld dword [esp + 0x3c]
jmp 0x552a84
fld dword [esp + 0x44]
fstp st(5)
fld st(4)
fstp dword [esp + 0x54]
fld dword [esp + 0x40]
fcomp dword [esp + 0x48]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x552aa4
fld dword [esp + 0x40]
jmp 0x552aa8
fld dword [esp + 0x48]
fstp st(5)
fld st(3)
fcomp dword [esp + 0x38]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x552ac0
fld st(3)
jmp 0x552ac4
fld dword [esp + 0x38]
fstp st(3)
fld st(2)
fcomp st(5)
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x552af0
fld st(3)
fcomp dword [esp + 0x38]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x552ae8
fld st(3)
jmp 0x552aec
fld dword [esp + 0x38]
fstp st(5)
jmp 0x552b0e
fld dword [esp + 0x40]
fcomp dword [esp + 0x48]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x552b08
fld dword [esp + 0x40]
jmp 0x552b0c
fld dword [esp + 0x48]
fstp st(5)
fld st(4)
fstp dword [esp + 0x58]
fld dword [esp + 0x40]
fcomp dword [esp + 0x48]
fnstsw ax
test ah, 0x45
jne 0x552b30
fld dword [esp + 0x40]
jmp 0x552b34
fld dword [esp + 0x48]
fstp st(5)
fld st(3)
fcomp dword [esp + 0x38]
fnstsw ax
test ah, 0x45
jne 0x552b47
fld st(3)
jmp 0x552b4b
fld dword [esp + 0x38]
fstp st(3)
fld st(2)
fcomp st(5)
fnstsw ax
test ah, 0x45
jne 0x552b78
fld st(3)
fcomp dword [esp + 0x38]
fnstsw ax
test ah, 0x45
jne 0x552b70
fld st(3)
jmp 0x552b74
fld dword [esp + 0x38]
fstp st(5)
jmp 0x552b96
fld dword [esp + 0x40]
fcomp dword [esp + 0x48]
fnstsw ax
test ah, 0x45
jne 0x552b90
fld dword [esp + 0x40]
jmp 0x552b94
fld dword [esp + 0x48]
fstp st(5)
fld st(4)
fstp dword [esp + 0x5c]
mov eax, dword [esp + 0x4c]
fld st(5)
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x58]
lea edx, [esp + 0xa0]
mov dword [esp + 0xa8], eax
lea eax, [esp + 0x94]
push edx
fstp dword [esp + 0xa8]
fcompp
fcompp
fcompp
lea esi, [ebx + 4]
push esi
push eax
call fcn.004dff20
lea esi, [esp + 0xa0]
lea edi, [esp + 0x88]
movsd dword es:[edi], dword [esi]
add esp, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x58]
lea ebp, [esp + 0xb8]
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xc0], eax
lea edi, [ebx + 4]
lea eax, [esp + 0xac]
push ebp
push edi
push eax
call fcn.004dff20
lea esi, [esp + 0xb8]
lea edi, [esp + 0x94]
movsd dword es:[edi], dword [esi]
add esp, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push dword [esp + 0xc]
push 0x3a
call fcn.005f9210
fld dword [esp + 0x90]
fsub dword [esp + 0x84]
mov dword [esp + 0xd0], 0
mov dword [esp + 0xe4], 0
mov dword [esp + 0xcc], 0
mov dword [esp + 0xe8], 0
fstp dword [esp + 0xd8]
fld dword [esp + 0x94]
fsub dword [esp + 0x88]
mov dword [esp + 0xec], 0
pop ecx
pop ecx
xor eax, eax
fstp dword [esp + 0xd4]
fld dword [esp + 0x90]
fsub dword [esp + 0x84]
xor ecx, ecx
push 0
fstp dword [esp + 0xdc]
fld dword [esp + 0x60]
fsub dword [esp + 0x5c]
push 1
push 0
fstp dword [esp + 0xd8]
mov dl, byte [ebx + 0x16d]
shr dl, 4
and dl, 1
jne 0x552ce7
inc ecx
test cl, cl
jne 0x552cf0
mov eax, 1
push eax
push dword [0x69749c]
push dword [esp + 0x118]
push dword [esp + 0x118]
push dword [esp + 0x118]
push dword [esp + 0x104]
push dword [esp + 0x104]
push dword [esp + 0x104]
push dword [esp + 0x104]
push dword [esp + 0x104]
push dword [esp + 0x104]
push dword [esp + 0x104]
push dword [esp + 0x104]
push dword [esp + 0x104]
push dword [esp + 0xc8]
push dword [esp + 0xc8]
push dword [esp + 0xc8]
push 1
call fcn.00554d50
mov al, byte [ebx + 0x16d]
add esp, 0x54
and al, 0xdf
or al, 0x20
mov byte [ebx + 0x16d], al
mov al, byte [ebx + 0x52]
and al, 0xfb
mov byte [ebx + 0x52], al
mov al, byte [ebx + 0x51]
and al, 0xfe
mov byte [ebx + 0x51], al
jmp 0x552db3
fcompp
fcompp
fcompp
push dword [esp + 0xc]
push 0x3b
call fcn.005f9210
mov al, byte [ebx + 0x16d]
pop ecx
and al, 0xef
pop ecx
or al, 0x10
mov byte [ebx + 0x16d], al
sub dword [esp + 0x18], 0x1a0
sub dword [esp + 0x14], 1
jae 0x552680
add esp, 0xe8
pop ebp
pop edi
pop esi
pop ebx
ret
fcompp
fstp st(0)
jmp 0x552db3
fcompp
fstp st(0)
jmp 0x552db3
fcompp
fstp st(0)
jmp 0x552db3
fcompp
fstp st(0)
jmp 0x552db3
fcompp
fcompp
fcompp
jmp 0x552db3