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

Disassembly:
mov eax, 0xafa0
call fcn.00628480
push ebx
push ebp
mov ebp, dword [esp + 0xafac]
xor eax, eax
mov ax, word [ebp + 4]
push esi
push edi
mov edi, dword [0x696720]
mov dword [esp + 0x48], 0
mov dword [esp + 0x70], 0
mov word [ebp + 0xa0], 0
mov ebx, eax
shr ebx, 9
and bl, 1
test al, 0x10
mov dword [esp + 0x44], eax
mov byte [esp + 0x5f], bl
je 0x55f585
lea esi, [ebp + 0x14]
lea edi, [esp + 0x24]
lea ebx, [esp + 0x14]
call fcn.0055f300
fld dword [esp + 0x14]
fmul dword [ebp + 0x40]
lea ecx, [esp + 0x24]
fld dword [esi]
fmul dword [ebp + 0x3c]
faddp st(1)
fld dword [esp + 0x24]
fmul dword [ebp + 0x44]
faddp st(1)
fld dword [ebp + 0x18]
fmul dword [ebp + 0x3c]
fld dword [esp + 0x18]
fmul dword [ebp + 0x40]
faddp st(1)
fld dword [esp + 0x28]
fmul dword [ebp + 0x44]
faddp st(1)
fld dword [ebp + 0x1c]
fmul dword [ebp + 0x3c]
fld dword [esp + 0x1c]
fmul dword [ebp + 0x40]
faddp st(1)
fld dword [esp + 0x2c]
fmul dword [ebp + 0x44]
faddp st(1)
fstp dword [esp + 0x1c]
fld dword [0x672afc]
fsub dword [ebp + 0x48]
fst dword [esp + 0x44]
fmul st(2)
fstp dword [esp + 0x14]
fld dword [esp + 0x44]
fmul st(1)
fstp st(2)
fstp st(0)
fld dword [esp + 0x44]
fmul dword [esp + 0x1c]
fld dword [esp + 0x14]
fsub dword [ebp + 0x2c]
fstp dword [esp + 0x14]
mov esi, dword [esp + 0x14]
fxch st(1)
mov dword [esp + 0x24], esi
fsub dword [ebp + 0x30]
fstp dword [esp + 0x18]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x28], edi
fsub dword [ebp + 0x34]
fstp dword [esp + 0x1c]
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x2c], ebx
call fcn.00401990
fcomp dword [ebp + 0x4c]
fnstsw ax
test ah, 0x41
jne 0x55f535
fld dword [ebp + 0x4c]
fld dword [esp + 0x24]
fmul st(1)
fstp dword [esp + 0x14]
fld dword [esp + 0x28]
fmul st(1)
fstp dword [esp + 0x18]
fmul dword [esp + 0x2c]
jmp 0x55f545
mov dword [esp + 0x1c], ebx
fld dword [esp + 0x1c]
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], edi
fld dword [esp + 0x14]
xor eax, eax
fadd dword [ebp + 0x2c]
fstp dword [ebp + 0xb8]
fld dword [esp + 0x18]
fadd dword [ebp + 0x30]
fstp dword [ebp + 0xbc]
fadd dword [ebp + 0x34]
fstp dword [ebp + 0xc0]
mov ax, word [ebp + 0xa0]
and eax, 0xfffd
or eax, 1
mov word [ebp + 0xa0], ax
jmp 0x55fb06
test al, 0x20
je 0x55f5c7
fld dword [ebp + 0x14]
mov ecx, dword [ebp + 0x44]
fmul dword [ebp + 0x3c]
mov dword [ebp + 0xc0], ecx
fld dword [ebp + 0x40]
fmul dword [ebp + 0x18]
fsubp st(1)
fst dword [ebp + 0xb8]
fstp dword [esp + 0x48]
fld dword [ebp + 0x40]
fmul dword [ebp + 0x14]
fld dword [ebp + 0x3c]
fmul dword [ebp + 0x18]
faddp st(1)
fst dword [ebp + 0xbc]
fstp dword [esp + 0x70]
jmp 0x55fb06
test al, 1
je 0x55f6a0
fld dword [ebp + 0x14]
lea ecx, [esp + 0x4c]
fmul dword [ebp + 0x3c]
fld dword [ebp + 0x40]
fmul dword [ebp + 0x18]
fsubp st(1)
fld dword [ebp + 0x40]
fmul dword [ebp + 0x14]
fld dword [ebp + 0x3c]
fmul dword [ebp + 0x18]
faddp st(1)
fld dword [0x672afc]
fsub dword [ebp + 0x48]
fld st(0)
fmul st(3)
fstp dword [esp + 0x4c]
fmul st(1)
fstp st(2)
fstp st(0)
fld dword [esp + 0x4c]
fsub dword [ebp + 0x2c]
fstp dword [esp + 0xa0]
mov esi, dword [esp + 0xa0]
mov dword [esp + 0x4c], esi
fsub dword [ebp + 0x30]
fstp dword [esp + 0xa4]
mov edi, dword [esp + 0xa4]
mov dword [esp + 0x50], edi
call fcn.004018e0
fcomp dword [ebp + 0x50]
fnstsw ax
test ah, 0x41
jne 0x55f659
fld dword [ebp + 0x50]
fld dword [esp + 0x4c]
fmul st(1)
fstp dword [esp + 0xa0]
fmul dword [esp + 0x50]
jmp 0x55f66e
mov dword [esp + 0xa4], edi
fld dword [esp + 0xa4]
mov dword [esp + 0xa0], esi
fld dword [esp + 0xa0]
mov al, byte [esp + 0x44]
fadd dword [ebp + 0x2c]
and al, 2
movzx dx, al
mov word [ebp + 0xa0], dx
fstp dword [ebp + 0xb8]
fadd dword [ebp + 0x30]
fstp dword [ebp + 0xbc]
fld dword [ebp + 0x34]
jmp 0x55fafa
fld dword [ebp + 0x44]
and eax, 0x200
fld dword [ebp + 0x40]
mov dword [esp + 0x3c], eax
fld dword [ebp + 0x3c]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld st(3)
fmul st(4)
faddp st(1)
fsqrt
fstp dword [esp + 0x58]
fstp st(0)
fstp st(0)
fstp st(0)
je 0x55f7bd
lea eax, [ebp + 0x20]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x2c], eax
lea esi, [ebp + 0x80]
push esi
lea eax, [esp + 0x34]
lea ecx, [esp + 0x28]
mov dword [esp + 0x2c], edx
call fcn.004052c0
add esp, 4
lea ecx, [esp + 0x30]
call fcn.00401990
fld dword [0x672af8]
fucompp
fnstsw ax
test ah, 0x44
jp 0x55f75f
push esi
lea eax, [esp + 0x34]
mov ecx, edi
call fcn.004052c0
add esp, 4
lea ecx, [esp + 0x30]
call fcn.00401990
fld dword [0x672af8]
fucompp
fnstsw ax
test ah, 0x44
jp 0x55f75f
mov ecx, dword [0x696718]
push esi
lea eax, [esp + 0x34]
call fcn.004052c0
add esp, 4
lea ecx, [esp + 0x30]
call fcn.00401990
fstp st(0)
lea ecx, [esp + 0x30]
push ecx
lea eax, [esp + 0x28]
mov ecx, esi
call fcn.004052c0
add esp, 4
lea ecx, [esp + 0x24]
call fcn.00401990
fstp st(0)
fld dword [esp + 0x30]
fmul dword [ebp + 0x40]
fld dword [esp + 0x24]
fmul dword [ebp + 0x3c]
faddp st(1)
fstp dword [esp + 0x4c]
fld dword [esp + 0x34]
fmul dword [ebp + 0x40]
fld dword [esp + 0x28]
fmul dword [ebp + 0x3c]
faddp st(1)
fstp dword [esp + 0x50]
fld dword [esp + 0x38]
fmul dword [ebp + 0x40]
fld dword [esp + 0x2c]
fmul dword [ebp + 0x3c]
faddp st(1)
fadd dword [ebp + 0x44]
jmp 0x55f929
fld dword [ebp + 0x88]
fcomp dword [0x672bf4]
fnstsw ax
test ah, 0x41
jne 0x55f82a
fld dword [ebp + 0x14]
lea esi, [ebp + 0x80]
fmul dword [ebp + 0x3c]
fld dword [ebp + 0x40]
fmul dword [ebp + 0x18]
fsubp st(1)
fstp dword [esp + 0x4c]
mov edx, dword [esp + 0x4c]
fld dword [ebp + 0x40]
mov dword [esp + 0x48], edx
fmul dword [ebp + 0x14]
fld dword [ebp + 0x3c]
fmul dword [ebp + 0x18]
faddp st(1)
fstp dword [esp + 0x50]
mov eax, dword [esp + 0x50]
fld dword [esp + 0x50]
mov dword [esp + 0x70], eax
fmul dword [ebp + 0x84]
fld dword [esp + 0x4c]
fmul dword [esi]
faddp st(1)
fdiv dword [ebp + 0x88]
fsubr dword [ebp + 0x44]
jmp 0x55f929
lea ecx, [ebp + 0x20]
mov edx, ecx
mov eax, dword [edx]
mov dword [esp + 0x30], eax
mov eax, dword [edx + 4]
mov edx, dword [edx + 8]
mov dword [esp + 0x34], eax
push edi
lea eax, [esp + 0x64]
mov dword [esp + 0x3c], edx
call fcn.004052c0
lea ecx, [esp + 0x64]
call fcn.00401990
fstp st(0)
fld dword [esp + 0x3c]
lea esi, [ebp + 0x80]
fmul dword [esi + 8]
lea eax, [esp + 0x34]
fld dword [esp + 0x38]
mov ecx, esi
fmul dword [esi + 4]
faddp st(1)
fld dword [esp + 0x34]
fmul dword [esi]
faddp st(1)
fchs
fstp dword [esp]
push eax
call fcn.00401930
fld dword [esp + 0x70]
fmul dword [esi + 8]
add esp, 4
fld dword [esp + 0x68]
lea ecx, [esp + 0x64]
fmul dword [esi + 4]
mov eax, ecx
faddp st(1)
fld dword [esp + 0x64]
fmul dword [esi]
faddp st(1)
fchs
fstp dword [esp]
push ecx
mov ecx, esi
call fcn.00401930
fld dword [ebp + 0x14]
fmul dword [ebp + 0x3c]
add esp, 8
test bl, bl
fld dword [ebp + 0x40]
fmul dword [ebp + 0x18]
fsubp st(1)
fstp dword [esp + 0x48]
fld dword [ebp + 0x40]
fmul dword [ebp + 0x14]
fld dword [ebp + 0x3c]
fmul dword [ebp + 0x18]
faddp st(1)
fstp dword [esp + 0x70]
fld dword [esp + 0x60]
fmul dword [ebp + 0x40]
fld dword [esp + 0x30]
fmul dword [ebp + 0x3c]
faddp st(1)
fstp dword [esp + 0x4c]
fld dword [esp + 0x34]
fmul dword [ebp + 0x3c]
fld dword [esp + 0x64]
fmul dword [ebp + 0x40]
faddp st(1)
fstp dword [esp + 0x50]
fld dword [esp + 0x38]
fmul dword [ebp + 0x3c]
fld dword [esp + 0x68]
fmul dword [ebp + 0x40]
faddp st(1)
fadd dword [ebp + 0x44]
fstp dword [esp + 0x54]
jne 0x55f92d
fld dword [esp + 0x54]
fmul dword [0x672c78]
fstp dword [esp + 0x54]
lea ecx, [esp + 0x4c]
call fcn.00401990
fstp st(0)
cmp word [esp + 0x3c], 0
jne 0x55f9d6
fld dword [esp + 0x54]
fcomp dword [ebp + 0x6c]
fnstsw ax
test ah, 0x41
jp 0x55f95b
fld dword [esp + 0x58]
fmul dword [ebp + 0x70]
jmp 0x55f9da
fld dword [esp + 0x54]
fcomp dword [ebp + 0x68]
fld dword [esp + 0x54]
fnstsw ax
test ah, 5
jp 0x55f98f
fsub dword [ebp + 0x68]
fld dword [ebp + 0x70]
fsub dword [0x672afc]
fmulp st(1)
fld dword [ebp + 0x6c]
fsub dword [ebp + 0x68]
fdivp st(1)
fadd dword [0x672afc]
fmul dword [esp + 0x58]
jmp 0x55f9da
fcomp dword [ebp + 0x78]
fnstsw ax
test ah, 1
jne 0x55f9a2
fld dword [esp + 0x58]
fmul dword [ebp + 0x7c]
jmp 0x55f9da
fld dword [esp + 0x54]
fcomp dword [ebp + 0x74]
fnstsw ax
test ah, 0x41
jne 0x55f9d6
fld dword [esp + 0x54]
fsub dword [ebp + 0x74]
fld dword [ebp + 0x7c]
fsub dword [0x672afc]
fmulp st(1)
fld dword [ebp + 0x78]
fsub dword [ebp + 0x74]
fdivp st(1)
fadd dword [0x672afc]
fmul dword [esp + 0x58]
jmp 0x55f9da
fld dword [esp + 0x58]
fld dword [0x672afc]
lea ecx, [esp + 0x24]
fsub dword [ebp + 0x48]
xor bl, bl
fmulp st(1)
fld dword [esp + 0x4c]
fmul st(1)
fld dword [esp + 0x50]
fmul st(2)
fstp dword [esp + 0x28]
fld dword [esp + 0x54]
fmul st(2)
fstp dword [esp + 0x2c]
fsub dword [ebp + 0x2c]
fstp dword [esp + 0x14]
mov edi, dword [esp + 0x14]
mov dword [esp + 0x24], edi
fstp st(0)
fld dword [esp + 0x28]
fsub dword [ebp + 0x30]
fstp dword [esp + 0x18]
mov edx, dword [esp + 0x18]
fld dword [esp + 0x2c]
mov dword [esp + 0x28], edx
fsub dword [ebp + 0x34]
fstp dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x2c], eax
call fcn.00401990
fcomp dword [ebp + 0x4c]
fnstsw ax
test ah, 0x41
jne 0x55fa79
cmp word [esp + 0x3c], 0
jne 0x55fa5c
mov bl, byte [esp + 0x44]
shr bl, 1
and bl, 1
fld dword [ebp + 0x4c]
fld dword [esp + 0x24]
fmul st(1)
fstp dword [esp + 0x30]
fld dword [esp + 0x28]
fmul st(1)
fstp dword [esp + 0x34]
fmul dword [esp + 0x2c]
jmp 0x55fa91
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x38], edx
fld dword [esp + 0x38]
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], ecx
fld dword [esi]
neg bl
fmul dword [0x672f00]
fsubr dword [esp + 0x30]
fld dword [esi + 4]
fmul dword [0x672f00]
sbb ebx, ebx
and ebx, 2
fsubr dword [esp + 0x34]
fld dword [esi + 8]
mov word [ebp + 0xa0], bx
fmul dword [0x672f00]
fsubr st(3)
fstp dword [esp + 0x38]
fxch st(1)
fadd dword [ebp + 0x2c]
fstp dword [ebp + 0xb8]
fadd dword [ebp + 0x30]
fstp dword [ebp + 0xbc]
fstp st(0)
fld dword [esp + 0x38]
fadd dword [ebp + 0x34]
fstp dword [ebp + 0xc0]
mov al, byte [ebp + 0xa0]
test al, 2
je 0x55fb06
fld dword [ebp + 0xc0]
fsub dword [0x69c53c]
fstp dword [ebp + 0xc0]
mov ax, word [ebp + 4]
test al, 0x40
je 0x55fb12
xor eax, eax
jmp 0x55fb30
test al, al
jns 0x55fb1d
mov eax, 0xc0a0
jmp 0x55fb30
and eax, 0x100
neg eax
sbb eax, eax
and eax, 0xffdfff00
add eax, 0x20c3a0
lea ecx, [ebp + 8]
mov edx, dword [ecx]
mov dword [esp + 0x14], edx
mov edx, dword [ecx + 4]
mov ecx, dword [ecx + 8]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], edx
lea ecx, [ebp + 0xb8]
mov edx, dword [ecx]
mov dword [esp + 0x60], edx
mov edx, dword [ecx + 4]
mov ecx, dword [ecx + 8]
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], ecx
fld dword [esp + 0x68]
fadd dword [ebp + 0x38]
lea edx, [esp + 0xbc]
push edx
mov edx, dword [ebp + 0x58]
push 0x10
fstp dword [esp + 0x70]
lea ecx, [esp + 0x7c]
push ecx
mov ecx, dword [ebp + 0x54]
push edx
push ecx
mov ecx, dword [ebp]
push eax
lea ebx, [esp + 0xac]
lea esi, [esp + 0x78]
lea edi, [esp + 0x2c]
call fcn.00507150
add esp, 0x18
cmp ax, 0x10
mov dword [esp + 0x58], eax
jl 0x55fbb1
or byte [ebp + 0xa0], 8
jmp 0x55fbb8
and byte [ebp + 0xa0], 0xf7
or ecx, 0xffffffff
cmp word [esp + 0x58], 0
mov dword [ebp + 0xa8], ecx
jne 0x560114
mov eax, dword [ebp + 0x90]
cmp eax, ecx
je 0x560114
test eax, eax
mov edi, dword [0x746eb8]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x80], 0x7f7fffff
jl 0x560114
cmp eax, dword [edi + 0x3c]
jge 0x560114
mov ecx, dword [edi + 0x40]
lea edx, [eax + eax*2]
mov esi, dword [ecx + edx*4 + 4]
mov dword [esp + 0xb8], ecx
lea ecx, [ecx + edx*4]
mov edx, dword [ecx]
push edi
lea eax, [esp + 0x88]
mov dword [esp + 0xa4], esi
call fcn.0044dc30
fld dword [esp + 0x88]
fmul dword [esp + 0x78]
mov eax, dword [edi + 0x4c]
fld dword [esp + 0x90]
add esp, 4
fmul dword [esp + 0x7c]
mov dword [esp + 0x40], eax
faddp st(1)
fld dword [esp + 0x88]
fmul dword [esp + 0x78]
faddp st(1)
fsub dword [esp + 0x90]
fchs
fld dword [esp + 0x84]
fmul st(1)
fadd dword [esp + 0x74]
fstp dword [esp + 0x14]
fld dword [esp + 0x88]
fmul st(1)
fadd dword [esp + 0x78]
fstp dword [esp + 0x18]
fld dword [esp + 0x8c]
fmul st(1)
fadd dword [esp + 0x7c]
fstp dword [esp + 0x1c]
fstp st(0)
jmp 0x55fca0
mov edx, dword [esp + 0x40]
mov eax, dword [ebp + 0x90]
lea ecx, [esi + esi*2]
lea esi, [edx + ecx*8]
cmp eax, dword [esi + 0x14]
sete bl
xor eax, eax
test bl, bl
sete al
mov edi, dword [esi + eax*4 + 0x10]
cmp edi, 0xffffffff
je 0x55feed
test byte [ebp + 5], 2
mov edx, dword [esp + 0xb8]
lea ecx, [edi + edi*2]
lea ecx, [edx + ecx*4]
jne 0x55fce7
test byte [ecx + 8], 4
je 0x55feed
mov eax, dword [0x746eb8]
mov edx, dword [ecx]
push eax
lea eax, [esp + 0x88]
call fcn.0044dc30
fld dword [esp + 0x88]
fmul dword [esp + 0x98]
add esp, 4
fld dword [esp + 0x88]
fmul dword [esp + 0x98]
faddp st(1)
fld dword [esp + 0x8c]
fmul dword [esp + 0x9c]
faddp st(1)
fst dword [esp + 0x3c]
fcomp dword [0x672af8]
fnstsw ax
test ah, 0x41
jne 0x55feed
fld dword [esp + 0x84]
fmul dword [esp + 0x74]
fld dword [esp + 0x8c]
fmul dword [esp + 0x7c]
faddp st(1)
fld dword [esp + 0x88]
fmul dword [esp + 0x78]
faddp st(1)
fsub dword [esp + 0x90]
fld dword [ebp + 0x58]
fmul dword [0x672c2c]
fcompp
fnstsw ax
test ah, 5
jp 0x55feed
mov eax, dword [0x746eb8]
mov eax, dword [eax + 0x58]
mov edx, dword [esi + 4]
mov ecx, dword [esi]
shl edx, 4
fld dword [edx + eax]
add edx, eax
shl ecx, 4
fsub dword [ecx + eax]
add ecx, eax
fstp dword [esp + 0x30]
fld dword [edx + 4]
fsub dword [ecx + 4]
fstp dword [esp + 0x34]
fld dword [edx + 8]
fsub dword [ecx + 8]
fstp dword [esp + 0x38]
fld dword [esp + 0x14]
fsub dword [ecx]
fld dword [esp + 0x18]
fsub dword [ecx + 4]
fld dword [esp + 0x1c]
fsub dword [ecx + 8]
fxch st(2)
fmul dword [esp + 0x30]
fxch st(2)
fmul dword [esp + 0x38]
faddp st(2)
fmul dword [esp + 0x34]
faddp st(1)
fld dword [esp + 0x30]
fmul dword [esp + 0x30]
fld dword [esp + 0x38]
fmul dword [esp + 0x38]
faddp st(1)
fld dword [esp + 0x34]
fmul dword [esp + 0x34]
faddp st(1)
fdivp st(1)
fst dword [esp + 0x44]
fcomp dword [0x672af8]
fnstsw ax
test ah, 5
jp 0x55fe25
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov dword [esp + 0x24], eax
mov eax, dword [ecx + 8]
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], eax
jmp 0x55fe62
fld dword [esp + 0x44]
fcomp dword [0x672afc]
fnstsw ax
test ah, 0x41
jne 0x55fe4c
mov ecx, dword [edx]
mov eax, dword [edx + 4]
mov dword [esp + 0x24], ecx
mov ecx, dword [edx + 8]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
jmp 0x55fe62
mov edx, dword [esp + 0x44]
push edx
push ecx
lea eax, [esp + 0x2c]
lea ecx, [esp + 0x38]
call fcn.00401930
add esp, 8
fld dword [esp + 0x24]
fsub dword [esp + 0x14]
fld dword [esp + 0x28]
fsub dword [esp + 0x18]
fld dword [esp + 0x2c]
fsub dword [esp + 0x1c]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld st(3)
fmul st(4)
faddp st(1)
fstp st(3)
fstp st(0)
fstp st(0)
fcom dword [esp + 0x80]
fnstsw ax
test ah, 5
jp 0x55feeb
mov eax, dword [esp + 0x84]
fstp dword [esp + 0x80]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x8c]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0xac], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x6c], edi
mov dword [esp + 0xb0], edx
mov dword [esp + 0xb4], eax
mov dword [esp + 0x4c], ecx
jmp 0x55feed
fstp st(0)
mov eax, dword [esp + 0xa0]
movzx edx, bl
mov esi, dword [esi + edx*4 + 8]
cmp esi, eax
jne 0x55fca0
mov ecx, dword [esp + 0x6c]
or edx, 0xffffffff
cmp ecx, edx
je 0x560117
fld dword [ebp + 0x58]
fadd st(0), st(0)
fld st(0)
fmul st(1)
fld dword [esp + 0x80]
fcompp
fnstsw ax
fstp st(0)
test ah, 0x41
je 0x560117
fld dword [esp + 0x4c]
fcomp dword [0x6731ac]
fnstsw ax
test ah, 0x41
je 0x560117
fld dword [esp + 0x74]
fmul dword [esp + 0xa8]
fld dword [esp + 0xb0]
fmul dword [esp + 0x7c]
faddp st(1)
fld dword [esp + 0xac]
fmul dword [esp + 0x78]
faddp st(1)
fld dword [esp + 0xb4]
fadd dword [ebp + 0x58]
fsubp st(1)
fst dword [esp + 0x6c]
fabs
fld dword [ebp + 0x58]
fmul dword [0x672af4]
fcompp
fnstsw ax
test ah, 5
jnp 0x560117
fld dword [esp + 0x94]
fmul dword [esp + 0xa8]
fld dword [esp + 0xac]
fmul dword [esp + 0x98]
faddp st(1)
fld dword [esp + 0xb0]
fmul dword [esp + 0x9c]
faddp st(1)
fld dword [esp + 0x6c]
fchs
fld dword [esp + 0xa8]
fmul st(1)
fadd dword [esp + 0x74]
fstp dword [esp + 0x74]
fld dword [esp + 0xac]
fmul st(1)
fadd dword [esp + 0x78]
fstp dword [esp + 0x78]
fld dword [esp + 0xb0]
fmul st(1)
fadd dword [esp + 0x7c]
fstp dword [esp + 0x7c]
fstp st(0)
fcom dword [0x673128]
fnstsw ax
test ah, 0x41
jne 0x560056
fadd dword [0x672b04]
fchs
fld dword [esp + 0xa8]
fmul st(1)
fadd dword [esp + 0x94]
fstp dword [esp + 0x94]
fld dword [esp + 0xac]
fmul st(1)
fadd dword [esp + 0x98]
fstp dword [esp + 0x98]
fld dword [esp + 0xb0]
fmul st(1)
fadd dword [esp + 0x9c]
fstp dword [esp + 0x9c]
fstp st(0)
mov eax, dword [esp + 0xa8]
fld dword [ebp + 0x58]
mov dword [esp + 0xcc], eax
fchs
mov eax, dword [esp + 0xac]
fld dword [esp + 0xa8]
fmul st(1)
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 0xd4], eax
fadd dword [esp + 0x74]
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x58], 1
mov dword [esp + 0xbc], 0
fstp dword [esp + 0xc0]
mov dword [esp + 0xd8], eax
fld dword [esp + 0xac]
mov dword [esp + 0xdc], edx
fmul st(1)
mov dword [esp + 0xe0], ecx
mov byte [esp + 0xe4], 0
mov byte [esp + 0xe5], 0
fadd dword [esp + 0x78]
mov word [esp + 0xe6], dx
mov dword [ebp + 0xa8], ecx
fstp dword [esp + 0xc4]
fld dword [esp + 0xb0]
fmul st(1)
fadd dword [esp + 0x7c]
fstp dword [esp + 0xc8]
fstp st(0)
jmp 0x560117
or edx, 0xffffffff
fld dword [esp + 0x70]
fmul dword [esp + 0x70]
fld dword [esp + 0x48]
fmul dword [esp + 0x48]
faddp st(1)
fcom dword [0x6731a8]
fnstsw ax
test ah, 0x41
jne 0x560152
fsqrt
fdivr qword [0x672b30]
fld dword [esp + 0x48]
fmul st(1)
fstp dword [esp + 0x48]
fmul dword [esp + 0x70]
fstp dword [esp + 0x70]
jmp 0x560154
fstp st(0)
xor eax, eax
mov ax, word [ebp + 4]
test al, 0x10
mov dword [esp + 0x80], edx
mov byte [esp + 0x13], 0
mov byte [esp + 0x23], 0
mov dword [esp + 0x3c], 0xff7fffff
mov dword [esp + 0x40], 0xff7fffff
mov dword [esp + 0x44], eax
jne 0x560474
xor esi, esi
cmp word [esp + 0x58], si
jle 0x560474
and eax, 0x80
mov dword [esp + 0x4c], eax
lea edx, [esp + 0xd0]
jmp 0x5601b0
mov eax, dword [esp + 0x4c]
lea ebx, [ebx]
test ax, ax
jne 0x5601c7
mov al, byte [esp + 0x5f]
test al, al
jne 0x5601c3
test byte [edx + 0x14], 4
je 0x5601c7
mov cl, 1
jmp 0x5601c9
xor cl, cl
mov eax, dword [ebp + 0xa8]
cmp eax, 0xffffffff
je 0x5601ec
movsx edi, word [esp + 0x80]
imul edi, edi, 0x2c
cmp dword [esp + edi + 0xe0], eax
jne 0x5601ec
mov bl, 1
jmp 0x5601ee
xor bl, bl
test cl, cl
fld dword [ebp + 0xb8]
fmul dword [edx - 4]
fld dword [edx]
fmul dword [ebp + 0xbc]
faddp st(1)
fld dword [edx + 4]
fmul dword [ebp + 0xc0]
faddp st(1)
fchs
fstp dword [esp + 0x6c]
je 0x56025f
mov al, byte [esp + 0x5f]
test al, al
jne 0x56023a
fld dword [esp + 0x70]
fmul dword [edx]
fld dword [esp + 0x48]
fmul dword [edx - 4]
faddp st(1)
fcomp dword [0x672af4]
fnstsw ax
test ah, 0x41
je 0x560293
mov al, byte [esp + 0x13]
test al, al
je 0x560275
test bl, bl
jne 0x560275
mov al, byte [esp + 0x23]
test al, al
jne 0x560293
fld dword [esp + 0x6c]
fcomp dword [esp + 0x40]
fnstsw ax
test ah, 0x41
je 0x560275
jmp 0x560293
mov al, byte [esp + 0x13]
test al, al
jne 0x560293
fld dword [edx + 4]
fcomp dword [esp + 0x3c]
fnstsw ax
test ah, 0x41
jne 0x560293
mov eax, dword [esp + 0x6c]
mov byte [esp + 0x13], cl
mov ecx, dword [edx + 4]
mov dword [esp + 0x80], esi
mov byte [esp + 0x23], bl
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], eax
mov bx, word [ebp + 0xa0]
test bl, 0x10
jne 0x5602e5
test byte [edx + 0x14], 8
jne 0x5602db
mov eax, dword [edx + 0xc]
cmp eax, 0xffffffff
je 0x5602e5
and eax, 0xffff
lea ecx, [eax + eax*2]
mov eax, dword [0x85ff50]
mov eax, dword [eax + 0x34]
mov cl, byte [eax + ecx*4 + 3]
mov dword [esp + 0xa0], edx
mov edx, 1
shl edx, cl
test dl, 0x40
mov edx, dword [esp + 0xa0]
jne 0x5602e5
or ebx, 0x10
mov word [ebp + 0xa0], bx
inc esi
add edx, 0x2c
cmp si, word [esp + 0x58]
jl 0x5601a6
mov eax, dword [esp + 0x80]
cmp ax, 0xffff
je 0x560474
movsx edi, ax
imul edi, edi, 0x2c
lea esi, [esp + edi + 0xcc]
mov ecx, esi
mov edx, dword [ecx]
mov eax, dword [ecx + 4]
mov dword [esp + 0x88], eax
mov dword [esp + 0x84], edx
mov edx, dword [ecx + 8]
fld dword [esp + 0x88]
fmul dword [esp + 0x64]
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], eax
fld dword [esp + 0x8c]
mov al, byte [esp + 0x13]
test al, al
fmul dword [esp + 0x68]
faddp st(1)
fld dword [esp + 0x84]
fmul dword [esp + 0x60]
faddp st(1)
fchs
fstp dword [esp + 0x48]
jne 0x560413
mov al, byte [esp + 0x23]
test al, al
jne 0x560413
fld dword [esp + 0x3c]
fcomp dword [ebp + 0x64]
fnstsw ax
test ah, 1
jne 0x560474
test byte [esp + 0x44], 1
je 0x560413
fld dword [ebp + 0x5c]
fcomp dword [0x672c18]
fnstsw ax
test ah, 5
jp 0x560413
fld dword [esp + 0x84]
fmul dword [esp + 0x48]
fadd dword [esp + 0x60]
fld dword [esp + 0x88]
fmul dword [esp + 0x48]
fadd dword [esp + 0x64]
fld dword [esp + 0x8c]
fmul dword [esp + 0x48]
fadd dword [esp + 0x68]
fld dword [ebp + 0x5c]
fld st(1)
fmul st(2)
fld st(3)
fmul st(4)
faddp st(1)
fld st(4)
fmul st(5)
faddp st(1)
fld st(1)
fmul st(2)
fcompp
fstp st(0)
fstp st(0)
fnstsw ax
fstp st(0)
test ah, 5
fstp st(0)
jp 0x560413
lea eax, [esp + 0x60]
call fcn.00401960
fdivr dword [esp + 0x48]
fcomp dword [ebp + 0x60]
fnstsw ax
test ah, 5
jnp 0x560474
mov edx, dword [esi]
mov edi, dword [esp + edi + 0xe0]
and byte [ebp + 0xa0], 0xfe
cmp edi, 0xffffffff
lea eax, [ebp + 0x80]
mov ecx, eax
mov dword [ecx], edx
mov edx, dword [esi + 4]
mov dword [ecx + 4], edx
mov edx, dword [esi + 8]
mov dword [ecx + 8], edx
mov edx, dword [esi + 0xc]
mov dword [ecx + 0xc], edx
mov dword [ebp + 0xa4], edi
je 0x560452
cmp edi, dword [ebp + 0xa8]
je 0x5604ae
fld dword [esp + 0x64]
fmul dword [eax + 4]
fld dword [esp + 0x68]
fmul dword [eax + 8]
faddp st(1)
fld dword [esp + 0x60]
fmul dword [eax]
faddp st(1)
fchs
fstp dword [ebp + 0xc4]
jmp 0x5604b8
mov ecx, dword [0x69c54c]
mov edx, dword [0x69c550]
or byte [ebp + 0xa0], 1
lea eax, [ebp + 0x80]
mov dword [eax], ecx
mov ecx, dword [0x69c554]
mov dword [eax + 4], edx
mov edx, dword [0x69c558]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov dword [ebp + 0xa4], 0xffffffff
mov dword [ebp + 0xc4], 0
mov eax, dword [esp + 0x58]
or esi, 0xffffffff
test ax, ax
jle 0x56056d
mov ebx, dword [esp + 0x4c]
movzx eax, ax
lea edi, [esp + 0xdc]
mov dword [esp + 0x40], eax
lea ebx, [ebx]
mov edx, dword [edi]
cmp edx, 0xffffffff
je 0x560557
mov eax, edx
and eax, 0xffff
cmp esi, 0xffffffff
lea ecx, [eax + eax*2]
mov eax, dword [0x85ff50]
mov eax, dword [eax + 0x34]
mov ecx, dword [eax + ecx*4 + 8]
fld dword [ecx + 0x68]
fsub dword [esp + 0x94]
fld dword [ecx + 0x6c]
fsub dword [esp + 0x98]
fld dword [ecx + 0x70]
fsub dword [esp + 0x9c]
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fld st(3)
fmul st(4)
faddp st(1)
fstp st(3)
fstp st(0)
fstp st(0)
je 0x56081f
mov eax, 1
cmp bx, ax
jne 0x560807
cmp word [ecx + 0xb4], ax
je 0x560810
fstp st(0)
mov eax, dword [esp + 0x40]
add edi, 0x2c
dec eax
mov dword [esp + 0x40], eax
jne 0x5604e0
mov eax, dword [esp + 0x58]
test ax, ax
mov dword [ebp + 0x98], esi
mov dword [ebp + 0x9c], 0xffffffff
jle 0x56064b
movzx edx, ax
lea ecx, [esp + 0xdc]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], edx
jmp 0x5605a0
mov eax, dword [esp + 0x3c]
mov edx, dword [eax]
cmp edx, 0xffffffff
je 0x560631
mov ecx, edx
xor edi, edi
sar ecx, 0x10
test dx, dx
jl 0x5605eb
mov esi, dword [0x85ff50]
cmp dx, word [esi + 0x20]
jge 0x5605eb
movsx eax, word [esi + 0x22]
movsx ebx, dx
imul eax, ebx
mov ebx, dword [esi + 0x34]
mov si, word [eax + ebx]
add eax, ebx
test si, si
je 0x5605eb
test cx, cx
je 0x5605e9
cmp si, cx
jne 0x5605eb
mov edi, eax
test edi, edi
je 0x560631
mov cl, byte [edi + 3]
mov eax, 1
shl eax, cl
test al, al
jns 0x560631
mov eax, dword [edi + 8]
test eax, eax
je 0x560631
mov ecx, dword [eax]
mov eax, dword [0x87b7b4]
and ecx, 0xffff
shl ecx, 5
mov eax, dword [ecx + eax + 0x14]
test byte [eax + 0x292], 4
je 0x560631
cmp word [eax + 0x2ea], 0xffff
je 0x560631
mov dword [ebp + 0x9c], edx
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x40]
add ecx, 0x2c
dec eax
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], eax
jne 0x5605a0
fld dword [esp + 0x94]
mov edi, dword [esp + 0x74]
fsub dword [esp + 0x60]
mov ebx, dword [esp + 0x78]
fld dword [esp + 0x98]
mov ecx, dword [esp + 0x7c]
fsub dword [esp + 0x64]
mov edx, dword [esp + 0x94]
fld dword [esp + 0x9c]
lea eax, [ebp + 0xac]
fsub dword [esp + 0x68]
mov dword [eax], edi
mov dword [eax + 4], ebx
mov dword [ebp + 0xb8], edx
fld st(0)
mov edx, dword [esp + 0x44]
test dl, 4
fmul st(1)
fld st(2)
mov dword [eax + 8], ecx
fmul st(3)
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
mov dword [ebp + 0xbc], eax
faddp st(1)
mov dword [ebp + 0xc0], ecx
fld st(3)
fmul st(4)
faddp st(1)
fsqrt
fstp dword [ebp + 0xc8]
fstp st(0)
fstp st(0)
fstp st(0)
fld dword [ebp + 0xc0]
fsub dword [ebp + 0x38]
fstp dword [ebp + 0xc0]
je 0x5607fc
test dl, 8
je 0x5607fc
mov ecx, dword [ebp]
mov esi, dword [0x85ff50]
mov esi, dword [esi + 0x34]
mov eax, ecx
and eax, 0xffff
lea eax, [eax + eax*2]
mov eax, dword [esi + eax*4 + 8]
cmp dword [eax + 0x218], 0xffffffff
je 0x5607fc
mov eax, dword [eax]
mov esi, dword [0x87b7b4]
and eax, 0xffff
shl eax, 5
mov esi, dword [eax + esi + 0x14]
test byte [esi + 0x2f4], 0x18
jne 0x5607fc
fld dword [esi + 0x424]
and dl, 0x80
fmul dword [0x672af4]
neg dl
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], ebx
fstp dword [esp + 0x40]
sbb edx, edx
and edx, 0xffdffd00
add edx, 0x20c3a0
mov eax, edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x1c], edx
fld dword [esp + 0x1c]
fadd dword [esp + 0x40]
lea edx, [esp + 0x3a8]
push edx
mov edx, dword [esp + 0x44]
push ecx
fstp dword [esp + 0x24]
mov ecx, dword [esi + 0x42c]
push ecx
push 0
push edx
lea ecx, [esp + 0x28]
push ecx
push eax
call fcn.005065e0
add esp, 0x1c
test al, al
je 0x5607fc
fld dword [esi + 0x42c]
mov eax, dword [0x696720]
fadd st(0), st(0)
lea edx, [esp + 0x37c]
push edx
lea ecx, [esp + 0x3ac]
fsubr dword [esi + 0x424]
fld st(0)
fmul dword [eax]
fstp dword [esp + 0x28]
fld st(0)
fmul dword [eax + 4]
fstp dword [esp + 0x2c]
fmul dword [eax + 8]
lea eax, [esp + 0x28]
push eax
lea eax, [ebp + 0xac]
push eax
fstp dword [esp + 0x38]
push ecx
call fcn.00504d50
add esp, 0x10
test al, al
je 0x5607fc
or byte [ebp + 0xa0], 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xafa0
ret
cmp word [ecx + 0xb4], ax
je 0x56081f
fcom dword [esp + 0x4c]
fnstsw ax
test ah, 0x41
jne 0x560555
mov bx, word [ecx + 0xb4]
fstp dword [esp + 0x4c]
mov esi, edx
jmp 0x560557