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

Disassembly:
mov eax, 0xafa0
call fcn.005cd210
push ebx
push ebp
mov ebp, dword [esp + 0xafac]
xor eax, eax
mov ax, word [ebp + 4]
push esi
push edi
mov edi, dword [0x631d10]
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 0x562ad5
lea esi, [ebp + 0x14]
lea edi, [esp + 0x24]
lea ebx, [esp + 0x14]
call fcn.00562850
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 [0x612224]
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 0x562a85
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 0x562a95
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 0x563056
test al, 0x20
je 0x562b17
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 0x563056
test al, 1
je 0x562bf0
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 [0x612224]
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 0x562ba9
fld dword [ebp + 0x50]
fld dword [esp + 0x4c]
fmul st(1)
fstp dword [esp + 0xa0]
fmul dword [esp + 0x50]
jmp 0x562bbe
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 0x56304a
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 0x562d0d
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 [0x612220]
fucompp
fnstsw ax
test ah, 0x44
jp 0x562caf
push esi
lea eax, [esp + 0x34]
mov ecx, edi
call fcn.004052c0
add esp, 4
lea ecx, [esp + 0x30]
call fcn.00401990
fld dword [0x612220]
fucompp
fnstsw ax
test ah, 0x44
jp 0x562caf
mov ecx, dword [0x631d08]
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 0x562e79
fld dword [ebp + 0x88]
fcomp dword [0x61231c]
fnstsw ax
test ah, 0x41
jne 0x562d7a
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 0x562e79
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 0x562e7d
fld dword [esp + 0x54]
fmul dword [0x6123a0]
fstp dword [esp + 0x54]
lea ecx, [esp + 0x4c]
call fcn.00401990
fstp st(0)
cmp word [esp + 0x3c], 0
jne 0x562f26
fld dword [esp + 0x54]
fcomp dword [ebp + 0x6c]
fnstsw ax
test ah, 0x41
jp 0x562eab
fld dword [esp + 0x58]
fmul dword [ebp + 0x70]
jmp 0x562f2a
fld dword [esp + 0x54]
fcomp dword [ebp + 0x68]
fld dword [esp + 0x54]
fnstsw ax
test ah, 5
jp 0x562edf
fsub dword [ebp + 0x68]
fld dword [ebp + 0x70]
fsub dword [0x612224]
fmulp st(1)
fld dword [ebp + 0x6c]
fsub dword [ebp + 0x68]
fdivp st(1)
fadd dword [0x612224]
fmul dword [esp + 0x58]
jmp 0x562f2a
fcomp dword [ebp + 0x78]
fnstsw ax
test ah, 1
jne 0x562ef2
fld dword [esp + 0x58]
fmul dword [ebp + 0x7c]
jmp 0x562f2a
fld dword [esp + 0x54]
fcomp dword [ebp + 0x74]
fnstsw ax
test ah, 0x41
jne 0x562f26
fld dword [esp + 0x54]
fsub dword [ebp + 0x74]
fld dword [ebp + 0x7c]
fsub dword [0x612224]
fmulp st(1)
fld dword [ebp + 0x78]
fsub dword [ebp + 0x74]
fdivp st(1)
fadd dword [0x612224]
fmul dword [esp + 0x58]
jmp 0x562f2a
fld dword [esp + 0x58]
fld dword [0x612224]
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 0x562fc9
cmp word [esp + 0x3c], 0
jne 0x562fac
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 0x562fe1
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 [0x612628]
fsubr dword [esp + 0x30]
fld dword [esi + 4]
fmul dword [0x612628]
sbb ebx, ebx
and ebx, 2
fsubr dword [esp + 0x34]
fld dword [esi + 8]
mov word [ebp + 0xa0], bx
fmul dword [0x612628]
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 0x563056
fld dword [ebp + 0xc0]
fsub dword [0x637bf4]
fstp dword [ebp + 0xc0]
mov ax, word [ebp + 4]
test al, 0x40
je 0x563062
xor eax, eax
jmp 0x563080
test al, al
jns 0x56306d
mov eax, 0xc0a0
jmp 0x563080
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.0050aa60
add esp, 0x18
cmp ax, 0x10
mov dword [esp + 0x58], eax
jl 0x563101
or byte [ebp + 0xa0], 8
jmp 0x563108
and byte [ebp + 0xa0], 0xf7
or ecx, 0xffffffff
cmp word [esp + 0x58], 0
mov dword [ebp + 0xa8], ecx
jne 0x563664
mov eax, dword [ebp + 0x90]
cmp eax, ecx
je 0x563664
test eax, eax
mov edi, dword [0x6e2198]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x80], 0x7f7fffff
jl 0x563664
cmp eax, dword [edi + 0x3c]
jge 0x563664
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.0044e660
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 0x5631f0
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 0x56343d
test byte [ebp + 5], 2
mov edx, dword [esp + 0xb8]
lea ecx, [edi + edi*2]
lea ecx, [edx + ecx*4]
jne 0x563237
test byte [ecx + 8], 4
je 0x56343d
mov eax, dword [0x6e2198]
mov edx, dword [ecx]
push eax
lea eax, [esp + 0x88]
call fcn.0044e660
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 [0x612220]
fnstsw ax
test ah, 0x41
jne 0x56343d
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 [0x612354]
fcompp
fnstsw ax
test ah, 5
jp 0x56343d
mov eax, dword [0x6e2198]
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 [0x612220]
fnstsw ax
test ah, 5
jp 0x563375
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 0x5633b2
fld dword [esp + 0x44]
fcomp dword [0x612224]
fnstsw ax
test ah, 0x41
jne 0x56339c
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 0x5633b2
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 0x56343b
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 0x56343d
fstp st(0)
mov eax, dword [esp + 0xa0]
movzx edx, bl
mov esi, dword [esi + edx*4 + 8]
cmp esi, eax
jne 0x5631f0
mov ecx, dword [esp + 0x6c]
or edx, 0xffffffff
cmp ecx, edx
je 0x563667
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 0x563667
fld dword [esp + 0x4c]
fcomp dword [0x6128d4]
fnstsw ax
test ah, 0x41
je 0x563667
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 [0x61221c]
fcompp
fnstsw ax
test ah, 5
jnp 0x563667
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 [0x612850]
fnstsw ax
test ah, 0x41
jne 0x5635a6
fadd dword [0x61222c]
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 0x563667
or edx, 0xffffffff
fld dword [esp + 0x70]
fmul dword [esp + 0x70]
fld dword [esp + 0x48]
fmul dword [esp + 0x48]
faddp st(1)
fcom dword [0x6128d0]
fnstsw ax
test ah, 0x41
jne 0x5636a2
fsqrt
fdivr qword [0x612258]
fld dword [esp + 0x48]
fmul st(1)
fstp dword [esp + 0x48]
fmul dword [esp + 0x70]
fstp dword [esp + 0x70]
jmp 0x5636a4
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 0x5639c4
xor esi, esi
cmp word [esp + 0x58], si
jle 0x5639c4
and eax, 0x80
mov dword [esp + 0x4c], eax
lea edx, [esp + 0xd0]
jmp 0x563700
mov eax, dword [esp + 0x4c]
lea ebx, [ebx]
test ax, ax
jne 0x563717
mov al, byte [esp + 0x5f]
test al, al
jne 0x563713
test byte [edx + 0x14], 4
je 0x563717
mov cl, 1
jmp 0x563719
xor cl, cl
mov eax, dword [ebp + 0xa8]
cmp eax, 0xffffffff
je 0x56373c
movsx edi, word [esp + 0x80]
imul edi, edi, 0x2c
cmp dword [esp + edi + 0xe0], eax
jne 0x56373c
mov bl, 1
jmp 0x56373e
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 0x5637af
mov al, byte [esp + 0x5f]
test al, al
jne 0x56378a
fld dword [esp + 0x70]
fmul dword [edx]
fld dword [esp + 0x48]
fmul dword [edx - 4]
faddp st(1)
fcomp dword [0x61221c]
fnstsw ax
test ah, 0x41
je 0x5637e3
mov al, byte [esp + 0x13]
test al, al
je 0x5637c5
test bl, bl
jne 0x5637c5
mov al, byte [esp + 0x23]
test al, al
jne 0x5637e3
fld dword [esp + 0x6c]
fcomp dword [esp + 0x40]
fnstsw ax
test ah, 0x41
je 0x5637c5
jmp 0x5637e3
mov al, byte [esp + 0x13]
test al, al
jne 0x5637e3
fld dword [edx + 4]
fcomp dword [esp + 0x3c]
fnstsw ax
test ah, 0x41
jne 0x5637e3
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 0x563835
test byte [edx + 0x14], 8
jne 0x56382b
mov eax, dword [edx + 0xc]
cmp eax, 0xffffffff
je 0x563835
and eax, 0xffff
lea ecx, [eax + eax*2]
mov eax, dword [0x7fb2d0]
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 0x563835
or ebx, 0x10
mov word [ebp + 0xa0], bx
inc esi
add edx, 0x2c
cmp si, word [esp + 0x58]
jl 0x5636f6
mov eax, dword [esp + 0x80]
cmp ax, 0xffff
je 0x5639c4
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 0x563963
mov al, byte [esp + 0x23]
test al, al
jne 0x563963
fld dword [esp + 0x3c]
fcomp dword [ebp + 0x64]
fnstsw ax
test ah, 1
jne 0x5639c4
test byte [esp + 0x44], 1
je 0x563963
fld dword [ebp + 0x5c]
fcomp dword [0x612340]
fnstsw ax
test ah, 5
jp 0x563963
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 0x563963
lea eax, [esp + 0x60]
call fcn.00401960
fdivr dword [esp + 0x48]
fcomp dword [ebp + 0x60]
fnstsw ax
test ah, 5
jnp 0x5639c4
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 0x5639a2
cmp edi, dword [ebp + 0xa8]
je 0x5639fe
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 0x563a08
mov ecx, dword [0x637c04]
mov edx, dword [0x637c08]
or byte [ebp + 0xa0], 1
lea eax, [ebp + 0x80]
mov dword [eax], ecx
mov ecx, dword [0x637c0c]
mov dword [eax + 4], edx
mov edx, dword [0x637c10]
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 0x563abd
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 0x563aa7
mov eax, edx
and eax, 0xffff
cmp esi, 0xffffffff
lea ecx, [eax + eax*2]
mov eax, dword [0x7fb2d0]
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 0x563d6f
mov eax, 1
cmp bx, ax
jne 0x563d57
cmp word [ecx + 0xb4], ax
je 0x563d60
fstp st(0)
mov eax, dword [esp + 0x40]
add edi, 0x2c
dec eax
mov dword [esp + 0x40], eax
jne 0x563a30
mov eax, dword [esp + 0x58]
test ax, ax
mov dword [ebp + 0x98], esi
mov dword [ebp + 0x9c], 0xffffffff
jle 0x563b9b
movzx edx, ax
lea ecx, [esp + 0xdc]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], edx
jmp 0x563af0
mov eax, dword [esp + 0x3c]
mov edx, dword [eax]
cmp edx, 0xffffffff
je 0x563b81
mov ecx, edx
xor edi, edi
sar ecx, 0x10
test dx, dx
jl 0x563b3b
mov esi, dword [0x7fb2d0]
cmp dx, word [esi + 0x20]
jge 0x563b3b
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 0x563b3b
test cx, cx
je 0x563b39
cmp si, cx
jne 0x563b3b
mov edi, eax
test edi, edi
je 0x563b81
mov cl, byte [edi + 3]
mov eax, 1
shl eax, cl
test al, al
jns 0x563b81
mov eax, dword [edi + 8]
test eax, eax
je 0x563b81
mov ecx, dword [eax]
mov eax, dword [0x816d04]
and ecx, 0xffff
shl ecx, 5
mov eax, dword [ecx + eax + 0x14]
test byte [eax + 0x292], 4
je 0x563b81
cmp word [eax + 0x2ea], 0xffff
je 0x563b81
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 0x563af0
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 0x563d4c
test dl, 8
je 0x563d4c
mov ecx, dword [ebp]
mov esi, dword [0x7fb2d0]
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 0x563d4c
mov eax, dword [eax]
mov esi, dword [0x816d04]
and eax, 0xffff
shl eax, 5
mov esi, dword [eax + esi + 0x14]
test byte [esi + 0x2f4], 0x18
jne 0x563d4c
fld dword [esi + 0x424]
and dl, 0x80
fmul dword [0x61221c]
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.00509ef0
add esp, 0x1c
test al, al
je 0x563d4c
fld dword [esi + 0x42c]
mov eax, dword [0x631d10]
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.00508660
add esp, 0x10
test al, al
je 0x563d4c
or byte [ebp + 0xa0], 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xafa0
ret
cmp word [ecx + 0xb4], ax
je 0x563d6f
fcom dword [esp + 0x4c]
fnstsw ax
test ah, 0x41
jne 0x563aa5
mov bx, word [ecx + 0xb4]
fstp dword [esp + 0x4c]
mov esi, edx
jmp 0x563aa7