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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x124
mov eax, dword [0x101eaae8]
mov ecx, dword [eax + 0x1994]
mov edx, dword [ebp + 8]
push ebx
push esi
push edi
mov edi, eax
add eax, 0x1994
mov byte [ecx + 0x7c], 1
mov eax, dword [eax]
mov esi, dword [eax + 0x274]
push edx
mov dword [esp + 0x78], edi
mov dword [esp + 0xf4], eax
call fcn.1004c890
add esp, 4
call fcn.1004ca50
mov ebx, dword [ebp + 0x10]
test ebx, 0x100
jne 0x1006f54a
or ebx, 0x10
mov dword [ebp + 0x10], ebx
test bl, 8
jne 0x1006f55c
mov eax, dword [ebp + 0xc]
push ebx
push eax
call fcn.10070fc0
add esp, 8
test ebx, 0x6000000
jne 0x1006f580
mov eax, dword [edi + 0x2bd8]
test eax, 0x6000000
jne 0x1006f576
mov eax, 0x2900000
and eax, 0x6000000
or ebx, eax
mov dword [ebp + 0x10], ebx
test bl, 8
jne 0x1006f596
mov ecx, dword [edi + 0x2bd8]
and ecx, 0x10000
or ebx, ecx
mov dword [ebp + 0x10], ebx
mov eax, ebx
and eax, 2
mov edi, eax
neg edi
sbb edi, edi
add edi, 4
test ebx, 0x10000
mov dword [esp + 0x1c], eax
je 0x1006f5b9
test eax, eax
mov byte [esp + 0x27], 1
je 0x1006f5be
mov byte [esp + 0x27], 0
mov eax, dword [esp + 0xf0]
mov edx, dword [eax + 0xc8]
mov dword [esp + 0x48], edx
mov eax, dword [eax + 0xcc]
mov dword [esp + 0x4c], eax
call fcn.10041fd0
fstp dword [esp + 0x60]
call fcn.100522e0
mov ecx, dword [esp + 0x74]
fld dword [ecx + 0x155c]
xor edx, edx
cmp byte [esp + 0x27], dl
fld dword [esp + 0x60]
fld st(0)
setne dl
faddp st(2)
add edx, 1
mov dword [esp + 0x7c], edx
fild dword [esp + 0x7c]
fmulp st(2)
fxch st(2)
fsubrp st(1)
fstp dword [esp + 0x7c]
fld dword [esp + 0x7c]
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x1006f62c
fstp st(0)
fst dword [esp + 0x3c]
jmp 0x1006f630
fstp dword [esp + 0x3c]
fld dword [esp + 0x48]
mov eax, ecx
fadd dword [esp + 0x3c]
fadd dword [eax + 0x155c]
fstp dword [esp + 0x80]
fld dword [esp + 0x80]
fadd st(1)
fst qword [esp + 0xc0]
fadd dword [eax + 0x155c]
fstp dword [esp + 0xd0]
fmul qword [0x101a7a10]
call fcn.10119820
mov dword [esp + 0x7c], eax
fild dword [esp + 0x7c]
add edi, edi
add edi, edi
push edi
mov dword [esp + 0x80], edi
fstp dword [esp + 0xf0]
mov edi, dword [ebp + 0xc]
lea eax, [esp + 0x124]
push edi
push eax
call fcn.10119fb0
fld dword [esp + 0x48]
fld qword [0x101a8d38]
add esp, 0xc
fmul st(1)
fstp dword [esp + 0x64]
fld st(0)
fld qword [0x101a5110]
fmul st(1), st(0)
fxch st(1)
fst dword [esp + 0x18]
fld dword [esp + 0x18]
fsub dword [esp + 0x64]
fstp dword [esp + 0x94]
fld st(2)
fadd dword [esp + 0x60]
fmulp st(2)
fld dword [esp + 0x48]
faddp st(2)
fxch st(1)
fstp dword [esp + 0xb0]
fadd dword [esp + 0x4c]
fstp dword [esp + 0xb4]
fld dword [esp + 0x94]
fst qword [esp + 0x50]
fxch st(1)
fmul qword [0x101a8d30]
call fcn.10119820
mov dword [esp + 0xc], eax
fisub dword [esp + 0xc]
lea edx, [esp + 0x84]
push edx
lea edx, [esp + 0x8c]
push edx
lea edx, [esp + 0x64]
lea eax, [edi + 8]
fstp dword [esp + 0x14]
lea ecx, [edi + 4]
fld dword [esp + 0x14]
push edx
fst dword [esp + 0xf0]
mov dword [esp + 0x7c], eax
fldz
mov dword [esp + 0x74], ecx
fstp dword [esp + 0xf4]
sub esp, 0xc
fld qword [0x101a8d28]
fmul st(1)
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fst dword [esp + 0xf4]
fld st(1)
fmul qword [0x101a8d20]
fstp dword [esp + 0xf8]
fstp dword [esp + 0xec]
fmul qword [0x101a8d18]
fstp dword [esp + 0xf0]
fld dword [eax]
fstp dword [esp + 8]
fld dword [ecx]
fstp dword [esp + 4]
fld dword [edi]
fstp dword [esp]
call fcn.10045890
push 1
push 8
mov byte [esp + 0x37], 0
mov byte [esp + 0x5b], 0
mov byte [esp + 0x5a], 0
call fcn.1004c4e0
mov eax, ebx
add esp, 0x20
and eax, 0x4000000
mov dword [esp + 0x10], eax
je 0x1006fb14
mov edi, dword [esp + 0x74]
fld dword [edi + 0x155c]
lea eax, [esp + 0x28]
fld dword [esp + 0x3c]
push eax
fld st(0)
push 0x101a8d10
faddp st(2)
fld dword [esp + 0x68]
faddp st(2)
fxch st(1)
fstp dword [esp + 0x30]
fstp dword [esp + 0x34]
call fcn.10058350
add esp, 8
call fcn.10040f80
test al, al
je 0x1006faf7
fld dword [edi + 0x390]
fld dword [esp + 0xb0]
fld st(0)
fsubp st(2)
fxch st(1)
fstp dword [esp + 0x98]
fld dword [edi + 0x394]
fld dword [esp + 0xb4]
fld st(0)
fsubp st(2)
fxch st(1)
fstp dword [esp + 0x9c]
fld dword [edi + 0xf0]
fsubrp st(2)
fxch st(1)
fstp dword [esp + 0x8c]
fsubr dword [edi + 0xf4]
fstp dword [esp + 0x90]
fld dword [esp + 0x98]
fld dword [esp + 0x9c]
fmul st(0), st(0)
fld st(1)
fmulp st(2)
faddp st(1)
fstp dword [esp + 0xc]
fld dword [esp + 0x94]
fst qword [esp + 0x50]
fld1
fsub st(1), st(0)
fld dword [esp + 0xc]
fld st(2)
fmulp st(3)
fcom st(2)
fnstsw ax
fstp st(2)
test ah, 1
jne 0x1006f907
fadd dword [esp + 0x18]
fmul st(0), st(0)
fcompp
fnstsw ax
test ah, 1
jne 0x1006f90b
fld dword [esp + 0x90]
fld dword [esp + 0x8c]
call fcn.1011d5fa
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fdiv qword [0x101a8d08]
fmul qword [0x101a5110]
fstp dword [esp + 0x5c]
fldz
fld dword [esp + 0x5c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x1006f8f9
fadd qword [0x101a6130]
mov byte [esp + 0x3b], 1
mov byte [esp + 0x17], 1
fstp dword [esp + 0x5c]
jmp 0x1006f90b
fstp st(0)
mov byte [esp + 0x3b], 1
mov byte [esp + 0x17], 1
jmp 0x1006f90b
fstp st(1)
fstp st(0)
fld dword [esp + 0x5c]
fchs
fadd st(0), st(0)
fmul qword [0x101a8d08]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
call fcn.1011b440
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fstp dword [esp + 0xc]
fld dword [esp + 0x20]
call fcn.1011b570
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
lea ecx, [esp + 0x28]
fstp dword [esp + 0x20]
push ecx
fld dword [esp + 0x9c]
lea edx, [esp + 0xd8]
fld st(0)
push edx
fld dword [esp + 0x14]
lea eax, [esp + 0xe4]
fld st(0)
push eax
fmulp st(2)
lea ecx, [esp + 0xf0]
fld dword [esp + 0xa8]
push ecx
fld st(0)
fld dword [esp + 0x30]
fld st(0)
fmulp st(2)
fxch st(4)
fsubrp st(1)
fstp dword [esp + 0x38]
fxch st(3)
fmulp st(2)
fmulp st(2)
faddp st(1)
fstp dword [esp + 0x3c]
call fcn.1003ebf0
add esp, 0x10
test al, al
je 0x1006faf7
fld dword [esp + 0xc]
lea edx, [esp + 0x98]
fld st(0)
push edx
fld dword [esp + 0x90]
lea eax, [esp + 0xd8]
fld st(0)
push eax
fmulp st(2)
lea ecx, [esp + 0xe4]
fld dword [esp + 0x28]
push ecx
fld st(0)
lea edx, [esp + 0xf0]
fld dword [esp + 0x9c]
push edx
fld st(0)
fmulp st(2)
fxch st(4)
fsubrp st(1)
fstp dword [esp + 0xa8]
fxch st(3)
fmulp st(2)
fmulp st(2)
faddp st(1)
fstp dword [esp + 0xac]
call fcn.1003ebf0
add esp, 0x10
test al, al
jne 0x1006fa52
lea eax, [esp + 0x98]
push eax
lea ecx, [esp + 0xd8]
push ecx
lea edx, [esp + 0xe4]
push edx
lea eax, [esp + 0xf0]
push eax
lea ecx, [esp + 0x38]
push ecx
call fcn.10045680
mov edx, dword [eax]
mov dword [esp + 0xac], edx
mov eax, dword [eax + 4]
add esp, 0x14
mov dword [esp + 0x9c], eax
lea ecx, [esp + 0x44]
push ecx
lea edx, [esp + 0x10]
push edx
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0xa4]
push ecx
lea edx, [esp + 0xe4]
push edx
lea eax, [esp + 0xf0]
push eax
lea ecx, [esp + 0xfc]
push ecx
call fcn.1003eca0
fld1
fstp dword [esp + 0x18]
add esp, 0x10
fld dword [0x101a8d04]
fstp dword [esp + 4]
fld dword [esp + 0x18]
fld1
fsubrp st(1)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.1005a130
fstp dword [esp + 0x90]
fld1
fstp dword [esp + 8]
fld dword [0x101a8d04]
fstp dword [esp + 4]
fld dword [esp + 0x2c]
fdiv dword [esp + 0x90]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.1005a130
fstp dword [esp + 0x94]
add esp, 0xc
mov byte [esp + 0x3a], 1
mov byte [esp + 0x17], 1
test bl, 8
jne 0x1006fc4f
push 1
push str.context
call fcn.1004ced0
add esp, 8
jmp 0x1006fc53
test ebx, 0x2000000
je 0x1006fc4f
fld dword [esp + 0x3c]
lea edx, [esp + 0x28]
push edx
fst dword [esp + 0x2c]
push 0x101a8d00
fstp dword [esp + 0x34]
call fcn.10058350
add esp, 8
call fcn.10040f80
test al, al
je 0x1006fbb3
fld dword [esp + 0x3c]
mov ecx, dword [esp + 0x74]
fsub qword [0x101a6130]
push ecx
fst qword [esp + 0x2c]
fld dword [ecx + 0xf0]
fsub dword [esp + 0x4c]
fdivrp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fstp dword [esp]
call fcn.100577a0
fstp dword [esp + 0x8c]
fld dword [ecx + 0xf4]
fsub dword [esp + 0x50]
fdiv qword [esp + 0x2c]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fstp dword [esp]
call fcn.100577a0
fld1
fsubrp st(1)
add esp, 4
mov byte [esp + 0x3a], 1
mov byte [esp + 0x17], 1
fstp dword [esp + 0x84]
test bl, 8
jne 0x1006fbc7
push 1
push str.context
call fcn.1004ced0
add esp, 8
fld dword [esp + 0x80]
lea eax, [esp + 0x28]
fstp dword [esp + 0x28]
push eax
fld dword [esp + 0x50]
fstp dword [esp + 0x30]
call fcn.10042240
fld dword [esp + 0x64]
lea ecx, [esp + 0x2c]
fstp dword [esp + 0x2c]
push ecx
fld dword [esp + 0x44]
push 0x101a8cfc
fstp dword [esp + 0x38]
call fcn.10058350
add esp, 0xc
call fcn.10040f80
test al, al
je 0x1006fc4f
mov edx, dword [esp + 0x74]
fld dword [edx + 0xf4]
push ecx
fsub dword [esp + 0x50]
fld dword [esp + 0x40]
fsub qword [0x101a6130]
fdivp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fstp dword [esp]
call fcn.100577a0
fstp dword [esp + 0x60]
add esp, 4
mov byte [esp + 0x3b], 1
mov byte [esp + 0x17], 1
mov edi, edx
jmp 0x1006fc53
mov edi, dword [esp + 0x74]
cmp byte [esp + 0x27], 0
je 0x1006fcf5
fld dword [esp + 0xd0]
lea eax, [esp + 0x28]
fstp dword [esp + 0x28]
push eax
fld dword [esp + 0x50]
fstp dword [esp + 0x30]
call fcn.10042240
fld dword [esp + 0x64]
lea ecx, [esp + 0x2c]
fstp dword [esp + 0x2c]
push ecx
fld dword [esp + 0x44]
push str.alpha
fstp dword [esp + 0x38]
call fcn.10058350
add esp, 0xc
call fcn.10040f80
test al, al
je 0x1006fcf5
fld dword [edi + 0xf4]
fsub dword [esp + 0x4c]
fld dword [esp + 0x3c]
fld1
fsub st(1), st(0)
fxch st(2)
fdivrp st(1)
fstp dword [esp + 0xc]
fldz
fld dword [esp + 0xc]
fcom st(1)
fnstsw ax
test ah, 5
jnp 0x1006fce0
fstp st(1)
fld1
fcom st(1)
fnstsw ax
test ah, 5
jp 0x1006fce0
fstp st(1)
jmp 0x1006fce2
fstp st(0)
mov edx, dword [ebp + 0xc]
fstp dword [esp + 0x20]
mov byte [esp + 0x17], 1
fsub dword [esp + 0x20]
fstp dword [edx + 0xc]
call fcn.10047930
mov eax, ebx
and eax, 0x100
mov dword [esp + 0xc], eax
jne 0x1006fd26
fld dword [edi + 0x155c]
sub esp, 8
fstp dword [esp + 4]
fldz
fstp dword [esp]
call fcn.10042610
add esp, 8
call fcn.1004ca50
mov eax, ebx
and eax, 0x80
mov dword [esp + 0x20], eax
jne 0x1006fd7a
mov eax, dword [ebp + 8]
push 0
push eax
call fcn.1003fb70
mov edi, eax
add esp, 8
cmp dword [ebp + 8], edi
je 0x1006fd7a
cmp dword [esp + 0xc], 0
je 0x1006fd6d
mov ecx, dword [esp + 0x74]
fld dword [ecx + 0x155c]
sub esp, 8
fstp dword [esp + 4]
fldz
fstp dword [esp]
call fcn.10042610
add esp, 8
mov edx, dword [ebp + 8]
push edi
push edx
call fcn.1005ac30
add esp, 8
cmp dword [esp + 0xc], 0
jne 0x1006fef0
push 1
push 0x10
call fcn.1004c4e0
add esp, 8
cmp dword [esp + 0x1c], 0
je 0x1006fd9c
fld1
jmp 0x1006fda2
mov eax, dword [ebp + 0xc]
fld dword [eax + 0xc]
cmp dword [esp + 0x20], 0
fstp dword [esp + 0xc]
mov ecx, dword [ebp + 0xc]
fld dword [ecx]
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x70]
fstp dword [esp + 0x28]
fld dword [edx]
fstp dword [esp + 0x2c]
fld dword [eax]
fstp dword [esp + 0x30]
fld dword [esp + 0xc]
fstp dword [esp + 0x34]
je 0x1006fddf
push str.Current
call fcn.10063060
add esp, 4
fld dword [esp + 0x60]
mov eax, ebx
fld qword [0x101a5108]
and eax, 0xe0040
fmul st(1)
mov dword [esp + 0x44], eax
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fstp dword [esp + 0xb8]
mov edx, dword [esp + 0xb8]
fadd st(0), st(0)
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp + 0xbc]
mov ecx, dword [esp + 0xbc]
push ecx
push edx
push eax
lea eax, [esp + 0x34]
push eax
push str.current
call fcn.1006b5b0
mov edi, dword [ebp + 0x14]
add esp, 0x14
test edi, edi
je 0x1006fee6
push str.Original
call fcn.10063060
add esp, 4
cmp dword [esp + 0x1c], 0
je 0x1006fe5c
fld1
jmp 0x1006fe5f
fld dword [edi + 0xc]
fstp dword [esp + 0x1c]
mov eax, dword [esp + 0x44]
fld dword [edi]
fstp dword [esp + 0x98]
fld dword [edi + 4]
fstp dword [esp + 0x9c]
fld dword [edi + 8]
fstp dword [esp + 0xa0]
fld dword [esp + 0x1c]
fstp dword [esp + 0xa4]
fld dword [esp + 0xc]
fstp dword [esp + 0xb8]
mov edx, dword [esp + 0xb8]
fld dword [esp + 0x20]
fstp dword [esp + 0xbc]
mov ecx, dword [esp + 0xbc]
push ecx
push edx
push eax
lea ecx, [esp + 0xa4]
push ecx
push 0x101a8cc8
call fcn.1006b5b0
add esp, 0x14
test al, al
je 0x1006fee6
mov edx, dword [esp + 0x7c]
mov eax, dword [ebp + 0xc]
push edx
push edi
push eax
call fcn.10119fb0
add esp, 0xc
mov byte [esp + 0x17], 1
call fcn.10047930
call fcn.1004cba0
cmp byte [esp + 0x3b], 0
jne 0x1006ff02
cmp byte [esp + 0x3a], 0
je 0x1006ff89
fldz
fld dword [esp + 0x84]
fcom st(1)
fnstsw ax
test ah, 0x41
je 0x1006ff1c
fstp st(0)
fld dword [0x101a89a4]
fstp dword [esp + 0x1c]
fld dword [esp + 0x88]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
je 0x1006ff3a
fstp st(0)
fld dword [0x101a7e10]
fstp dword [esp + 0xc]
fld1
fld dword [esp + 0x5c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x1006ff55
fsub qword [0x101a8cc0]
mov ecx, dword [esp + 0x70]
fld dword [esp + 0x1c]
mov edx, dword [esp + 0x68]
mov eax, dword [ebp + 0xc]
push ecx
push edx
push eax
sub esp, 0xc
fstp dword [esp + 8]
fld dword [esp + 0x24]
fstp dword [esp + 4]
fstp dword [esp + 0x5c]
fld dword [esp + 0x5c]
fstp dword [esp]
call fcn.1003f860
add esp, 0x18
test bl, 0x20
mov byte [esp + 0x43], 0
jne 0x100701a5
cmp byte [esp + 0x27], 0
je 0x1006ffa7
fld dword [esp + 0xd0]
jmp 0x1006ffae
fld dword [esp + 0x80]
fstp dword [esp + 0x1c]
push ecx
fld dword [esp + 0x20]
fadd dword [esp + 0x64]
fsub dword [esp + 0x4c]
fstp dword [esp + 0x48]
fld dword [esp + 0x48]
fstp dword [esp]
call fcn.1004c3b0
mov edi, ebx
and edi, 0x18e001a
add esp, 4
or edi, 4
test ebx, 0x100000
jne 0x1006ffed
test ebx, 0x700000
jne 0x10070030
mov edx, dword [ebp + 0xc]
mov ecx, edi
or ecx, 0x100000
push ecx
push edx
push str.rgb
call fcn.1006e970
add esp, 0xc
test al, al
je 0x10070030
mov eax, dword [esp + 0x74]
cmp dword [eax + 0x19b4], 0
je 0x10070026
cmp byte [eax + 0x19c5], 0
mov byte [esp + 0x43], 1
je 0x1007002b
mov byte [esp + 0x43], 0
mov byte [esp + 0x17], 1
test ebx, 0x200000
jne 0x10070040
test ebx, 0x700000
jne 0x1007005d
mov ecx, dword [ebp + 0xc]
mov eax, edi
or eax, 0x200000
push eax
push ecx
push str.hsv
call fcn.1006e970
add esp, 0xc
or byte [esp + 0x17], al
test ebx, 0x400000
jne 0x1007006d
test ebx, 0x700000
jne 0x10070089
mov edx, dword [ebp + 0xc]
or edi, 0x400000
push edi
push edx
push 0x101a8ca8
call fcn.1006e970
add esp, 0xc
or byte [esp + 0x17], al
call fcn.10047860
cmp byte [esp + 0x43], 0
je 0x100701a5
lea eax, [esp + 0x1c]
push eax
mov eax, dword [esp + 0x74]
fld dword [eax]
lea ecx, [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x70]
lea edx, [esp + 0x4c]
push edx
mov edx, dword [ebp + 0xc]
sub esp, 0xc
fstp dword [esp + 8]
fld dword [ecx]
fstp dword [esp + 4]
fld dword [edx]
fstp dword [esp]
call fcn.10045890
fldz
add esp, 0x18
fcom dword [esp + 0x44]
fnstsw ax
test ah, 1
jne 0x100701a3
fld dword [esp + 0x5c]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x100701a1
fld dword [esp + 0x1c]
fcom st(2)
fnstsw ax
test ah, 0x41
jp 0x10070155
fld dword [esp + 0x84]
fld st(0)
fld st(2)
fucompp
fnstsw ax
test ah, 0x44
jnp 0x10070153
mov eax, dword [esp + 0x70]
fstp st(1)
mov ecx, dword [esp + 0x68]
fstp st(2)
mov edx, dword [ebp + 0xc]
fxch st(1)
fmul qword [0x101a5110]
push eax
push ecx
push edx
fstp dword [esp + 0x18]
sub esp, 0xc
fld dword [esp + 0x24]
fstp dword [esp + 8]
fld dword [esp + 0xa0]
fstp dword [esp + 4]
fstp dword [esp]
call fcn.1003f860
add esp, 0x18
jmp 0x100701a5
fstp st(0)
fxch st(2)
fcomp dword [esp + 0x20]
fnstsw ax
test ah, 1
jne 0x100701a1
mov eax, dword [esp + 0x70]
fld dword [esp + 0x88]
fmul qword [0x101a5110]
mov ecx, dword [esp + 0x68]
mov edx, dword [ebp + 0xc]
fxch st(2)
push eax
push ecx
push edx
sub esp, 0xc
fstp dword [esp + 8]
fxch st(1)
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp + 4]
fstp dword [esp]
call fcn.1003f860
add esp, 0x18
jmp 0x100701a5
fstp st(1)
fstp st(0)
fld1
lea eax, [esp + 0xfc]
push eax
fst dword [esp + 0xf8]
lea ecx, [esp + 0xfc]
fst dword [esp + 0xfc]
push ecx
fst dword [esp + 0x104]
lea edx, [esp + 0xfc]
fst dword [esp + 0x108]
push edx
sub esp, 0xc
fst dword [esp + 8]
fstp dword [esp + 4]
fld dword [esp + 0x74]
fstp dword [esp]
call fcn.1003f860
lea eax, [esp + 0x10c]
push eax
call fcn.1003f6c0
mov ecx, dword [ebp + 0xc]
fld dword [ecx]
mov edx, dword [esp + 0x84]
fstp dword [esp + 0x44]
mov ebx, eax
fld dword [edx]
mov eax, dword [esp + 0x8c]
fstp dword [esp + 0x48]
lea ecx, [esp + 0x44]
fld dword [eax]
push ecx
fstp dword [esp + 0x50]
fld1
fstp dword [esp + 0x54]
call fcn.1003f6c0
fldz
mov edi, eax
fst dword [esp + 0xcc]
mov eax, 0xff0000ff
fstp dword [esp + 0xc8]
add esp, 0x20
cmp dword [esp + 0x10], 0
mov dword [esp + 0x70], edi
mov dword [esp + 0x104], eax
mov dword [esp + 0x108], 0xff00ffff
mov dword [esp + 0x10c], 0xff00ff00
mov dword [esp + 0x110], 0xffffff00
mov dword [esp + 0x114], 0xffff0000
mov dword [esp + 0x118], 0xffff00ff
mov dword [esp + 0x11c], eax
je 0x10070960
fld dword [esp + 0x18]
fld st(0)
fld qword [0x101a8b00]
fdiv st(1)
fstp dword [esp + 0x1c]
fxch st(1)
call fcn.10119820
mov ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 4
mov dword [esp + 0xc], 4
jle 0x100702de
mov dword [esp + 0xc], eax
fadd qword [esp + 0x50]
xor edi, edi
mov dword [esp + 0x18], edi
fst qword [esp + 0xc0]
fmul qword [0x101a5110]
fstp dword [esp + 0x44]
lea esp, [esp]
fld dword [esp + 0x1c]
mov eax, dword [esp + 0xc]
fld qword [0x101a7db0]
mov edx, dword [esi + 0x18]
fild dword [esp + 0x18]
push eax
sub esp, 0xc
lea ecx, [esp + 0xc0]
fstp dword [esp + 0x20]
mov dword [esp + 0x90], edx
fld dword [esp + 0x20]
fld st(0)
fdiv st(2)
fld qword [0x101a5f18]
fmul st(1), st(0)
fld qword [0x101a8d08]
fmul st(2), st(0)
fld st(5)
fsubp st(3)
fxch st(2)
fstp dword [esp + 0x28]
fxch st(2)
fadd qword [0x101a6130]
fdivrp st(3)
fxch st(2)
fmulp st(1)
fmulp st(1)
faddp st(1)
fstp dword [esp + 0x30]
fld dword [esp + 0x30]
fstp dword [esp + 8]
fld dword [esp + 0x28]
fstp dword [esp + 4]
fld dword [esp + 0x54]
fstp dword [esp]
push ecx
mov ecx, esi
call fcn.1007ea70
fld dword [esp + 0x64]
mov edx, dword [esi + 0x54]
mov eax, dword [esi + 0x5c]
push ecx
fstp dword [esp]
push 0
push 0xffffffffffffffff
push edx
push eax
mov ecx, esi
call fcn.1007d9e0
fld dword [esp + 0x18]
mov dword [esi + 0x54], 0
call fcn.1011b440
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fmul dword [esp + 0x94]
fadd dword [esp + 0xb0]
fstp dword [esp + 0x28]
fld dword [esp + 0x18]
call fcn.1011b570
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fmul dword [esp + 0x94]
fadd dword [esp + 0xb4]
fstp dword [esp + 0x2c]
fld dword [esp + 0x20]
call fcn.1011b440
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fmul dword [esp + 0x94]
fadd dword [esp + 0xb0]
fstp dword [esp + 0x50]
fld dword [esp + 0x20]
call fcn.1011b570
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
mov ecx, dword [esp + edi*4 + 0x108]
fmul dword [esp + 0x94]
mov edx, dword [esp + edi*4 + 0x104]
push ecx
fadd dword [esp + 0xb8]
fstp dword [esp + 0x58]
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x54]
push edx
mov edx, dword [esp + 0x34]
push eax
mov eax, dword [esp + 0x34]
push ecx
mov ecx, dword [esi + 0x18]
push edx
mov edx, dword [esp + 0x94]
push eax
push ecx
push edx
push esi
call fcn.1007bce0
add edi, 1
add esp, 0x24
cmp edi, 6
mov dword [esp + 0x18], edi
jl 0x10070300
fld dword [esp + 0x5c]
fadd st(0), st(0)
fmul qword [0x101a8d08]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
call fcn.1011b440
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fstp dword [esp + 0xc]
fld dword [esp + 0x1c]
call fcn.1011b570
fstp dword [esp + 0x10]
cmp byte [esp + 0x3b], 0
fld dword [esp + 0x10]
fstp dword [esp + 0x1c]
fld dword [esp + 0xc]
fld qword [esp + 0xc0]
fmul st(1), st(0)
fld qword [0x101a5110]
fmul st(2), st(0)
fld dword [esp + 0xb0]
faddp st(3)
fxch st(2)
fstp dword [esp + 0xb8]
fmul dword [esp + 0x1c]
fmulp st(1)
fadd dword [esp + 0xb4]
fstp dword [esp + 0xbc]
fld dword [esp + 0x64]
je 0x10070501
fmul qword [0x101a7e30]
jmp 0x10070507
fmul qword [0x101a8ca0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fld qword [0x101a8c98]
fdivr st(1)
call fcn.10119820
cmp eax, 9
jge 0x10070528
mov edi, 9
jmp 0x10070534
cmp eax, 0x20
mov edi, 0x20
jg 0x10070534
mov edi, eax
push edi
push ebx
push ecx
lea eax, [esp + 0xc4]
fstp dword [esp]
push eax
mov ecx, esi
call fcn.10081120
fld1
push ecx
fstp dword [esp]
fld dword [esp + 0x1c]
push edi
fadd qword [0x101a6130]
push 0xff808080
push ecx
lea ecx, [esp + 0xc8]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push ecx
mov ecx, esi
call fcn.10081090
fld1
push ecx
fstp dword [esp]
fld dword [esp + 0x1c]
push edi
push 0xffffffffffffffff
push ecx
lea edx, [esp + 0xc8]
fstp dword [esp]
push edx
mov ecx, esi
call fcn.10081090
fld dword [esp + 0xe4]
fld st(0)
fld dword [esp + 0xc]
fld st(0)
fmulp st(2)
fld dword [esp + 0xe8]
fld st(0)
fld dword [esp + 0x1c]
fld st(0)
fmulp st(2)
fxch st(4)
fsubrp st(1)
fstp dword [esp + 0x28]
fmul st(1)
fld st(2)
fmulp st(4)
faddp st(3)
fxch st(2)
fstp dword [esp + 0x2c]
fld dword [esp + 0x28]
fld dword [esp + 0xb0]
fld st(0)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x74]
fld dword [esp + 0x2c]
fld dword [esp + 0xb4]
fld st(0)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x78]
fld dword [esp + 0xdc]
fld st(0)
fmul st(5)
fld dword [esp + 0xe0]
fmul st(5)
fsubp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0xe0]
fmul st(5)
fld st(4)
fmulp st(2)
faddp st(1)
fstp dword [esp + 0x2c]
fld dword [esp + 0x28]
fadd st(2)
fstp dword [esp + 0x98]
lea eax, [esp + 0x68]
fld dword [esp + 0x2c]
push eax
fadd st(1)
fstp dword [esp + 0xa0]
fld dword [esp + 0xd8]
fld st(0)
fmul st(5)
fld dword [esp + 0xdc]
fmul st(5)
fsubp st(1)
fstp dword [esp + 0x2c]
fld dword [esp + 0xdc]
fmulp st(5)
fmulp st(3)
fxch st(3)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x30]
fadd dword [esp + 0x2c]
fstp dword [esp + 0x90]
fadd dword [esp + 0x30]
fstp dword [esp + 0x94]
call fcn.10042060
add esp, 4
push 6
push 6
mov ecx, esi
call fcn.1007d930
mov ecx, dword [esi + 0x38]
mov dx, word [esi + 0x30]
mov word [ecx], dx
mov eax, dword [esi + 0x34]
mov ecx, dword [esp + 0x74]
mov edx, 2
add dword [esi + 0x38], edx
mov dword [eax], ecx
mov ecx, dword [esp + 0x78]
mov dword [eax + 4], ecx
mov eax, dword [esi + 0x34]
mov ecx, dword [esp + 0x68]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x6c]
mov dword [eax + 0xc], ecx
mov eax, dword [esi + 0x34]
mov dword [eax + 0x10], ebx
add dword [esi + 0x30], 1
mov eax, dword [esi + 0x38]
mov di, word [esi + 0x30]
mov ecx, 0x14
add dword [esi + 0x34], ecx
mov word [eax], di
mov eax, dword [esi + 0x34]
add dword [esi + 0x38], edx
mov edi, dword [esp + 0x98]
mov dword [eax], edi
mov edi, dword [esp + 0x9c]
mov dword [eax + 4], edi
mov eax, dword [esi + 0x34]
mov edi, dword [esp + 0x68]
mov dword [eax + 8], edi
mov edi, dword [esp + 0x6c]
mov dword [eax + 0xc], edi
mov eax, dword [esi + 0x34]
mov dword [eax + 0x10], ebx
add dword [esi + 0x34], ecx
mov eax, dword [esi + 0x38]
mov edi, 1
add dword [esi + 0x30], edi
movzx ebx, word [esi + 0x30]
mov word [eax], bx
mov eax, dword [esi + 0x34]
mov ebx, dword [esp + 0x8c]
add dword [esi + 0x38], edx
mov dword [eax], ebx
mov ebx, dword [esp + 0x90]
mov dword [eax + 4], ebx
mov eax, dword [esi + 0x34]
mov ebx, dword [esp + 0x68]
mov dword [eax + 8], ebx
mov ebx, dword [esp + 0x6c]
fld dword [0x101a5284]
mov dword [eax + 0xc], ebx
mov eax, dword [esi + 0x34]
mov dword [eax + 0x10], 0xffffffff
add dword [esi + 0x34], ecx
add dword [esi + 0x30], edi
movzx ebx, word [esi + 0x30]
mov eax, dword [esi + 0x38]
mov word [eax], bx
add dword [esi + 0x38], edx
mov eax, dword [esi + 0x34]
mov ebx, dword [esp + 0x74]
mov dword [eax], ebx
mov ebx, dword [esp + 0x78]
mov dword [eax + 4], ebx
mov eax, dword [esi + 0x34]
mov ebx, dword [esp + 0x68]
mov dword [eax + 8], ebx
mov ebx, dword [esp + 0x6c]
mov dword [eax + 0xc], ebx
mov eax, dword [esi + 0x34]
mov dword [eax + 0x10], 0
add dword [esi + 0x34], ecx
add dword [esi + 0x30], edi
movzx ebx, word [esi + 0x30]
mov eax, dword [esi + 0x38]
mov word [eax], bx
add dword [esi + 0x38], edx
mov eax, dword [esi + 0x34]
mov ebx, dword [esp + 0x98]
mov dword [eax], ebx
mov ebx, dword [esp + 0x9c]
mov dword [eax + 4], ebx
mov eax, dword [esi + 0x34]
mov ebx, dword [esp + 0x68]
mov dword [eax + 8], ebx
mov ebx, dword [esp + 0x6c]
mov dword [eax + 0xc], ebx
mov eax, dword [esi + 0x34]
mov dword [eax + 0x10], 0xff000000
add dword [esi + 0x34], ecx
add dword [esi + 0x30], edi
movzx ebx, word [esi + 0x30]
mov eax, dword [esi + 0x38]
mov word [eax], bx
add dword [esi + 0x38], edx
mov eax, dword [esi + 0x34]
mov edx, dword [esp + 0x8c]
mov dword [eax], edx
mov edx, dword [esp + 0x90]
mov dword [eax + 4], edx
mov eax, dword [esi + 0x34]
mov edx, dword [esp + 0x68]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x6c]
mov dword [eax + 0xc], edx
mov eax, dword [esi + 0x34]
push ecx
mov dword [eax + 0x10], 0
add dword [esi + 0x34], ecx
add dword [esi + 0x30], edi
fstp dword [esp]
push 0xff808080
lea ecx, [esp + 0x94]
push ecx
lea edx, [esp + 0xa4]
push edx
lea eax, [esp + 0x84]
push eax
mov ecx, esi
call fcn.10080fd0
fld dword [esp + 0x84]
fld1
fsubrp st(1)
fstp dword [esp + 0x10]
fldz
fld dword [esp + 0x10]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x1007088a
fstp st(0)
fst dword [esp + 0x20]
fld1
jmp 0x100708a3
fld1
fcom st(1)
fnstsw ax
test ah, 5
jp 0x1007089d
fstp st(1)
fst dword [esp + 0x20]
jmp 0x100708a3
fxch st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x88]
fcom st(2)
fnstsw ax
test ah, 5
jp 0x1007094a
fstp st(0)
fstp st(0)
fstp dword [esp + 0x18]
fld dword [esp + 0x74]
fld dword [esp + 0x8c]
fld st(0)
fsubp st(2)
fld dword [esp + 0x18]
fld st(0)
fmulp st(3)
fxch st(2)
faddp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x78]
fld dword [esp + 0x90]
fld st(0)
fsubp st(2)
fxch st(1)
fmulp st(2)
faddp st(1)
fstp dword [esp + 0x2c]
fld dword [esp + 0x98]
fld dword [esp + 0x28]
fld st(0)
fsubp st(2)
fld dword [esp + 0x20]
fld st(0)
fmulp st(3)
fxch st(2)
faddp st(1)
fstp dword [esp + 0x50]
mov ecx, dword [esp + 0x50]
fld dword [esp + 0x9c]
mov dword [esp + 0xa8], ecx
fld dword [esp + 0x2c]
fld st(0)
fsubp st(2)
fxch st(1)
fmulp st(2)
faddp st(1)
fstp dword [esp + 0x54]
mov edx, dword [esp + 0x54]
mov dword [esp + 0xac], edx
jmp 0x10070cb2
fstp st(2)
fcom st(1)
fnstsw ax
test ah, 5
jp 0x100708b9
fstp st(1)
jmp 0x100708bb
test dword [ebp + 0x10], 0x2000000
je 0x10070cb6
fld dword [esp + 0x48]
push 0xffffffffffffffff
fld dword [esp + 0x40]
push ebx
fld st(0)
push ebx
faddp st(2)
push 0xffffffffffffffff
fxch st(1)
lea eax, [esp + 0x38]
push eax
fstp dword [esp + 0x3c]
lea ecx, [esp + 0x5c]
push ecx
fadd dword [esp + 0x64]
mov ecx, esi
fstp dword [esp + 0x44]
call fcn.1007f2e0
fld dword [esp + 0x48]
push 0xff000000
fld dword [esp + 0x40]
push 0xff000000
fld st(0)
push 0
faddp st(2)
push 0
fxch st(1)
lea edx, [esp + 0x38]
push edx
fstp dword [esp + 0x3c]
lea eax, [esp + 0x5c]
push eax
fadd dword [esp + 0x64]
mov ecx, esi
fstp dword [esp + 0x44]
call fcn.1007f2e0
fld dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
fld dword [esp + 0x3c]
push ecx
fld st(0)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x2c]
mov edx, dword [esp + 0x2c]
fadd dword [esp + 0x50]
fstp dword [esp + 0x30]
mov ecx, dword [esp + 0x30]
fldz
fstp dword [esp]
push ecx
mov ecx, dword [esp + 0x50]
push edx
push eax
push ecx
call fcn.1003fcb0
fldz
fld dword [esp + 0x9c]
add esp, 0x14
fcom st(1)
fnstsw ax
test ah, 5
jp 0x10070a2d
fstp st(0)
fst dword [esp + 0x18]
jmp 0x10070a42
fld1
fcom st(1)
fnstsw ax
test ah, 5
jp 0x10070a3c
fstp st(1)
jmp 0x10070a3e
fstp st(0)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fld dword [esp + 0x3c]
fld st(0)
fmulp st(2)
fld dword [esp + 0x48]
fld st(0)
faddp st(3)
fld qword [0x101a5110]
fadd st(3), st(0)
fxch st(3)
call fcn.10119820
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fstp dword [esp + 0x10]
fld st(0)
fld qword [0x101a5f18]
fadd st(1), st(0)
fxch st(1)
fstp dword [esp + 0x44]
fld st(2)
faddp st(2)
fsub st(1), st(0)
fxch st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x10]
fld dword [esp + 0x44]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x10070aa2
fstp st(1)
jmp 0x10070ab7
fstp st(0)
fld dword [esp + 0x1c]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x10070ab5
fstp st(1)
jmp 0x10070ab7
fstp st(0)
fstp dword [esp + 0xa8]
fld dword [esp + 0x84]
fld1
fsubrp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fcom st(4)
fnstsw ax
test ah, 5
jnp 0x10070aeb
fstp st(4)
fld1
fcom st(4)
fnstsw ax
test ah, 5
jp 0x10070aeb
fstp st(4)
jmp 0x10070aed
fstp st(0)
fxch st(3)
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fmul st(1)
fld dword [esp + 0x4c]
fld st(0)
faddp st(2)
fxch st(1)
faddp st(3)
fxch st(2)
call fcn.10119820
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fstp dword [esp + 0x10]
fld st(1)
fadd st(3)
fstp dword [esp + 0x44]
fld st(1)
fadd st(1)
fsubrp st(3)
fxch st(2)
fstp dword [esp + 0x1c]
fld dword [esp + 0x10]
fld dword [esp + 0x44]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x10070b41
fstp st(1)
jmp 0x10070b56
fstp st(0)
fld dword [esp + 0x1c]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x10070b54
fstp st(1)
jmp 0x10070b56
fstp st(0)
fstp dword [esp + 0xac]
xor eax, eax
fld qword [esp + 0xc0]
mov dword [esp + 0x1c], eax
fstp dword [esp + 0xc]
fxch st(1)
fdiv qword [0x101a7db0]
fst qword [esp + 0xc0]
jmp 0x10070b8b
fld dword [esp + 0x4c]
fld qword [esp + 0xc0]
fld dword [esp + 0xc]
mov ecx, dword [esp + eax*4 + 0x108]
fstp dword [esp + 0x28]
lea edi, [eax + 1]
mov eax, dword [esp + eax*4 + 0x104]
mov dword [esp + 0x10], edi
fild dword [esp + 0x10]
push ecx
push ecx
push eax
fmul st(1)
push eax
lea edx, [esp + 0x38]
push edx
fadd st(2)
lea eax, [esp + 0x64]
push eax
mov ecx, esi
fstp dword [esp + 0x44]
fld dword [esp + 0x98]
fstp dword [esp + 0x68]
fimul dword [esp + 0x34]
faddp st(1)
fstp dword [esp + 0x6c]
call fcn.1007f2e0
mov eax, edi
cmp eax, 6
mov dword [esp + 0x1c], eax
jl 0x10070b80
fld dword [esp + 0x5c]
fld dword [esp + 0x3c]
fld st(0)
fmulp st(2)
fld dword [esp + 0x4c]
fld st(0)
faddp st(3)
fxch st(2)
fadd qword [0x101a5110]
call fcn.10119820
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
push ecx
fstp dword [esp + 0x14]
fld dword [esp + 0x10]
fstp dword [esp + 0x2c]
mov edx, dword [esp + 0x2c]
fadd st(1)
fstp dword [esp + 0x30]
mov ecx, dword [esp + 0x30]
fld dword [esp + 0x84]
fstp dword [esp + 0x54]
fstp dword [esp + 0x58]
mov eax, dword [esp + 0x58]
fldz
fstp dword [esp]
push ecx
mov ecx, dword [esp + 0x58]
push edx
push eax
push ecx
call fcn.1003fcb0
fld dword [esp + 0x100]
fld st(0)
add esp, 0x10
fld1
fadd st(1), st(0)
fxch st(1)
fstp dword [esp + 0x2c]
mov eax, dword [esp + 0x2c]
fxch st(1)
fstp dword [esp + 0x30]
mov edx, dword [esp + 0x30]
fsubr dword [esp + 0x84]
fstp dword [esp + 0x54]
fld dword [esp + 0x14]
fstp dword [esp + 0x58]
mov ecx, dword [esp + 0x58]
fld dword [esp + 0x64]
fadd qword [0x101a5f18]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fstp dword [esp]
push edx
mov edx, dword [esp + 0x58]
push eax
push ecx
push edx
call fcn.10059750
add esp, 0x14
mov edi, dword [esp + 0x70]
cmp byte [esp + 0x3a], 0
je 0x10070cc5
fld dword [0x101a7d88]
jmp 0x10070ccb
fld dword [0x101a6124]
push 0xc
fstp dword [esp + 0x68]
fld dword [esp + 0x68]
push edi
push ecx
lea eax, [esp + 0xb4]
fstp dword [esp]
push eax
mov ecx, esi
call fcn.10081120
fld1
push ecx
fstp dword [esp]
fld dword [esp + 0x68]
push 0xc
fadd qword [0x101a6130]
push 0xff808080
push ecx
lea ecx, [esp + 0xb8]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
fstp dword [esp]
push ecx
mov ecx, esi
call fcn.10081090
fld1
push ecx
fstp dword [esp]
fld dword [esp + 0x68]
push 0xc
push 0xffffffffffffffff
push ecx
lea edx, [esp + 0xb8]
fstp dword [esp]
push edx
mov ecx, esi
call fcn.10081090
cmp byte [esp + 0x27], 0
je 0x10070ee7
mov eax, dword [ebp + 0xc]
fld dword [eax + 0xc]
fstp dword [esp + 0x10]
fldz
fld dword [esp + 0x10]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x10070d68
fstp st(0)
fst dword [esp + 0x18]
jmp 0x10070d7d
fld1
fcom st(1)
fnstsw ax
test ah, 5
jp 0x10070d77
fstp st(1)
jmp 0x10070d79
fstp st(0)
fstp dword [esp + 0x18]
fld dword [esp + 0xd0]
push 0xffffffffffffffff
fst dword [esp + 0xc4]
push ecx
fld dword [esp + 0x54]
fst dword [esp + 0xcc]
fld st(1)
fadd dword [esp + 0x68]
fstp dword [esp + 0xd0]
fadd dword [esp + 0x44]
fstp dword [esp + 0xd4]
mov eax, dword [esp + 0xd4]
fxch st(1)
fst dword [esp + 0x30]
mov edx, dword [esp + 0x30]
fst dword [esp + 0x34]
mov ecx, dword [esp + 0x34]
fstp dword [esp]
push ecx
push edx
fsubr dword [esp + 0xd8]
mov edx, dword [esp + 0xd4]
push ecx
mov ecx, dword [esp + 0xdc]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fmul qword [0x101a5110]
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fstp dword [esp]
push 0
push eax
mov eax, dword [esp + 0xdc]
push ecx
push edx
push eax
call fcn.1005e540
add esp, 0x28
mov eax, edi
and eax, 0xffffff
push eax
push eax
push edi
push edi
lea ecx, [esp + 0xd8]
push ecx
lea edx, [esp + 0xd4]
push edx
mov ecx, esi
call fcn.1007f2e0
fld dword [esp + 0x18]
fld1
fsubrp st(1)
fmul dword [esp + 0x3c]
fadd dword [esp + 0x4c]
fadd qword [0x101a5110]
call fcn.10119820
mov edx, dword [esp + 0xc4]
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
mov eax, dword [esp + 0xcc]
push ecx
mov ecx, dword [esp + 0xcc]
fstp dword [esp + 0x14]
fldz
fstp dword [esp]
push eax
mov eax, dword [esp + 0xc8]
push ecx
push edx
push eax
call fcn.1003fcb0
fld dword [esp + 0x100]
fld st(0)
fld1
fadd st(1), st(0)
fxch st(1)
fstp dword [esp + 0x3c]
fxch st(1)
fstp dword [esp + 0x40]
fsubr dword [esp + 0xe4]
mov ecx, dword [esp + 0x40]
fstp dword [esp + 0x64]
fld dword [esp + 0x24]
mov edx, dword [esp + 0x3c]
fstp dword [esp + 0x68]
mov eax, dword [esp + 0x68]
fld dword [esp + 0x74]
add esp, 0x10
fadd qword [0x101a5f18]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fstp dword [esp]
push ecx
mov ecx, dword [esp + 0x58]
push edx
push eax
push ecx
call fcn.10059750
add esp, 0x14
call fcn.1004cba0
mov bl, byte [esp + 0x17]
test bl, bl
je 0x10070fb1
mov eax, dword [esp + 0x7c]
cmp eax, 4
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x120]
jb 0x10070f24
jmp 0x10070f10
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10070f28
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10070f10
test eax, eax
je 0x10070f85
movzx esi, byte [edx]
movzx edi, byte [ecx]
sub esi, edi
jne 0x10070f77
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10070f85
movzx esi, byte [edx]
movzx edi, byte [ecx]
sub esi, edi
jne 0x10070f77
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10070f85
movzx esi, byte [edx]
movzx edi, byte [ecx]
sub esi, edi
jne 0x10070f77
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10070f85
movzx esi, byte [edx]
movzx edx, byte [ecx]
sub esi, edx
je 0x10070f85
test esi, esi
mov eax, 1
jg 0x10070f87
or eax, 0xffffffff
jmp 0x10070f87
xor eax, eax
test eax, eax
jne 0x10070f9b
xor bl, bl
call fcn.10047dc0
mov al, bl
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0xf0]
mov ecx, dword [eax + 0x10c]
push ecx
call fcn.10040480
add esp, 4
call fcn.10047dc0
pop edi
pop esi
mov al, bl
pop ebx
mov esp, ebp
pop ebp
ret