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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x124
mov eax, dword [0x101e7a68]
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.1004c120
add esp, 4
call fcn.1004c2e0
mov ebx, dword [ebp + 0x10]
test ebx, 0x100
jne 0x1006edda
or ebx, 0x10
mov dword [ebp + 0x10], ebx
test bl, 8
jne 0x1006edec
mov eax, dword [ebp + 0xc]
push ebx
push eax
call fcn.10070850
add esp, 8
test ebx, 0x6000000
jne 0x1006ee10
mov eax, dword [edi + 0x2bd8]
test eax, 0x6000000
jne 0x1006ee06
mov eax, 0x2900000
and eax, 0x6000000
or ebx, eax
mov dword [ebp + 0x10], ebx
test bl, 8
jne 0x1006ee26
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 0x1006ee49
test eax, eax
mov byte [esp + 0x27], 1
je 0x1006ee4e
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.10041860
fstp dword [esp + 0x60]
call fcn.10051b70
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 0x1006eebc
fstp st(0)
fst dword [esp + 0x3c]
jmp 0x1006eec0
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 [0x101a53d8]
call fcn.10118910
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.101190a0
fld dword [esp + 0x48]
fld qword [0x101a6700]
add esp, 0xc
fmul st(1)
fstp dword [esp + 0x64]
fld st(0)
fld qword [0x101a2a60]
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 [0x101a66f8]
call fcn.10118910
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 [0x101a66f0]
fmul st(1)
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fst dword [esp + 0xf4]
fld st(1)
fmul qword [0x101a66e8]
fstp dword [esp + 0xf8]
fstp dword [esp + 0xec]
fmul qword [0x101a66e0]
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.10045120
push 1
push 8
mov byte [esp + 0x37], 0
mov byte [esp + 0x5b], 0
mov byte [esp + 0x5a], 0
call fcn.1004bd70
mov eax, ebx
add esp, 0x20
and eax, 0x4000000
mov dword [esp + 0x10], eax
je 0x1006f3a4
mov edi, dword [esp + 0x74]
fld dword [edi + 0x155c]
lea eax, [esp + 0x28]
fld dword [esp + 0x3c]
push eax
fld st(0)
push 0x101a66d8
faddp st(2)
fld dword [esp + 0x68]
faddp st(2)
fxch st(1)
fstp dword [esp + 0x30]
fstp dword [esp + 0x34]
call fcn.10057be0
add esp, 8
call fcn.10040810
test al, al
je 0x1006f387
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 0x1006f197
fadd dword [esp + 0x18]
fmul st(0), st(0)
fcompp
fnstsw ax
test ah, 1
jne 0x1006f19b
fld dword [esp + 0x90]
fld dword [esp + 0x8c]
call fcn.1011c91a
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fdiv qword [0x101a66d0]
fmul qword [0x101a2a60]
fstp dword [esp + 0x5c]
fldz
fld dword [esp + 0x5c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x1006f189
fadd qword [0x101a3b50]
mov byte [esp + 0x3b], 1
mov byte [esp + 0x17], 1
fstp dword [esp + 0x5c]
jmp 0x1006f19b
fstp st(0)
mov byte [esp + 0x3b], 1
mov byte [esp + 0x17], 1
jmp 0x1006f19b
fstp st(1)
fstp st(0)
fld dword [esp + 0x5c]
fchs
fadd st(0), st(0)
fmul qword [0x101a66d0]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
call fcn.1011a6d0
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fstp dword [esp + 0xc]
fld dword [esp + 0x20]
call fcn.1011a800
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.1003e480
add esp, 0x10
test al, al
je 0x1006f387
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.1003e480
add esp, 0x10
test al, al
jne 0x1006f2e2
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.10044f10
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.1003e530
fld1
fstp dword [esp + 0x18]
add esp, 0x10
fld dword [0x101a66cc]
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.100599c0
fstp dword [esp + 0x90]
fld1
fstp dword [esp + 8]
fld dword [0x101a66cc]
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.100599c0
fstp dword [esp + 0x94]
add esp, 0xc
mov byte [esp + 0x3a], 1
mov byte [esp + 0x17], 1
test bl, 8
jne 0x1006f4df
push 1
push str.context
call fcn.1004c760
add esp, 8
jmp 0x1006f4e3
test ebx, 0x2000000
je 0x1006f4df
fld dword [esp + 0x3c]
lea edx, [esp + 0x28]
push edx
fst dword [esp + 0x2c]
push 0x101a66c8
fstp dword [esp + 0x34]
call fcn.10057be0
add esp, 8
call fcn.10040810
test al, al
je 0x1006f443
fld dword [esp + 0x3c]
mov ecx, dword [esp + 0x74]
fsub qword [0x101a3b50]
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.10057030
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.10057030
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 0x1006f457
push 1
push str.context
call fcn.1004c760
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.10041ad0
fld dword [esp + 0x64]
lea ecx, [esp + 0x2c]
fstp dword [esp + 0x2c]
push ecx
fld dword [esp + 0x44]
push 0x101a66c4
fstp dword [esp + 0x38]
call fcn.10057be0
add esp, 0xc
call fcn.10040810
test al, al
je 0x1006f4df
mov edx, dword [esp + 0x74]
fld dword [edx + 0xf4]
push ecx
fsub dword [esp + 0x50]
fld dword [esp + 0x40]
fsub qword [0x101a3b50]
fdivp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fstp dword [esp]
call fcn.10057030
fstp dword [esp + 0x60]
add esp, 4
mov byte [esp + 0x3b], 1
mov byte [esp + 0x17], 1
mov edi, edx
jmp 0x1006f4e3
mov edi, dword [esp + 0x74]
cmp byte [esp + 0x27], 0
je 0x1006f585
fld dword [esp + 0xd0]
lea eax, [esp + 0x28]
fstp dword [esp + 0x28]
push eax
fld dword [esp + 0x50]
fstp dword [esp + 0x30]
call fcn.10041ad0
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.10057be0
add esp, 0xc
call fcn.10040810
test al, al
je 0x1006f585
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 0x1006f570
fstp st(1)
fld1
fcom st(1)
fnstsw ax
test ah, 5
jp 0x1006f570
fstp st(1)
jmp 0x1006f572
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.100471c0
mov eax, ebx
and eax, 0x100
mov dword [esp + 0xc], eax
jne 0x1006f5b6
fld dword [edi + 0x155c]
sub esp, 8
fstp dword [esp + 4]
fldz
fstp dword [esp]
call fcn.10041ea0
add esp, 8
call fcn.1004c2e0
mov eax, ebx
and eax, 0x80
mov dword [esp + 0x20], eax
jne 0x1006f60a
mov eax, dword [ebp + 8]
push 0
push eax
call fcn.1003f400
mov edi, eax
add esp, 8
cmp dword [ebp + 8], edi
je 0x1006f60a
cmp dword [esp + 0xc], 0
je 0x1006f5fd
mov ecx, dword [esp + 0x74]
fld dword [ecx + 0x155c]
sub esp, 8
fstp dword [esp + 4]
fldz
fstp dword [esp]
call fcn.10041ea0
add esp, 8
mov edx, dword [ebp + 8]
push edi
push edx
call fcn.1005a4c0
add esp, 8
cmp dword [esp + 0xc], 0
jne 0x1006f780
push 1
push 0x10
call fcn.1004bd70
add esp, 8
cmp dword [esp + 0x1c], 0
je 0x1006f62c
fld1
jmp 0x1006f632
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 0x1006f66f
push str.Current
call fcn.100628f0
add esp, 4
fld dword [esp + 0x60]
mov eax, ebx
fld qword [0x101a2a58]
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.1006ae40
mov edi, dword [ebp + 0x14]
add esp, 0x14
test edi, edi
je 0x1006f776
push str.Original
call fcn.100628f0
add esp, 4
cmp dword [esp + 0x1c], 0
je 0x1006f6ec
fld1
jmp 0x1006f6ef
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 0x101a6690
call fcn.1006ae40
add esp, 0x14
test al, al
je 0x1006f776
mov edx, dword [esp + 0x7c]
mov eax, dword [ebp + 0xc]
push edx
push edi
push eax
call fcn.101190a0
add esp, 0xc
mov byte [esp + 0x17], 1
call fcn.100471c0
call fcn.1004c430
cmp byte [esp + 0x3b], 0
jne 0x1006f792
cmp byte [esp + 0x3a], 0
je 0x1006f819
fldz
fld dword [esp + 0x84]
fcom st(1)
fnstsw ax
test ah, 0x41
je 0x1006f7ac
fstp st(0)
fld dword [0x101a636c]
fstp dword [esp + 0x1c]
fld dword [esp + 0x88]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
je 0x1006f7ca
fstp st(0)
fld dword [0x101a57d8]
fstp dword [esp + 0xc]
fld1
fld dword [esp + 0x5c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x1006f7e5
fsub qword [0x101a6688]
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.1003f0f0
add esp, 0x18
test bl, 0x20
mov byte [esp + 0x43], 0
jne 0x1006fa35
cmp byte [esp + 0x27], 0
je 0x1006f837
fld dword [esp + 0xd0]
jmp 0x1006f83e
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.1004bc40
mov edi, ebx
and edi, 0x18e001a
add esp, 4
or edi, 4
test ebx, 0x100000
jne 0x1006f87d
test ebx, 0x700000
jne 0x1006f8c0
mov edx, dword [ebp + 0xc]
mov ecx, edi
or ecx, 0x100000
push ecx
push edx
push str.rgb
call fcn.1006e200
add esp, 0xc
test al, al
je 0x1006f8c0
mov eax, dword [esp + 0x74]
cmp dword [eax + 0x19b4], 0
je 0x1006f8b6
cmp byte [eax + 0x19c5], 0
mov byte [esp + 0x43], 1
je 0x1006f8bb
mov byte [esp + 0x43], 0
mov byte [esp + 0x17], 1
test ebx, 0x200000
jne 0x1006f8d0
test ebx, 0x700000
jne 0x1006f8ed
mov ecx, dword [ebp + 0xc]
mov eax, edi
or eax, 0x200000
push eax
push ecx
push str.hsv
call fcn.1006e200
add esp, 0xc
or byte [esp + 0x17], al
test ebx, 0x400000
jne 0x1006f8fd
test ebx, 0x700000
jne 0x1006f919
mov edx, dword [ebp + 0xc]
or edi, 0x400000
push edi
push edx
push 0x101a6670
call fcn.1006e200
add esp, 0xc
or byte [esp + 0x17], al
call fcn.100470f0
cmp byte [esp + 0x43], 0
je 0x1006fa35
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.10045120
fldz
add esp, 0x18
fcom dword [esp + 0x44]
fnstsw ax
test ah, 1
jne 0x1006fa33
fld dword [esp + 0x5c]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x1006fa31
fld dword [esp + 0x1c]
fcom st(2)
fnstsw ax
test ah, 0x41
jp 0x1006f9e5
fld dword [esp + 0x84]
fld st(0)
fld st(2)
fucompp
fnstsw ax
test ah, 0x44
jnp 0x1006f9e3
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 [0x101a2a60]
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.1003f0f0
add esp, 0x18
jmp 0x1006fa35
fstp st(0)
fxch st(2)
fcomp dword [esp + 0x20]
fnstsw ax
test ah, 1
jne 0x1006fa31
mov eax, dword [esp + 0x70]
fld dword [esp + 0x88]
fmul qword [0x101a2a60]
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.1003f0f0
add esp, 0x18
jmp 0x1006fa35
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.1003f0f0
lea eax, [esp + 0x10c]
push eax
call fcn.1003ef50
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.1003ef50
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 0x100701f0
fld dword [esp + 0x18]
fld st(0)
fld qword [0x101a64c8]
fdiv st(1)
fstp dword [esp + 0x1c]
fxch st(1)
call fcn.10118910
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 0x1006fb6e
mov dword [esp + 0xc], eax
fadd qword [esp + 0x50]
xor edi, edi
mov dword [esp + 0x18], edi
fst qword [esp + 0xc0]
fmul qword [0x101a2a60]
fstp dword [esp + 0x44]
lea esp, [esp]
fld dword [esp + 0x1c]
mov eax, dword [esp + 0xc]
fld qword [0x101a5778]
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 [0x101a3938]
fmul st(1), st(0)
fld qword [0x101a66d0]
fmul st(2), st(0)
fld st(5)
fsubp st(3)
fxch st(2)
fstp dword [esp + 0x28]
fxch st(2)
fadd qword [0x101a3b50]
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.1007e300
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.1007d270
fld dword [esp + 0x18]
mov dword [esi + 0x54], 0
call fcn.1011a6d0
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.1011a800
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.1011a6d0
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.1011a800
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.1007b570
add edi, 1
add esp, 0x24
cmp edi, 6
mov dword [esp + 0x18], edi
jl 0x1006fb90
fld dword [esp + 0x5c]
fadd st(0), st(0)
fmul qword [0x101a66d0]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
call fcn.1011a6d0
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fstp dword [esp + 0xc]
fld dword [esp + 0x1c]
call fcn.1011a800
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 [0x101a2a60]
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 0x1006fd91
fmul qword [0x101a57f8]
jmp 0x1006fd97
fmul qword [0x101a6668]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fld qword [0x101a6660]
fdivr st(1)
call fcn.10118910
cmp eax, 9
jge 0x1006fdb8
mov edi, 9
jmp 0x1006fdc4
cmp eax, 0x20
mov edi, 0x20
jg 0x1006fdc4
mov edi, eax
push edi
push ebx
push ecx
lea eax, [esp + 0xc4]
fstp dword [esp]
push eax
mov ecx, esi
call fcn.100809b0
fld1
push ecx
fstp dword [esp]
fld dword [esp + 0x1c]
push edi
fadd qword [0x101a3b50]
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.10080920
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.10080920
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.100418f0
add esp, 4
push 6
push 6
mov ecx, esi
call fcn.1007d1c0
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 [0x101a2c1c]
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.10080860
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 0x1007011a
fstp st(0)
fst dword [esp + 0x20]
fld1
jmp 0x10070133
fld1
fcom st(1)
fnstsw ax
test ah, 5
jp 0x1007012d
fstp st(1)
fst dword [esp + 0x20]
jmp 0x10070133
fxch st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x88]
fcom st(2)
fnstsw ax
test ah, 5
jp 0x100701da
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 0x10070542
fstp st(2)
fcom st(1)
fnstsw ax
test ah, 5
jp 0x10070149
fstp st(1)
jmp 0x1007014b
test dword [ebp + 0x10], 0x2000000
je 0x10070546
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.1007eb70
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.1007eb70
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.1003f540
fldz
fld dword [esp + 0x9c]
add esp, 0x14
fcom st(1)
fnstsw ax
test ah, 5
jp 0x100702bd
fstp st(0)
fst dword [esp + 0x18]
jmp 0x100702d2
fld1
fcom st(1)
fnstsw ax
test ah, 5
jp 0x100702cc
fstp st(1)
jmp 0x100702ce
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 [0x101a2a60]
fadd st(3), st(0)
fxch st(3)
call fcn.10118910
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fstp dword [esp + 0x10]
fld st(0)
fld qword [0x101a3938]
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 0x10070332
fstp st(1)
jmp 0x10070347
fstp st(0)
fld dword [esp + 0x1c]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x10070345
fstp st(1)
jmp 0x10070347
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 0x1007037b
fstp st(4)
fld1
fcom st(4)
fnstsw ax
test ah, 5
jp 0x1007037b
fstp st(4)
jmp 0x1007037d
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.10118910
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 0x100703d1
fstp st(1)
jmp 0x100703e6
fstp st(0)
fld dword [esp + 0x1c]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x100703e4
fstp st(1)
jmp 0x100703e6
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 [0x101a5778]
fst qword [esp + 0xc0]
jmp 0x1007041b
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.1007eb70
mov eax, edi
cmp eax, 6
mov dword [esp + 0x1c], eax
jl 0x10070410
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 [0x101a2a60]
call fcn.10118910
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.1003f540
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 [0x101a3938]
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.10058fe0
add esp, 0x14
mov edi, dword [esp + 0x70]
cmp byte [esp + 0x3a], 0
je 0x10070555
fld dword [0x101a5750]
jmp 0x1007055b
fld dword [0x101a3b44]
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.100809b0
fld1
push ecx
fstp dword [esp]
fld dword [esp + 0x68]
push 0xc
fadd qword [0x101a3b50]
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.10080920
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.10080920
cmp byte [esp + 0x27], 0
je 0x10070777
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 0x100705f8
fstp st(0)
fst dword [esp + 0x18]
jmp 0x1007060d
fld1
fcom st(1)
fnstsw ax
test ah, 5
jp 0x10070607
fstp st(1)
jmp 0x10070609
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 [0x101a2a60]
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.1005ddd0
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.1007eb70
fld dword [esp + 0x18]
fld1
fsubrp st(1)
fmul dword [esp + 0x3c]
fadd dword [esp + 0x4c]
fadd qword [0x101a2a60]
call fcn.10118910
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.1003f540
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 [0x101a3938]
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.10058fe0
add esp, 0x14
call fcn.1004c430
mov bl, byte [esp + 0x17]
test bl, bl
je 0x10070841
mov eax, dword [esp + 0x7c]
cmp eax, 4
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x120]
jb 0x100707b4
jmp 0x100707a0
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x100707b8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x100707a0
test eax, eax
je 0x10070815
movzx esi, byte [edx]
movzx edi, byte [ecx]
sub esi, edi
jne 0x10070807
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10070815
movzx esi, byte [edx]
movzx edi, byte [ecx]
sub esi, edi
jne 0x10070807
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10070815
movzx esi, byte [edx]
movzx edi, byte [ecx]
sub esi, edi
jne 0x10070807
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10070815
movzx esi, byte [edx]
movzx edx, byte [ecx]
sub esi, edx
je 0x10070815
test esi, esi
mov eax, 1
jg 0x10070817
or eax, 0xffffffff
jmp 0x10070817
xor eax, eax
test eax, eax
jne 0x1007082b
xor bl, bl
call fcn.10047650
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.1003fd10
add esp, 4
call fcn.10047650
pop edi
pop esi
mov al, bl
pop ebx
mov esp, ebp
pop ebp
ret