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

Disassembly:
push ebx
push esi
push edi
push ebp
mov ebp, ecx
sub esp, 0x160
mov eax, dword [ebp + 0x4c]
push eax
call fcn.00402e20
fld dword [0x691e34]
fstp dword [esp + 0x1c]
fld dword [0x691e34]
mov edi, dword [0x9388c4]
xor ebx, ebx
fstp dword [esp + 0x20]
mov esi, dword [ebp + 0x3d8]
pop ecx
cmp esi, edi
mov byte [esp + 0xc], 0
mov dword [esp + 0x5c], 0
mov byte [esp + 0x10], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
sete byte [esp + 8]
mov cl, byte [ebp + 0x150]
shr cl, 6
and cl, 1
je 0x503757
mov esi, dword [ebp + 0x55c]
test esi, esi
je 0x503757
cmp esi, 0x12c
jae 0x503757
dec dword [ebp + 0x55c]
cmp dword [ebp + 0x55c], 0
jne 0x503757
mov dl, byte [ebp + 0x150]
and dl, 0xbf
mov byte [ebp + 0x150], dl
mov cl, byte [ebp + 0x14c]
and cl, 1
jne 0x5037ac
add esp, 0x160
pop ebp
pop edi
pop esi
pop ebx
ret
movzx esi, word [eax + 0x2e]
mov edx, esi
and edx, 0x100
je 0x503790
fld dword [esp + 0x1c]
fadd dword [eax + 0x18]
mov ebx, eax
fstp dword [esp + 0x1c]
jmp 0x5037a3
and esi, 0x400
jne 0x5037a3
fld dword [esp + 0x18]
fadd dword [eax + 0x18]
fstp dword [esp + 0x18]
fcompp
push eax
call fcn.004075d0
pop ecx
test eax, eax
fldz
fldz
jne 0x503770
test ebx, ebx
je 0x5049b0
fld dword [esp + 0x1c]
fcomp dword [0x691e84]
fnstsw ax
test ah, 0x45
jne 0x5049b7
fld dword [esp + 0x18]
fcomp dword [0x691e3c]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x5049c0
mov eax, dword [ebx + 0x14]
cmp byte [esp + 8], 0
fld dword [eax + 0x20]
fmul dword [0x691e84]
fadd dword [0x692040]
fstp st(2)
je 0x503aa0
cmp byte [0x707f24], 0
jne 0x503822
mov byte [0x707f24], 1
mov dword [0x707f20], 0x3f800000
cmp byte [0x707f2c], 0
jne 0x50383c
mov byte [0x707f2c], 1
mov dword [0x707f28], 0x41700000
cmp word [ebx + 0x2c], 0
jne 0x503855
fld dword [0x691e34]
fstp dword [esp + 0x20]
fld dword [0x692044]
jmp 0x503865
fld dword [0x691e34]
fstp dword [esp + 0x20]
fld dword [0x692048]
fstp dword [esp + 0x3c]
fcompp
mov al, byte [ebp + 0x11c]
push eax
call fcn.004ce7f0
cmp eax, 5
pop ecx
ja case.0x503881.0
jmp dword [eax*4 + 0x69253c]
call fcn.00649a40
movzx eax, ax
and eax, 0x7f
jne 0x5038a4
mov ecx, ebp
push 0
push 0x1b
push 0
call fcn.004fda10
jmp 0x5038c8
fld dword [ebp + 0x1fc]
fmul dword [0x691e84]
fstp dword [ebp + 0x1fc]
fld dword [ebp + 0x200]
fmul dword [0x691e84]
fstp dword [ebp + 0x200]
fld dword [0x691e84]
jmp 0x503956
call fcn.00649a40
movzx eax, ax
and eax, 0x3f
jne 0x5038f0
mov ecx, ebp
push 0
push 0x1b
push 0
call fcn.004fda10
jmp 0x503914
fld dword [ebp + 0x1fc]
fmul dword [0x691e70]
fstp dword [ebp + 0x1fc]
fld dword [ebp + 0x200]
fmul dword [0x691e70]
fstp dword [ebp + 0x200]
fld dword [0x691e70]
fstp dword [esp + 0x24]
jmp 0x50395a
fld dword [ebp + 0x1fc]
fmul dword [0x691fe0]
fstp dword [ebp + 0x1fc]
fld dword [ebp + 0x200]
fmul dword [0x691fe0]
fstp dword [ebp + 0x200]
fld dword [0x691e70]
jmp 0x503956
fld dword [0x691e3c]
fstp dword [esp + 0x24]
fldz
fld dword [esp + 0x24]
fcomp dword [0x691e70]
fnstsw ax
test ah, 0x45
jne 0x5039f6
fld dword [ebx + 0x20]
fst st(1)
fcomp dword [esp + 0x20]
fnstsw ax
test ah, 0x45
jne 0x5039f6
fld st(0)
fsub dword [ebx + 0x28]
fcomp dword [esp + 0x20]
fnstsw ax
test ah, 4
jne 0x5039f6
and ah, 0x45
test ah, 0x41
je 0x5039f6
fld dword [0x69204c]
fmul dword [esp + 0x24]
movsx edi, word [ebx + 0x2c]
fnstcw word [esp + 0x14]
mov eax, dword [esp + 0x14]
or byte [esp + 0x15], 0xc
fldcw word [esp + 0x14]
fistp dword [esp + 0x40]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x14], eax
movzx eax, cl
shl edi, 8
mov ecx, 0xa10b93
fldcw word [esp + 0x14]
or edi, eax
push eax
mov dword [esp + 0x44], edi
fild dword [esp + 0x44]
fstp dword [esp]
mov eax, dword [ebp + 0x64]
push 0xbd
push eax
fstp st(0)
call fcn.005f9dc0
jmp 0x50413f
fld dword [esp + 0x24]
fcomp dword [0x691e70]
fnstsw ax
test ah, 0x45
jne 0x5049c7
fld dword [ebx + 0x20]
fst st(1)
fcomp dword [esp + 0x3c]
fnstsw ax
test ah, 0x45
jne 0x5049d0
fld st(0)
fsub dword [ebx + 0x28]
fcomp dword [esp + 0x3c]
fnstsw ax
test ah, 4
jne 0x5049d7
and ah, 0x45
test ah, 0x41
je 0x5049d7
fld dword [0x69204c]
fmul dword [esp + 0x24]
movsx edx, word [ebx + 0x2c]
fnstcw word [esp + 0x14]
mov eax, dword [esp + 0x14]
or byte [esp + 0x15], 0xc
fldcw word [esp + 0x14]
fistp dword [esp + 0x40]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x14], eax
movzx eax, cl
shl edx, 8
mov ecx, 0xa10b93
fldcw word [esp + 0x14]
or edx, eax
push eax
mov dword [esp + 0x44], edx
fild dword [esp + 0x44]
fstp dword [esp]
mov eax, dword [ebp + 0x64]
push 0xbd
push eax
fstp st(0)
call fcn.005f9dc0
jmp 0x50413f
fld dword [ebx + 0x20]
fst st(1)
fcomp dword [0x692040]
fnstsw ax
test ah, 5
jne 0x503d40
fld st(0)
fsub dword [ebx + 0x28]
fcomp dword [0x692040]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x503d40
fcompp
mov eax, dword [ebp + 0x64]
mov ecx, 0xa10b93
push dword [0x691e3c]
push 0x21
push eax
call fcn.005f9dc0
mov eax, dword [ebp + 0x4c]
push eax
call fcn.0057f270
mov edi, dword [ebp + 0x1cc]
mov esi, eax
mov eax, dword [edi + 0x14]
pop ecx
push eax
push esi
call fcn.006463e0
pop ecx
pop ecx
push esi
mov edi, eax
call fcn.006463c0
shl edi, 6
lea edx, [esp + 0x58]
add edi, eax
lea eax, [esp + 0x58]
pop ecx
push edi
push 1
push edx
push eax
call fcn.006471b0
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x78], eax
mov byte [esp + 0x20], 1
mov dword [esp + 0x74], ecx
lea eax, [ebp + 0x14]
lea esi, [eax]
lea edi, [esp + 0x7c]
movsd dword es:[edi], dword [esi]
fldz
add esp, 0x10
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebp + 4]
lea edi, [esp + 0x78]
lea esi, [eax]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
fld dword [esp + 0x68]
fsub dword [0x691e58]
mov eax, dword [esp + 0x70]
mov dword [esp + 0x2c], eax
fstp dword [esp + 0x68]
fld dword [0x691e70]
fmul dword [esp + 0x2c]
fstp st(1)
fld dword [0x691e70]
fmul dword [esp + 0x6c]
fadd dword [esp + 0x60]
fstp dword [esp + 0x60]
fld dword [esp + 0x64]
fadd st(1)
fstp dword [esp + 0x64]
fld dword [0x691e70]
fmul dword [esp + 0x74]
fadd dword [esp + 0x68]
fstp dword [esp + 0x68]
mov al, byte [ebp + 0x150]
shr al, 6
and al, 1
je 0x5049a0
fld dword [0x691e74]
fmul dword [esp + 0x7c]
push dword [0x691e3c]
push 0xbb8
push dword [0x691e2c]
push 0
push 0
push 0xff
push 0xff
push eax
fstp dword [esp]
fld dword [0x691e74]
fmul dword [esp + 0x98]
push eax
fstp dword [esp]
fld dword [0x691e78]
fmul dword [esp + 0x50]
push eax
fstp dword [esp]
fld dword [0x691e78]
fmul dword [esp + 0x94]
push eax
fstp dword [esp]
mov eax, dword [0xa0dad0]
lea edi, [esp + 0x8c]
push edi
push eax
push 1
fstp st(0)
call fcn.0056ec70
add esp, 0x38
cmp dword [ebp + 0x55c], 0x14
jbe 0x503c50
sub dword [ebp + 0x55c], 0x14
jmp 0x503c68
mov dword [ebp + 0x55c], 0
mov al, byte [ebp + 0x150]
and al, 0xbf
mov byte [ebp + 0x150], al
mov al, byte [ebp + 0x11c]
cmp al, 0x12
je 0x503c76
cmp al, 0x21
jne 0x503ceb
fld dword [0x691e58]
fmul dword [esp + 0x7c]
push dword [0x691e3c]
push 0x1388
push dword [0x691e2c]
push 0x32
push 0xfa
push 0xfa
push 0x78
push eax
fstp dword [esp]
fld dword [0x691e58]
fmul dword [esp + 0x98]
push eax
fstp dword [esp]
fld dword [0x692050]
fmul dword [esp + 0x50]
push eax
fstp dword [esp]
fld dword [0x692050]
fmul dword [esp + 0x94]
push eax
fstp dword [esp]
mov eax, dword [0x9b5f34]
lea edx, [esp + 0x8c]
push edx
push eax
push 1
call fcn.0056ec70
add esp, 0x38
fld dword [0x975348]
fcomp dword [0x691e58]
fnstsw ax
test ah, 0x45
jne 0x503d14
call fcn.0057e100
test al, al
jne 0x503d14
call fcn.0057e0e0
test al, al
je 0x50413f
cmp dword [ebp + 0x3d4], 0
jne 0x503d21
mov al, 1
jmp 0x503d23
xor al, al
test al, al
je 0x50413f
lea eax, [esp + 0x60]
push 4
push dword [0x691e34]
jmp 0x504135
fcom st(1)
fnstsw ax
test ah, 5
jne 0x5049e0
fld st(0)
fsub dword [ebx + 0x28]
fcomp st(2)
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x5049e7
fcompp
mov eax, dword [ebp + 0x64]
mov ecx, 0xa10b93
push dword [0x691e3c]
push 0x22
push eax
call fcn.005f9dc0
mov eax, dword [ebp + 0x4c]
push eax
call fcn.0057f270
mov esi, dword [ebp + 0x1d0]
mov edi, eax
mov eax, dword [esi + 0x14]
pop ecx
push eax
push edi
call fcn.006463e0
pop ecx
pop ecx
push edi
mov esi, eax
call fcn.006463c0
shl esi, 6
pop ecx
lea ecx, [esp + 0x48]
add esi, eax
lea eax, [esp + 0x48]
push esi
push 1
push ecx
push eax
call fcn.006471b0
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x14], ebp
mov dword [esp + 0x9c], eax
add dword [esp + 0x14], 4
add dword [esp + 0x14], 0x10
mov eax, dword [esp + 0x14]
mov byte [esp + 0x1c], 1
lea edi, [esp + 0xa0]
mov dword [esp + 0x98], edx
lea esi, [eax]
add esp, 0x10
movsd dword es:[edi], dword [esi]
fldz
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebp + 4]
lea edi, [esp + 0x9c]
lea esi, [eax]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
fld dword [esp + 0x8c]
fsub dword [0x691e58]
mov eax, dword [esp + 0x94]
mov dword [esp + 0x30], eax
fstp dword [esp + 0x8c]
fld dword [0x691e70]
fmul dword [esp + 0x30]
fstp st(1)
fld dword [0x691e70]
fmul dword [esp + 0x90]
fadd dword [esp + 0x84]
fstp dword [esp + 0x84]
fld dword [esp + 0x88]
fadd st(1)
fstp dword [esp + 0x88]
fld dword [0x691e70]
fmul dword [esp + 0x98]
fadd dword [esp + 0x8c]
fstp dword [esp + 0x8c]
mov al, byte [ebp + 0x150]
shr al, 6
and al, 1
je 0x5049a7
fld dword [0x691e58]
fmul dword [esp + 0xa0]
push dword [0x691e3c]
push 0xbb8
push dword [0x691e2c]
push 0
push 0
push 0xff
push 0xff
push eax
fstp dword [esp]
fld dword [0x691e58]
fmul dword [esp + 0xbc]
push eax
fstp dword [esp]
fld dword [0x691e78]
fmul dword [esp + 0x54]
push eax
fstp dword [esp]
fld dword [0x691e78]
fmul dword [esp + 0xb8]
push eax
fstp dword [esp]
mov eax, dword [0xa0dad0]
lea esi, [esp + 0xb0]
push esi
push eax
push 1
fstp st(0)
call fcn.0056ec70
add esp, 0x38
cmp dword [ebp + 0x55c], 0x14
jbe 0x503f20
sub dword [ebp + 0x55c], 0x14
jmp 0x503f38
mov dword [ebp + 0x55c], 0
mov al, byte [ebp + 0x150]
and al, 0xbf
mov byte [ebp + 0x150], al
cmp byte [esp + 8], 0
jne 0x503fc9
mov al, byte [ebp + 0x11c]
cmp al, 0x12
je 0x503f51
cmp al, 0x21
jne 0x503fc9
fld dword [0x691e74]
fmul dword [esp + 0xa0]
push dword [0x691e3c]
push 0x1388
push dword [0x691e2c]
push 0x32
push 0xfa
push 0xfa
push 0x78
push eax
fstp dword [esp]
fld dword [0x691e74]
fmul dword [esp + 0xbc]
push eax
fstp dword [esp]
fld dword [0x692050]
fmul dword [esp + 0x54]
push eax
fstp dword [esp]
fld dword [0x692050]
fmul dword [esp + 0xb8]
push eax
fstp dword [esp]
mov eax, dword [0x9b5f34]
lea ecx, [esp + 0xb0]
push ecx
push eax
push 1
call fcn.0056ec70
add esp, 0x38
fld dword [0x975348]
fcomp dword [0x691e58]
fnstsw ax
test ah, 0x45
jne 0x504113
call fcn.0057e100
test al, al
jne 0x504113
call fcn.0057e0e0
test al, al
jne 0x504113
mov eax, dword [str.]
mov dword [esp], 0
mov dword [esp + 0x15c], eax
lea eax, [eax]
lea esi, [esp + 0x84]
lea edi, [esp + 0x150]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.00649a40
and eax, 0xffff
mov dword [esp + 0x40], eax
fild dword [esp + 0x40]
fmul dword [0x691e90]
fmul dword [0x691e70]
fadd dword [0x691f30]
fadd dword [esp + 0x150]
fstp dword [esp + 0x150]
call fcn.00649a40
and eax, 0xffff
mov dword [esp + 0x40], eax
fild dword [esp + 0x40]
fmul dword [0x691e90]
fmul dword [0x691e70]
fadd dword [0x691f30]
fadd dword [esp + 0x154]
fstp dword [esp + 0x154]
call fcn.00649a40
mov esi, dword [esp + 4]
fldz
fldz
fld dword [0x692054]
fmul dword [esi + 8]
movzx eax, ax
push 0xc8
fstp st(1)
fld dword [0x692054]
fmul dword [esi + 4]
and eax, 1
push eax
lea eax, [esp + 0x164]
fstp st(2)
fld dword [0x692054]
fmul dword [esi]
push 0
push 0
fstp dword [esp + 0x154]
fld st(1)
lea edx, [esp + 0x154]
push eax
lea eax, [esp + 0x164]
fstp dword [esp + 0x15c]
fst dword [esp + 0x160]
fcompp
push dword [0x691e50]
push 0
push edx
push eax
push 0x26
call fcn.00563ce0
inc dword [esp + 0x28]
add esp, 0x28
cmp dword [esp], 4
jl 0x504010
jmp 0x50413f
cmp dword [ebp + 0x3d4], 0
jne 0x504120
mov al, 1
jmp 0x504122
xor al, al
test al, al
je 0x50413f
lea eax, [esp + 0x84]
push 4
push dword [0x691e34]
push eax
push ebp
call fcn.00504a20
add esp, 0x10
cmp dword [ebp + 0x3d4], 0
jne 0x504150
mov al, 1
jmp 0x504152
xor al, al
test al, al
je 0x504629
test ebx, ebx
jne 0x504629
mov al, byte [ebp + 0x14d]
shr al, 4
and al, 1
je 0x504629
cmp byte [esp + 0x10], 0
je 0x504192
mov edi, dword [esp + 0x58]
mov eax, dword [esp + 0x54]
mov dword [esp + 0xac], edi
mov dword [esp + 0xa8], eax
jmp 0x5041e9
mov eax, dword [ebp + 0x4c]
push eax
call fcn.0057f270
pop ecx
mov ecx, dword [ebp + 0x1cc]
mov esi, eax
mov eax, dword [ecx + 0x14]
push eax
push esi
call fcn.006463e0
pop ecx
pop ecx
push esi
mov edi, eax
call fcn.006463c0
shl edi, 6
lea edx, [esp + 0x58]
add edi, eax
lea eax, [esp + 0x58]
pop ecx
push edi
push 1
push edx
push eax
call fcn.006471b0
mov ecx, dword [esp + 0x68]
add esp, 0x10
mov eax, dword [esp + 0x54]
mov dword [esp + 0xac], ecx
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0xb0], eax
lea ebx, [ebp + 0x14]
lea edi, [esp + 0xb4]
mov eax, ebx
lea esi, [eax]
movsd dword es:[edi], dword [esi]
fldz
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebp + 4]
lea edi, [esp + 0xc0]
lea esi, [eax]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
fld dword [esp + 0xb0]
fsub dword [0x691e58]
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x34], eax
fstp dword [esp + 0xb0]
fld dword [0x691e70]
fmul dword [esp + 0x34]
fstp st(1)
fld dword [0x691e70]
fmul dword [esp + 0xb4]
fadd dword [esp + 0xa8]
fstp dword [esp + 0xa8]
fld dword [esp + 0xac]
fadd st(1)
fstp dword [esp + 0xac]
fld dword [0x691e70]
fmul dword [esp + 0xbc]
fadd dword [esp + 0xb0]
fstp dword [esp + 0xb0]
mov al, byte [ebp + 0x150]
shr al, 6
and al, 1
je 0x5049f0
fld dword [0x691e74]
fmul dword [esp + 0xc4]
push dword [0x691e3c]
push 0xbb8
push dword [0x691e2c]
push 0
push 0
push 0xff
push 0xff
push eax
fstp dword [esp]
fld dword [0x691e74]
fmul dword [esp + 0xe0]
push eax
fstp dword [esp]
fld dword [0x691e78]
fmul dword [esp + 0x58]
push eax
fstp dword [esp]
fld dword [0x691e78]
fmul dword [esp + 0xdc]
push eax
fstp dword [esp]
mov eax, dword [0xa0dad0]
lea edi, [esp + 0xd4]
push edi
push eax
push 1
fstp st(0)
call fcn.0056ec70
add esp, 0x38
cmp dword [ebp + 0x55c], 0x14
jbe 0x504324
sub dword [ebp + 0x55c], 0x14
jmp 0x50433c
mov dword [ebp + 0x55c], 0
mov al, byte [ebp + 0x150]
and al, 0xbf
mov byte [ebp + 0x150], al
cmp byte [esp + 8], 0
jne 0x5043cd
mov al, byte [ebp + 0x11c]
cmp al, 0x12
je 0x504355
cmp al, 0x21
jne 0x5043cd
fld dword [0x691e74]
fmul dword [esp + 0xc4]
push dword [0x691e3c]
push 0x1388
push dword [0x691e2c]
push 0x32
push 0xfa
push 0xfa
push 0x78
push eax
fstp dword [esp]
fld dword [0x691e74]
fmul dword [esp + 0xe0]
push eax
fstp dword [esp]
fld dword [0x692050]
fmul dword [esp + 0x58]
push eax
fstp dword [esp]
fld dword [0x692050]
fmul dword [esp + 0xdc]
push eax
fstp dword [esp]
mov eax, dword [0x9b5f34]
lea esi, [esp + 0xd4]
push esi
push eax
push 1
call fcn.0056ec70
add esp, 0x38
cmp byte [esp + 0xc], 0
je 0x5043f0
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov dword [esp + 0xd0], edx
mov dword [esp + 0xcc], eax
jmp 0x504447
mov eax, dword [ebp + 0x4c]
push eax
call fcn.0057f270
pop ecx
mov ecx, dword [ebp + 0x1d0]
mov edi, eax
mov eax, dword [ecx + 0x14]
push eax
push edi
call fcn.006463e0
pop ecx
pop ecx
push edi
mov esi, eax
call fcn.006463c0
shl esi, 6
pop ecx
add esi, eax
lea eax, [esp + 0x48]
push esi
lea esi, [esp + 0x4c]
push 1
push esi
push eax
call fcn.006471b0
mov ecx, dword [esp + 0x5c]
add esp, 0x10
mov eax, dword [esp + 0x48]
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0xd4], eax
lea esi, [ebx]
lea edi, [esp + 0xd8]
movsd dword es:[edi], dword [esi]
fldz
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebp + 4]
lea edi, [esp + 0xe4]
lea esi, [eax]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
fld dword [esp + 0xd4]
fsub dword [0x691e58]
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x38], eax
fstp dword [esp + 0xd4]
fld dword [0x691e70]
fmul dword [esp + 0x38]
fstp st(1)
fld dword [0x691e70]
fmul dword [esp + 0xd8]
fadd dword [esp + 0xcc]
fstp dword [esp + 0xcc]
fld dword [esp + 0xd0]
fadd st(1)
fstp dword [esp + 0xd0]
fld dword [0x691e70]
fmul dword [esp + 0xe0]
fadd dword [esp + 0xd4]
fstp dword [esp + 0xd4]
mov al, byte [ebp + 0x150]
shr al, 6
and al, 1
je 0x5049f7
fld dword [0x691e58]
fmul dword [esp + 0xe8]
push dword [0x691e3c]
push 0xbb8
push dword [0x691e2c]
push 0
push 0
push 0xff
push 0xff
push eax
fstp dword [esp]
fld dword [0x691e58]
fmul dword [esp + 0x104]
push eax
fstp dword [esp]
fld dword [0x691e78]
fmul dword [esp + 0x5c]
push eax
fstp dword [esp]
fld dword [0x691e78]
fmul dword [esp + 0x100]
push eax
fstp dword [esp]
mov eax, dword [0xa0dad0]
lea edx, [esp + 0xf8]
push edx
push eax
push 1
fstp st(0)
call fcn.0056ec70
add esp, 0x38
cmp dword [ebp + 0x55c], 0x14
jbe 0x504580
sub dword [ebp + 0x55c], 0x14
jmp 0x504598
mov dword [ebp + 0x55c], 0
mov al, byte [ebp + 0x150]
and al, 0xbf
mov byte [ebp + 0x150], al
cmp byte [esp + 8], 0
jne 0x504629
mov al, byte [ebp + 0x11c]
cmp al, 0x12
je 0x5045b1
cmp al, 0x21
jne 0x504629
fld dword [0x691e74]
fmul dword [esp + 0xe8]
push dword [0x691e3c]
push 0x1388
push dword [0x691e2c]
push 0x32
push 0xfa
push 0xfa
push 0x78
push eax
fstp dword [esp]
fld dword [0x691e74]
fmul dword [esp + 0x104]
push eax
fstp dword [esp]
fld dword [0x692050]
fmul dword [esp + 0x5c]
push eax
fstp dword [esp]
fld dword [0x692050]
fmul dword [esp + 0x100]
push eax
fstp dword [esp]
mov eax, dword [0x9b5f34]
lea esi, [esp + 0xf8]
push esi
push eax
push 1
call fcn.0056ec70
add esp, 0x38
cmp byte [ebp + 0x11c], 0x13
fldz
jne 0x504a17
mov eax, dword [0x691e04]
mov dword [esp + 0xf0], eax
fld dword [ebp + 0x74]
fst st(1)
fmul st(0)
fld dword [ebp + 0x70]
fstp st(2)
fld st(1)
fmul st(0)
faddp st(1)
fst st(1)
fcomp dword [0x692058]
fnstsw ax
test ah, 0x45
jne 0x504a00
mov eax, dword [0xa0d8a0]
and eax, 1
jne 0x504a07
fcom dword [0x69205c]
fnstsw ax
test ah, 0x45
jne 0x504a10
fld st(0)
fsqrt
fstp dword [esp + 0x40]
fld dword [esp + 0x40]
fst st(1)
fmul qword [0x691f90]
fstp dword [esp + 0x40]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x28], eax
fld dword [esp + 0x28]
fcomp dword [0x691e4c]
fnstsw ax
and ah, 5
cmp ah, 1
jne 0x5046c6
fld dword [0x691e4c]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fcomp dword [0x691f14]
fnstsw ax
test ah, 0x45
jne 0x5046e1
fld dword [0x691f14]
fstp dword [esp + 0x28]
fld dword [0x691fe0]
lea eax, [ebp + 0x14]
lea ebx, [ebp + 0x34]
fmul dword [eax]
lea edi, [esp + 0xf4]
fadd dword [ebx]
fstp dword [esp + 0x124]
fld dword [0x691fe0]
fmul dword [eax + 4]
lea esi, [esp + 0x124]
fadd dword [ebx + 4]
fstp dword [esp + 0x128]
fld dword [0x691fe0]
fmul dword [eax + 8]
fadd dword [ebx + 8]
fstp dword [esp + 0x12c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
fld dword [esp + 0xfc]
fsub dword [0x692034]
lea edi, [esp + 0x100]
fstp dword [esp + 0xfc]
fld dword [0x692060]
fmul dword [ebp + 0x70]
fstp dword [esp + 0x130]
fld dword [0x692060]
fmul dword [ebp + 0x74]
lea esi, [esp + 0x130]
fstp dword [esp + 0x134]
fld dword [0x692060]
fmul dword [ebp + 0x78]
fstp dword [esp + 0x138]
movsd dword es:[edi], dword [esi]
fstp st(0)
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.00649a40
and eax, 0xffff
lea ecx, [esp + 0x13c]
mov dword [esp + 0x40], eax
fild dword [esp + 0x40]
push 0
push 0
fmul dword [0x691e90]
push 0
push 0
fmul dword [0x691edc]
fadd dword [0x691ef8]
fstp dword [esp + 0x118]
call fcn.00541590
fld dword [0x691e84]
fmul dword [esp + 0x28]
lea eax, [esp + 0x13c]
push 0
push 0
push 0
push 0
push eax
push eax
fstp dword [esp]
lea eax, [esp + 0x10c]
lea ecx, [esp + 0x118]
push 0
push ecx
push eax
push 0x2e
call fcn.00563ce0
lea eax, [esp + 0x118]
add esp, 0x28
lea edi, [esp + 0x100]
push 0
push 0
push 0
push 0
push eax
lea eax, [esp + 0x108]
push dword [esp + 0x3c]
push 0
push edi
push eax
push 0x44
call fcn.00563ce0
add esp, 0x28
cmp dword [ebp + 0x244], 0x29
jne 0x50498f
add ebp, 0x34
lea edi, [esp + 0x10c]
lea esi, [ebp]
movsd dword es:[edi], dword [esi]
push 0
push 0
push 0
push 0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
fld dword [esp + 0x124]
fsub dword [0x691e58]
lea ecx, [esp + 0x150]
mov dword [esp + 0x128], 0
mov dword [esp + 0x130], 0x3d99999a
mov dword [esp + 0x12c], 0
fstp dword [esp + 0x124]
call fcn.00541590
lea eax, [esp + 0x140]
lea edx, [esp + 0x118]
push 0
push 0
push 0
push 0
push eax
lea eax, [esp + 0x120]
push dword [0x691e9c]
push 0
push edx
push eax
push 0x2e
call fcn.00563ce0
add esp, 0x28
call fcn.00649a40
and eax, 0xffff
mov dword [esp + 0x40], eax
fild dword [esp + 0x40]
fmul dword [0x691e90]
fmul dword [0x691e58]
fadd dword [0x692054]
fadd dword [esp + 0x118]
fstp dword [esp + 0x118]
call fcn.00649a40
and eax, 0xffff
mov dword [esp + 0x40], eax
fild dword [esp + 0x40]
fmul dword [0x691e90]
fmul dword [0x691e58]
fadd dword [0x692054]
fadd dword [esp + 0x11c]
fstp dword [esp + 0x11c]
call fcn.00649a40
and eax, 0xffff
lea esi, [esp + 0x118]
mov dword [esp + 0x40], eax
lea eax, [esp + 0xf0]
fild dword [esp + 0x40]
push 0
push 0
fmul dword [0x691e90]
push 0
push 0
fmul dword [0x692064]
push eax
lea eax, [esp + 0x120]
push dword [0x691e84]
fadd dword [0x692064]
push 0
push esi
push eax
fsubr dword [esp + 0x144]
push 0x44
fstp dword [esp + 0x148]
call fcn.00563ce0
add esp, 0x28
add esp, 0x160
pop ebp
pop edi
pop esi
pop ebx
ret
fstp st(0)
jmp 0x503c68
fstp st(0)
jmp 0x503f38
fcompp
jmp 0x50413f
fcompp
jmp 0x50413f
fcompp
jmp 0x50413f
fstp st(0)
jmp 0x50413f
fstp st(0)
jmp 0x50413f
fstp st(0)
jmp 0x50413f
fcompp
jmp 0x50413f
fcompp
jmp 0x50413f
fstp st(0)
jmp 0x50433c
fstp st(0)
jmp 0x504598
fstp st(0)
jmp 0x50482f
fstp st(0)
jmp 0x50482f
fstp st(0)
jmp 0x50482f
fstp st(0)
jmp 0x50498f