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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x124
mov eax, dword [0x101e25f0]
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.100478f0
add esp, 4
call fcn.10047ab0
mov ebx, dword [ebp + 0x10]
test ebx, 0x100
jne 0x1006a5aa
or ebx, 0x10
mov dword [ebp + 0x10], ebx
test bl, 8
jne 0x1006a5bc
mov eax, dword [ebp + 0xc]
push ebx
push eax
call fcn.1006c020
add esp, 8
test ebx, 0x6000000
jne 0x1006a5e0
mov eax, dword [edi + 0x2bd8]
test eax, 0x6000000
jne 0x1006a5d6
mov eax, 0x2900000
and eax, 0x6000000
or ebx, eax
mov dword [ebp + 0x10], ebx
test bl, 8
jne 0x1006a5f6
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 0x1006a619
test eax, eax
mov byte [esp + 0x27], 1
je 0x1006a61e
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.1003d030
fstp dword [esp + 0x60]
call fcn.1004d340
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 0x1006a68c
fstp st(0)
fst dword [esp + 0x3c]
jmp 0x1006a690
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 [0x101a07d8]
call fcn.10114560
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.10114cf0
fld dword [esp + 0x48]
fld qword [0x101a1b00]
add esp, 0xc
fmul st(1)
fstp dword [esp + 0x64]
fld st(0)
fld qword [0x1019e130]
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 [0x101a1af8]
call fcn.10114560
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 [0x101a1af0]
fmul st(1)
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fst dword [esp + 0xf4]
fld st(1)
fmul qword [0x101a1ae8]
fstp dword [esp + 0xf8]
fstp dword [esp + 0xec]
fmul qword [0x101a1ae0]
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.100408f0
push 1
push 8
mov byte [esp + 0x37], 0
mov byte [esp + 0x5b], 0
mov byte [esp + 0x5a], 0
call fcn.10047540
mov eax, ebx
add esp, 0x20
and eax, 0x4000000
mov dword [esp + 0x10], eax
je 0x1006ab74
mov edi, dword [esp + 0x74]
fld dword [edi + 0x155c]
lea eax, [esp + 0x28]
fld dword [esp + 0x3c]
push eax
fld st(0)
push 0x101a1ad8
faddp st(2)
fld dword [esp + 0x68]
faddp st(2)
fxch st(1)
fstp dword [esp + 0x30]
fstp dword [esp + 0x34]
call fcn.100533b0
add esp, 8
call fcn.1003bfe0
test al, al
je 0x1006ab57
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 0x1006a967
fadd dword [esp + 0x18]
fmul st(0), st(0)
fcompp
fnstsw ax
test ah, 1
jne 0x1006a96b
fld dword [esp + 0x90]
fld dword [esp + 0x8c]
call fcn.10117e4a
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fdiv qword [0x101a1ad0]
fmul qword [0x1019e130]
fstp dword [esp + 0x5c]
fldz
fld dword [esp + 0x5c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x1006a959
fadd qword [0x1019f150]
mov byte [esp + 0x3b], 1
mov byte [esp + 0x17], 1
fstp dword [esp + 0x5c]
jmp 0x1006a96b
fstp st(0)
mov byte [esp + 0x3b], 1
mov byte [esp + 0x17], 1
jmp 0x1006a96b
fstp st(1)
fstp st(0)
fld dword [esp + 0x5c]
fchs
fadd st(0), st(0)
fmul qword [0x101a1ad0]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
call fcn.10115c90
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fstp dword [esp + 0xc]
fld dword [esp + 0x20]
call fcn.10115dc0
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.10039c50
add esp, 0x10
test al, al
je 0x1006ab57
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.10039c50
add esp, 0x10
test al, al
jne 0x1006aab2
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.100406e0
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.10039d00
fld1
fstp dword [esp + 0x18]
add esp, 0x10
fld dword [0x101a1acc]
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.10055190
fstp dword [esp + 0x90]
fld1
fstp dword [esp + 8]
fld dword [0x101a1acc]
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.10055190
fstp dword [esp + 0x94]
add esp, 0xc
mov byte [esp + 0x3a], 1
mov byte [esp + 0x17], 1
test bl, 8
jne 0x1006acaf
push 1
push str.context
call fcn.10047f30
add esp, 8
jmp 0x1006acb3
test ebx, 0x2000000
je 0x1006acaf
fld dword [esp + 0x3c]
lea edx, [esp + 0x28]
push edx
fst dword [esp + 0x2c]
push 0x101a1ac8
fstp dword [esp + 0x34]
call fcn.100533b0
add esp, 8
call fcn.1003bfe0
test al, al
je 0x1006ac13
fld dword [esp + 0x3c]
mov ecx, dword [esp + 0x74]
fsub qword [0x1019f150]
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.10052800
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.10052800
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 0x1006ac27
push 1
push str.context
call fcn.10047f30
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.1003d2a0
fld dword [esp + 0x64]
lea ecx, [esp + 0x2c]
fstp dword [esp + 0x2c]
push ecx
fld dword [esp + 0x44]
push 0x101a1ac4
fstp dword [esp + 0x38]
call fcn.100533b0
add esp, 0xc
call fcn.1003bfe0
test al, al
je 0x1006acaf
mov edx, dword [esp + 0x74]
fld dword [edx + 0xf4]
push ecx
fsub dword [esp + 0x50]
fld dword [esp + 0x40]
fsub qword [0x1019f150]
fdivp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fstp dword [esp]
call fcn.10052800
fstp dword [esp + 0x60]
add esp, 4
mov byte [esp + 0x3b], 1
mov byte [esp + 0x17], 1
mov edi, edx
jmp 0x1006acb3
mov edi, dword [esp + 0x74]
cmp byte [esp + 0x27], 0
je 0x1006ad55
fld dword [esp + 0xd0]
lea eax, [esp + 0x28]
fstp dword [esp + 0x28]
push eax
fld dword [esp + 0x50]
fstp dword [esp + 0x30]
call fcn.1003d2a0
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.100533b0
add esp, 0xc
call fcn.1003bfe0
test al, al
je 0x1006ad55
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 0x1006ad40
fstp st(1)
fld1
fcom st(1)
fnstsw ax
test ah, 5
jp 0x1006ad40
fstp st(1)
jmp 0x1006ad42
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.10042990
mov eax, ebx
and eax, 0x100
mov dword [esp + 0xc], eax
jne 0x1006ad86
fld dword [edi + 0x155c]
sub esp, 8
fstp dword [esp + 4]
fldz
fstp dword [esp]
call fcn.1003d670
add esp, 8
call fcn.10047ab0
mov eax, ebx
and eax, 0x80
mov dword [esp + 0x20], eax
jne 0x1006adda
mov eax, dword [ebp + 8]
push 0
push eax
call fcn.1003abd0
mov edi, eax
add esp, 8
cmp dword [ebp + 8], edi
je 0x1006adda
cmp dword [esp + 0xc], 0
je 0x1006adcd
mov ecx, dword [esp + 0x74]
fld dword [ecx + 0x155c]
sub esp, 8
fstp dword [esp + 4]
fldz
fstp dword [esp]
call fcn.1003d670
add esp, 8
mov edx, dword [ebp + 8]
push edi
push edx
call fcn.10055c90
add esp, 8
cmp dword [esp + 0xc], 0
jne 0x1006af50
push 1
push 0x10
call fcn.10047540
add esp, 8
cmp dword [esp + 0x1c], 0
je 0x1006adfc
fld1
jmp 0x1006ae02
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 0x1006ae3f
push str.Current
call fcn.1005e0c0
add esp, 4
fld dword [esp + 0x60]
mov eax, ebx
fld qword [0x1019e128]
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.10066610
mov edi, dword [ebp + 0x14]
add esp, 0x14
test edi, edi
je 0x1006af46
push str.Original
call fcn.1005e0c0
add esp, 4
cmp dword [esp + 0x1c], 0
je 0x1006aebc
fld1
jmp 0x1006aebf
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 0x101a1a90
call fcn.10066610
add esp, 0x14
test al, al
je 0x1006af46
mov edx, dword [esp + 0x7c]
mov eax, dword [ebp + 0xc]
push edx
push edi
push eax
call fcn.10114cf0
add esp, 0xc
mov byte [esp + 0x17], 1
call fcn.10042990
call fcn.10047c00
cmp byte [esp + 0x3b], 0
jne 0x1006af62
cmp byte [esp + 0x3a], 0
je 0x1006afe9
fldz
fld dword [esp + 0x84]
fcom st(1)
fnstsw ax
test ah, 0x41
je 0x1006af7c
fstp st(0)
fld dword [0x101a176c]
fstp dword [esp + 0x1c]
fld dword [esp + 0x88]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
je 0x1006af9a
fstp st(0)
fld dword [0x101a0bd8]
fstp dword [esp + 0xc]
fld1
fld dword [esp + 0x5c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x1006afb5
fsub qword [0x101a1a88]
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.1003a8c0
add esp, 0x18
test bl, 0x20
mov byte [esp + 0x43], 0
jne 0x1006b205
cmp byte [esp + 0x27], 0
je 0x1006b007
fld dword [esp + 0xd0]
jmp 0x1006b00e
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.10047410
mov edi, ebx
and edi, 0x18e001a
add esp, 4
or edi, 4
test ebx, 0x100000
jne 0x1006b04d
test ebx, 0x700000
jne 0x1006b090
mov edx, dword [ebp + 0xc]
mov ecx, edi
or ecx, 0x100000
push ecx
push edx
push str.rgb
call fcn.100699d0
add esp, 0xc
test al, al
je 0x1006b090
mov eax, dword [esp + 0x74]
cmp dword [eax + 0x19b4], 0
je 0x1006b086
cmp byte [eax + 0x19c5], 0
mov byte [esp + 0x43], 1
je 0x1006b08b
mov byte [esp + 0x43], 0
mov byte [esp + 0x17], 1
test ebx, 0x200000
jne 0x1006b0a0
test ebx, 0x700000
jne 0x1006b0bd
mov ecx, dword [ebp + 0xc]
mov eax, edi
or eax, 0x200000
push eax
push ecx
push str.hsv
call fcn.100699d0
add esp, 0xc
or byte [esp + 0x17], al
test ebx, 0x400000
jne 0x1006b0cd
test ebx, 0x700000
jne 0x1006b0e9
mov edx, dword [ebp + 0xc]
or edi, 0x400000
push edi
push edx
push 0x101a1a70
call fcn.100699d0
add esp, 0xc
or byte [esp + 0x17], al
call fcn.100428c0
cmp byte [esp + 0x43], 0
je 0x1006b205
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.100408f0
fldz
add esp, 0x18
fcom dword [esp + 0x44]
fnstsw ax
test ah, 1
jne 0x1006b203
fld dword [esp + 0x5c]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x1006b201
fld dword [esp + 0x1c]
fcom st(2)
fnstsw ax
test ah, 0x41
jp 0x1006b1b5
fld dword [esp + 0x84]
fld st(0)
fld st(2)
fucompp
fnstsw ax
test ah, 0x44
jnp 0x1006b1b3
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 [0x1019e130]
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.1003a8c0
add esp, 0x18
jmp 0x1006b205
fstp st(0)
fxch st(2)
fcomp dword [esp + 0x20]
fnstsw ax
test ah, 1
jne 0x1006b201
mov eax, dword [esp + 0x70]
fld dword [esp + 0x88]
fmul qword [0x1019e130]
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.1003a8c0
add esp, 0x18
jmp 0x1006b205
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.1003a8c0
lea eax, [esp + 0x10c]
push eax
call fcn.1003a720
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.1003a720
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 0x1006b9c0
fld dword [esp + 0x18]
fld st(0)
fld qword [0x101a18c8]
fdiv st(1)
fstp dword [esp + 0x1c]
fxch st(1)
call fcn.10114560
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 0x1006b33e
mov dword [esp + 0xc], eax
fadd qword [esp + 0x50]
xor edi, edi
mov dword [esp + 0x18], edi
fst qword [esp + 0xc0]
fmul qword [0x1019e130]
fstp dword [esp + 0x44]
lea esp, [esp]
fld dword [esp + 0x1c]
mov eax, dword [esp + 0xc]
fld qword [0x101a0b78]
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 [0x1019ef38]
fmul st(1), st(0)
fld qword [0x101a1ad0]
fmul st(2), st(0)
fld st(5)
fsubp st(3)
fxch st(2)
fstp dword [esp + 0x28]
fxch st(2)
fadd qword [0x1019f150]
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.10079ad0
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.10078a40
fld dword [esp + 0x18]
mov dword [esi + 0x54], 0
call fcn.10115c90
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.10115dc0
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.10115c90
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.10115dc0
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.10076d40
add edi, 1
add esp, 0x24
cmp edi, 6
mov dword [esp + 0x18], edi
jl 0x1006b360
fld dword [esp + 0x5c]
fadd st(0), st(0)
fmul qword [0x101a1ad0]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
call fcn.10115c90
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fstp dword [esp + 0xc]
fld dword [esp + 0x1c]
call fcn.10115dc0
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 [0x1019e130]
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 0x1006b561
fmul qword [0x101a0bf8]
jmp 0x1006b567
fmul qword [0x101a1a68]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fld qword [0x101a1a60]
fdivr st(1)
call fcn.10114560
cmp eax, 9
jge 0x1006b588
mov edi, 9
jmp 0x1006b594
cmp eax, 0x20
mov edi, 0x20
jg 0x1006b594
mov edi, eax
push edi
push ebx
push ecx
lea eax, [esp + 0xc4]
fstp dword [esp]
push eax
mov ecx, esi
call fcn.1007c180
fld1
push ecx
fstp dword [esp]
fld dword [esp + 0x1c]
push edi
fadd qword [0x1019f150]
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.1007c0f0
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.1007c0f0
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.1003d0c0
add esp, 4
push 6
push 6
mov ecx, esi
call fcn.10078990
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 [0x1019e2a4]
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.1007c030
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 0x1006b8ea
fstp st(0)
fst dword [esp + 0x20]
fld1
jmp 0x1006b903
fld1
fcom st(1)
fnstsw ax
test ah, 5
jp 0x1006b8fd
fstp st(1)
fst dword [esp + 0x20]
jmp 0x1006b903
fxch st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x88]
fcom st(2)
fnstsw ax
test ah, 5
jp 0x1006b9aa
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 0x1006bd12
fstp st(2)
fcom st(1)
fnstsw ax
test ah, 5
jp 0x1006b919
fstp st(1)
jmp 0x1006b91b
test dword [ebp + 0x10], 0x2000000
je 0x1006bd16
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.1007a340
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.1007a340
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.1003ad10
fldz
fld dword [esp + 0x9c]
add esp, 0x14
fcom st(1)
fnstsw ax
test ah, 5
jp 0x1006ba8d
fstp st(0)
fst dword [esp + 0x18]
jmp 0x1006baa2
fld1
fcom st(1)
fnstsw ax
test ah, 5
jp 0x1006ba9c
fstp st(1)
jmp 0x1006ba9e
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 [0x1019e130]
fadd st(3), st(0)
fxch st(3)
call fcn.10114560
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fstp dword [esp + 0x10]
fld st(0)
fld qword [0x1019ef38]
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 0x1006bb02
fstp st(1)
jmp 0x1006bb17
fstp st(0)
fld dword [esp + 0x1c]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x1006bb15
fstp st(1)
jmp 0x1006bb17
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 0x1006bb4b
fstp st(4)
fld1
fcom st(4)
fnstsw ax
test ah, 5
jp 0x1006bb4b
fstp st(4)
jmp 0x1006bb4d
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.10114560
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 0x1006bba1
fstp st(1)
jmp 0x1006bbb6
fstp st(0)
fld dword [esp + 0x1c]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x1006bbb4
fstp st(1)
jmp 0x1006bbb6
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 [0x101a0b78]
fst qword [esp + 0xc0]
jmp 0x1006bbeb
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.1007a340
mov eax, edi
cmp eax, 6
mov dword [esp + 0x1c], eax
jl 0x1006bbe0
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 [0x1019e130]
call fcn.10114560
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.1003ad10
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 [0x1019ef38]
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.100547b0
add esp, 0x14
mov edi, dword [esp + 0x70]
cmp byte [esp + 0x3a], 0
je 0x1006bd25
fld dword [0x101a0b50]
jmp 0x1006bd2b
fld dword [0x1019f144]
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.1007c180
fld1
push ecx
fstp dword [esp]
fld dword [esp + 0x68]
push 0xc
fadd qword [0x1019f150]
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.1007c0f0
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.1007c0f0
cmp byte [esp + 0x27], 0
je 0x1006bf47
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 0x1006bdc8
fstp st(0)
fst dword [esp + 0x18]
jmp 0x1006bddd
fld1
fcom st(1)
fnstsw ax
test ah, 5
jp 0x1006bdd7
fstp st(1)
jmp 0x1006bdd9
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 [0x1019e130]
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.100595a0
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.1007a340
fld dword [esp + 0x18]
fld1
fsubrp st(1)
fmul dword [esp + 0x3c]
fadd dword [esp + 0x4c]
fadd qword [0x1019e130]
call fcn.10114560
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.1003ad10
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 [0x1019ef38]
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.100547b0
add esp, 0x14
call fcn.10047c00
mov bl, byte [esp + 0x17]
test bl, bl
je 0x1006c011
mov eax, dword [esp + 0x7c]
cmp eax, 4
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x120]
jb 0x1006bf84
jmp 0x1006bf70
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1006bf88
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1006bf70
test eax, eax
je 0x1006bfe5
movzx esi, byte [edx]
movzx edi, byte [ecx]
sub esi, edi
jne 0x1006bfd7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1006bfe5
movzx esi, byte [edx]
movzx edi, byte [ecx]
sub esi, edi
jne 0x1006bfd7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1006bfe5
movzx esi, byte [edx]
movzx edi, byte [ecx]
sub esi, edi
jne 0x1006bfd7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1006bfe5
movzx esi, byte [edx]
movzx edx, byte [ecx]
sub esi, edx
je 0x1006bfe5
test esi, esi
mov eax, 1
jg 0x1006bfe7
or eax, 0xffffffff
jmp 0x1006bfe7
xor eax, eax
test eax, eax
jne 0x1006bffb
xor bl, bl
call fcn.10042e20
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.1003b4e0
add esp, 4
call fcn.10042e20
pop edi
pop esi
mov al, bl
pop ebx
mov esp, ebp
pop ebp
ret