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

Disassembly:
mov eax, dword [0x94dbe8]
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 0x552626
mov byte [0x709774], 1
mov dword [0x709770], 0
mov eax, dword [0x709770]
add eax, 0x3e8
cmp dword [0x974b34], eax
jae 0x552652
mov eax, dword [0x709770]
mov ebp, dword [0x974b34]
cmp ebp, eax
jb 0x552652
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 0x552de6
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 0x5526c0
xor ebx, ebx
jmp 0x5526ca
mov eax, dword [esp + 0x10]
mov ebx, dword [eax]
add ebx, dword [esp + 0x18]
test ebx, ebx
je 0x552df1
movsx eax, word [ebx + 0x5c]
mov ebp, dword [eax*4 + 0x92d4d0]
mov cl, byte [ebp + 0x19]
mov al, cl
cmp al, 1
je 0x5526f0
cmp cl, 3
je 0x5526f0
xor dl, dl
jmp 0x552709
movzx eax, word [ebp + 0x42]
mov dl, 1
mov edi, eax
and edi, 0x2000
jne 0x552709
and eax, 0x4000
jne 0x552709
xor dl, dl
test dl, dl
je 0x552df7
mov al, byte [ebx + 0x51]
and al, 1
je 0x552e00
movsx eax, word [ebx + 0x5c]
mov ecx, dword [eax*4 + 0x92d4d0]
mov eax, dword [ecx + 0x1c]
mov dword [esp + 8], eax
cmp word [eax + 0x2c], 2
mov esi, eax
jl 0x552e06
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 0x55280b
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 0x552802
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 0x5527d6
cmp byte [esp + 4], 0
je 0x552e10
mov eax, dword [0x974b34]
mov dword [0x709770], eax
mov al, byte [ebx + 0x16d]
shr al, 4
and al, 1
je 0x552db0
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 0x5528b0
fst dword [esp + 0x20]
jmp 0x5528b8
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 0x5528d0
fld st(5)
jmp 0x5528d2
fld st(2)
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fcomp dword [esp + 0x20]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x552910
fld st(5)
fcomp st(3)
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x552900
fld st(5)
jmp 0x552902
fld st(2)
fstp dword [esp + 0x24]
mov eax, dword [esp + 0x24]
jmp 0x552930
fcom dword [esp + 0x1c]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x552924
fst dword [esp + 0x28]
jmp 0x55292c
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 0x552945
fst dword [esp + 0x2c]
jmp 0x55294d
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x2c], eax
fld st(5)
fcomp st(3)
fnstsw ax
test ah, 0x45
jne 0x552960
fld st(5)
jmp 0x552962
fld st(2)
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fcomp dword [esp + 0x2c]
fnstsw ax
test ah, 0x45
jne 0x552990
fld st(5)
fcomp st(3)
fnstsw ax
test ah, 0x45
jne 0x552984
fld st(5)
jmp 0x552986
fld st(2)
fstp st(6)
jmp 0x5529a6
fcom dword [esp + 0x1c]
fnstsw ax
test ah, 0x45
jne 0x5529a0
fld st(0)
jmp 0x5529a4
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 0x5529c4
fld dword [esp + 0x3c]
jmp 0x5529c8
fld dword [esp + 0x44]
fstp st(6)
fld st(4)
fcomp st(2)
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x5529e0
fld st(4)
jmp 0x5529e2
fld st(1)
fstp st(3)
fld st(2)
fcomp st(6)
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x552a10
fld st(4)
fcomp st(2)
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x552a04
fld st(4)
jmp 0x552a06
fld st(1)
fstp st(6)
jmp 0x552a2e
fld dword [esp + 0x3c]
fcomp dword [esp + 0x44]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x552a28
fld dword [esp + 0x3c]
jmp 0x552a2c
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 0x552a47
fld dword [esp + 0x3c]
jmp 0x552a4b
fld dword [esp + 0x44]
fstp st(3)
fld st(4)
fcomp st(2)
fnstsw ax
test ah, 0x45
jne 0x552a60
fld st(4)
jmp 0x552a62
fld st(1)
fstp st(1)
fcom st(2)
fnstsw ax
test ah, 0x45
jne 0x552a86
fld st(4)
fcomp st(2)
fnstsw ax
test ah, 0x45
jne 0x552a80
fld st(4)
jmp 0x552a82
fld st(1)
fstp st(5)
jmp 0x552aa6
fld dword [esp + 0x3c]
fcomp dword [esp + 0x44]
fnstsw ax
test ah, 0x45
jne 0x552aa0
fld dword [esp + 0x3c]
jmp 0x552aa4
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 0x552ac4
fld dword [esp + 0x40]
jmp 0x552ac8
fld dword [esp + 0x48]
fstp st(5)
fld st(3)
fcomp dword [esp + 0x38]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x552ae0
fld st(3)
jmp 0x552ae4
fld dword [esp + 0x38]
fstp st(3)
fld st(2)
fcomp st(5)
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x552b10
fld st(3)
fcomp dword [esp + 0x38]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x552b08
fld st(3)
jmp 0x552b0c
fld dword [esp + 0x38]
fstp st(5)
jmp 0x552b2e
fld dword [esp + 0x40]
fcomp dword [esp + 0x48]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x552b28
fld dword [esp + 0x40]
jmp 0x552b2c
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 0x552b50
fld dword [esp + 0x40]
jmp 0x552b54
fld dword [esp + 0x48]
fstp st(5)
fld st(3)
fcomp dword [esp + 0x38]
fnstsw ax
test ah, 0x45
jne 0x552b67
fld st(3)
jmp 0x552b6b
fld dword [esp + 0x38]
fstp st(3)
fld st(2)
fcomp st(5)
fnstsw ax
test ah, 0x45
jne 0x552b98
fld st(3)
fcomp dword [esp + 0x38]
fnstsw ax
test ah, 0x45
jne 0x552b90
fld st(3)
jmp 0x552b94
fld dword [esp + 0x38]
fstp st(5)
jmp 0x552bb6
fld dword [esp + 0x40]
fcomp dword [esp + 0x48]
fnstsw ax
test ah, 0x45
jne 0x552bb0
fld dword [esp + 0x40]
jmp 0x552bb4
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.004dff40
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.004dff40
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.005f9230
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 0x552d07
inc ecx
test cl, cl
jne 0x552d10
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.00554d70
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 0x552dd3
fcompp
fcompp
fcompp
push dword [esp + 0xc]
push 0x3b
call fcn.005f9230
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 0x5526a0
add esp, 0xe8
pop ebp
pop edi
pop esi
pop ebx
ret
fcompp
fstp st(0)
jmp 0x552dd3
fcompp
fstp st(0)
jmp 0x552dd3
fcompp
fstp st(0)
jmp 0x552dd3
fcompp
fstp st(0)
jmp 0x552dd3
fcompp
fcompp
fcompp
jmp 0x552dd3