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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x124
mov eax, dword [0x101eab30]
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.1004d050
add esp, 4
call fcn.1004d210
mov ebx, dword [ebp + 0x10]
test ebx, 0x100
jne 0x1006fd0a
or ebx, 0x10
mov dword [ebp + 0x10], ebx
test bl, 8
jne 0x1006fd1c
mov eax, dword [ebp + 0xc]
push ebx
push eax
call fcn.10071780
add esp, 8
test ebx, 0x6000000
jne 0x1006fd40
mov eax, dword [edi + 0x2bd8]
test eax, 0x6000000
jne 0x1006fd36
mov eax, 0x2900000
and eax, 0x6000000
or ebx, eax
mov dword [ebp + 0x10], ebx
test bl, 8
jne 0x1006fd56
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 0x1006fd79
test eax, eax
mov byte [esp + 0x27], 1
je 0x1006fd7e
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.10042790
fstp dword [esp + 0x60]
call fcn.10052aa0
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 0x1006fdec
fstp st(0)
fst dword [esp + 0x3c]
jmp 0x1006fdf0
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 [0x101a7bb0]
call fcn.10119fe0
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.1011a770
fld dword [esp + 0x48]
fld qword [0x101a8ed8]
add esp, 0xc
fmul st(1)
fstp dword [esp + 0x64]
fld st(0)
fld qword [0x101a5230]
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 [0x101a8ed0]
call fcn.10119fe0
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 [0x101a8ec8]
fmul st(1)
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fst dword [esp + 0xf4]
fld st(1)
fmul qword [0x101a8ec0]
fstp dword [esp + 0xf8]
fstp dword [esp + 0xec]
fmul qword [0x101a8eb8]
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.10046050
push 1
push 8
mov byte [esp + 0x37], 0
mov byte [esp + 0x5b], 0
mov byte [esp + 0x5a], 0
call fcn.1004cca0
mov eax, ebx
add esp, 0x20
and eax, 0x4000000
mov dword [esp + 0x10], eax
je 0x100702d4
mov edi, dword [esp + 0x74]
fld dword [edi + 0x155c]
lea eax, [esp + 0x28]
fld dword [esp + 0x3c]
push eax
fld st(0)
push 0x101a8eb0
faddp st(2)
fld dword [esp + 0x68]
faddp st(2)
fxch st(1)
fstp dword [esp + 0x30]
fstp dword [esp + 0x34]
call fcn.10058b10
add esp, 8
call fcn.10041740
test al, al
je 0x100702b7
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 0x100700c7
fadd dword [esp + 0x18]
fmul st(0), st(0)
fcompp
fnstsw ax
test ah, 1
jne 0x100700cb
fld dword [esp + 0x90]
fld dword [esp + 0x8c]
call fcn.1011ddba
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fdiv qword [0x101a8ea8]
fmul qword [0x101a5230]
fstp dword [esp + 0x5c]
fldz
fld dword [esp + 0x5c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x100700b9
fadd qword [0x101a6320]
mov byte [esp + 0x3b], 1
mov byte [esp + 0x17], 1
fstp dword [esp + 0x5c]
jmp 0x100700cb
fstp st(0)
mov byte [esp + 0x3b], 1
mov byte [esp + 0x17], 1
jmp 0x100700cb
fstp st(1)
fstp st(0)
fld dword [esp + 0x5c]
fchs
fadd st(0), st(0)
fmul qword [0x101a8ea8]
fstp dword [esp + 0x20]
fld dword [esp + 0x20]
call fcn.1011bc00
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fstp dword [esp + 0xc]
fld dword [esp + 0x20]
call fcn.1011bd30
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.1003f3b0
add esp, 0x10
test al, al
je 0x100702b7
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.1003f3b0
add esp, 0x10
test al, al
jne 0x10070212
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.10045e40
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.1003f460
fld1
fstp dword [esp + 0x18]
add esp, 0x10
fld dword [0x101a8ea4]
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.1005a8f0
fstp dword [esp + 0x90]
fld1
fstp dword [esp + 8]
fld dword [0x101a8ea4]
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.1005a8f0
fstp dword [esp + 0x94]
add esp, 0xc
mov byte [esp + 0x3a], 1
mov byte [esp + 0x17], 1
test bl, 8
jne 0x1007040f
push 1
push str.context
call fcn.1004d690
add esp, 8
jmp 0x10070413
test ebx, 0x2000000
je 0x1007040f
fld dword [esp + 0x3c]
lea edx, [esp + 0x28]
push edx
fst dword [esp + 0x2c]
push 0x101a8ea0
fstp dword [esp + 0x34]
call fcn.10058b10
add esp, 8
call fcn.10041740
test al, al
je 0x10070373
fld dword [esp + 0x3c]
mov ecx, dword [esp + 0x74]
fsub qword [0x101a6320]
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.10057f60
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.10057f60
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 0x10070387
push 1
push str.context
call fcn.1004d690
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.10042a00
fld dword [esp + 0x64]
lea ecx, [esp + 0x2c]
fstp dword [esp + 0x2c]
push ecx
fld dword [esp + 0x44]
push 0x101a8e9c
fstp dword [esp + 0x38]
call fcn.10058b10
add esp, 0xc
call fcn.10041740
test al, al
je 0x1007040f
mov edx, dword [esp + 0x74]
fld dword [edx + 0xf4]
push ecx
fsub dword [esp + 0x50]
fld dword [esp + 0x40]
fsub qword [0x101a6320]
fdivp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fstp dword [esp]
call fcn.10057f60
fstp dword [esp + 0x60]
add esp, 4
mov byte [esp + 0x3b], 1
mov byte [esp + 0x17], 1
mov edi, edx
jmp 0x10070413
mov edi, dword [esp + 0x74]
cmp byte [esp + 0x27], 0
je 0x100704b5
fld dword [esp + 0xd0]
lea eax, [esp + 0x28]
fstp dword [esp + 0x28]
push eax
fld dword [esp + 0x50]
fstp dword [esp + 0x30]
call fcn.10042a00
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.10058b10
add esp, 0xc
call fcn.10041740
test al, al
je 0x100704b5
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 0x100704a0
fstp st(1)
fld1
fcom st(1)
fnstsw ax
test ah, 5
jp 0x100704a0
fstp st(1)
jmp 0x100704a2
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.100480f0
mov eax, ebx
and eax, 0x100
mov dword [esp + 0xc], eax
jne 0x100704e6
fld dword [edi + 0x155c]
sub esp, 8
fstp dword [esp + 4]
fldz
fstp dword [esp]
call fcn.10042dd0
add esp, 8
call fcn.1004d210
mov eax, ebx
and eax, 0x80
mov dword [esp + 0x20], eax
jne 0x1007053a
mov eax, dword [ebp + 8]
push 0
push eax
call fcn.10040330
mov edi, eax
add esp, 8
cmp dword [ebp + 8], edi
je 0x1007053a
cmp dword [esp + 0xc], 0
je 0x1007052d
mov ecx, dword [esp + 0x74]
fld dword [ecx + 0x155c]
sub esp, 8
fstp dword [esp + 4]
fldz
fstp dword [esp]
call fcn.10042dd0
add esp, 8
mov edx, dword [ebp + 8]
push edi
push edx
call fcn.1005b3f0
add esp, 8
cmp dword [esp + 0xc], 0
jne 0x100706b0
push 1
push 0x10
call fcn.1004cca0
add esp, 8
cmp dword [esp + 0x1c], 0
je 0x1007055c
fld1
jmp 0x10070562
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 0x1007059f
push str.Current
call fcn.10063820
add esp, 4
fld dword [esp + 0x60]
mov eax, ebx
fld qword [0x101a5228]
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.1006bd70
mov edi, dword [ebp + 0x14]
add esp, 0x14
test edi, edi
je 0x100706a6
push str.Original
call fcn.10063820
add esp, 4
cmp dword [esp + 0x1c], 0
je 0x1007061c
fld1
jmp 0x1007061f
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 0x101a8e68
call fcn.1006bd70
add esp, 0x14
test al, al
je 0x100706a6
mov edx, dword [esp + 0x7c]
mov eax, dword [ebp + 0xc]
push edx
push edi
push eax
call fcn.1011a770
add esp, 0xc
mov byte [esp + 0x17], 1
call fcn.100480f0
call fcn.1004d360
cmp byte [esp + 0x3b], 0
jne 0x100706c2
cmp byte [esp + 0x3a], 0
je 0x10070749
fldz
fld dword [esp + 0x84]
fcom st(1)
fnstsw ax
test ah, 0x41
je 0x100706dc
fstp st(0)
fld dword [0x101a8b44]
fstp dword [esp + 0x1c]
fld dword [esp + 0x88]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
je 0x100706fa
fstp st(0)
fld dword [0x101a7fb0]
fstp dword [esp + 0xc]
fld1
fld dword [esp + 0x5c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x10070715
fsub qword [0x101a8e60]
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.10040020
add esp, 0x18
test bl, 0x20
mov byte [esp + 0x43], 0
jne 0x10070965
cmp byte [esp + 0x27], 0
je 0x10070767
fld dword [esp + 0xd0]
jmp 0x1007076e
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.1004cb70
mov edi, ebx
and edi, 0x18e001a
add esp, 4
or edi, 4
test ebx, 0x100000
jne 0x100707ad
test ebx, 0x700000
jne 0x100707f0
mov edx, dword [ebp + 0xc]
mov ecx, edi
or ecx, 0x100000
push ecx
push edx
push str.rgb
call fcn.1006f130
add esp, 0xc
test al, al
je 0x100707f0
mov eax, dword [esp + 0x74]
cmp dword [eax + 0x19b4], 0
je 0x100707e6
cmp byte [eax + 0x19c5], 0
mov byte [esp + 0x43], 1
je 0x100707eb
mov byte [esp + 0x43], 0
mov byte [esp + 0x17], 1
test ebx, 0x200000
jne 0x10070800
test ebx, 0x700000
jne 0x1007081d
mov ecx, dword [ebp + 0xc]
mov eax, edi
or eax, 0x200000
push eax
push ecx
push str.hsv
call fcn.1006f130
add esp, 0xc
or byte [esp + 0x17], al
test ebx, 0x400000
jne 0x1007082d
test ebx, 0x700000
jne 0x10070849
mov edx, dword [ebp + 0xc]
or edi, 0x400000
push edi
push edx
push 0x101a8e48
call fcn.1006f130
add esp, 0xc
or byte [esp + 0x17], al
call fcn.10048020
cmp byte [esp + 0x43], 0
je 0x10070965
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.10046050
fldz
add esp, 0x18
fcom dword [esp + 0x44]
fnstsw ax
test ah, 1
jne 0x10070963
fld dword [esp + 0x5c]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x10070961
fld dword [esp + 0x1c]
fcom st(2)
fnstsw ax
test ah, 0x41
jp 0x10070915
fld dword [esp + 0x84]
fld st(0)
fld st(2)
fucompp
fnstsw ax
test ah, 0x44
jnp 0x10070913
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 [0x101a5230]
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.10040020
add esp, 0x18
jmp 0x10070965
fstp st(0)
fxch st(2)
fcomp dword [esp + 0x20]
fnstsw ax
test ah, 1
jne 0x10070961
mov eax, dword [esp + 0x70]
fld dword [esp + 0x88]
fmul qword [0x101a5230]
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.10040020
add esp, 0x18
jmp 0x10070965
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.10040020
lea eax, [esp + 0x10c]
push eax
call fcn.1003fe80
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.1003fe80
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 0x10071120
fld dword [esp + 0x18]
fld st(0)
fld qword [0x101a8ca0]
fdiv st(1)
fstp dword [esp + 0x1c]
fxch st(1)
call fcn.10119fe0
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 0x10070a9e
mov dword [esp + 0xc], eax
fadd qword [esp + 0x50]
xor edi, edi
mov dword [esp + 0x18], edi
fst qword [esp + 0xc0]
fmul qword [0x101a5230]
fstp dword [esp + 0x44]
lea esp, [esp]
fld dword [esp + 0x1c]
mov eax, dword [esp + 0xc]
fld qword [0x101a7f50]
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 [0x101a6108]
fmul st(1), st(0)
fld qword [0x101a8ea8]
fmul st(2), st(0)
fld st(5)
fsubp st(3)
fxch st(2)
fstp dword [esp + 0x28]
fxch st(2)
fadd qword [0x101a6320]
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.1007f230
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.1007e1a0
fld dword [esp + 0x18]
mov dword [esi + 0x54], 0
call fcn.1011bc00
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.1011bd30
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.1011bc00
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.1011bd30
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.1007c4a0
add edi, 1
add esp, 0x24
cmp edi, 6
mov dword [esp + 0x18], edi
jl 0x10070ac0
fld dword [esp + 0x5c]
fadd st(0), st(0)
fmul qword [0x101a8ea8]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
call fcn.1011bc00
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fstp dword [esp + 0xc]
fld dword [esp + 0x1c]
call fcn.1011bd30
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 [0x101a5230]
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 0x10070cc1
fmul qword [0x101a7fd0]
jmp 0x10070cc7
fmul qword [0x101a8e40]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fld qword [0x101a8e38]
fdivr st(1)
call fcn.10119fe0
cmp eax, 9
jge 0x10070ce8
mov edi, 9
jmp 0x10070cf4
cmp eax, 0x20
mov edi, 0x20
jg 0x10070cf4
mov edi, eax
push edi
push ebx
push ecx
lea eax, [esp + 0xc4]
fstp dword [esp]
push eax
mov ecx, esi
call fcn.100818e0
fld1
push ecx
fstp dword [esp]
fld dword [esp + 0x1c]
push edi
fadd qword [0x101a6320]
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.10081850
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.10081850
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.10042820
add esp, 4
push 6
push 6
mov ecx, esi
call fcn.1007e0f0
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 [0x101a53f4]
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.10081790
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 0x1007104a
fstp st(0)
fst dword [esp + 0x20]
fld1
jmp 0x10071063
fld1
fcom st(1)
fnstsw ax
test ah, 5
jp 0x1007105d
fstp st(1)
fst dword [esp + 0x20]
jmp 0x10071063
fxch st(1)
fstp dword [esp + 0x20]
fld dword [esp + 0x88]
fcom st(2)
fnstsw ax
test ah, 5
jp 0x1007110a
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 0x10071472
fstp st(2)
fcom st(1)
fnstsw ax
test ah, 5
jp 0x10071079
fstp st(1)
jmp 0x1007107b
test dword [ebp + 0x10], 0x2000000
je 0x10071476
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.1007faa0
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.1007faa0
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.10040470
fldz
fld dword [esp + 0x9c]
add esp, 0x14
fcom st(1)
fnstsw ax
test ah, 5
jp 0x100711ed
fstp st(0)
fst dword [esp + 0x18]
jmp 0x10071202
fld1
fcom st(1)
fnstsw ax
test ah, 5
jp 0x100711fc
fstp st(1)
jmp 0x100711fe
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 [0x101a5230]
fadd st(3), st(0)
fxch st(3)
call fcn.10119fe0
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fstp dword [esp + 0x10]
fld st(0)
fld qword [0x101a6108]
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 0x10071262
fstp st(1)
jmp 0x10071277
fstp st(0)
fld dword [esp + 0x1c]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x10071275
fstp st(1)
jmp 0x10071277
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 0x100712ab
fstp st(4)
fld1
fcom st(4)
fnstsw ax
test ah, 5
jp 0x100712ab
fstp st(4)
jmp 0x100712ad
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.10119fe0
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 0x10071301
fstp st(1)
jmp 0x10071316
fstp st(0)
fld dword [esp + 0x1c]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x10071314
fstp st(1)
jmp 0x10071316
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 [0x101a7f50]
fst qword [esp + 0xc0]
jmp 0x1007134b
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.1007faa0
mov eax, edi
cmp eax, 6
mov dword [esp + 0x1c], eax
jl 0x10071340
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 [0x101a5230]
call fcn.10119fe0
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.10040470
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 [0x101a6108]
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.10059f10
add esp, 0x14
mov edi, dword [esp + 0x70]
cmp byte [esp + 0x3a], 0
je 0x10071485
fld dword [0x101a7f28]
jmp 0x1007148b
fld dword [0x101a6314]
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.100818e0
fld1
push ecx
fstp dword [esp]
fld dword [esp + 0x68]
push 0xc
fadd qword [0x101a6320]
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.10081850
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.10081850
cmp byte [esp + 0x27], 0
je 0x100716a7
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 0x10071528
fstp st(0)
fst dword [esp + 0x18]
jmp 0x1007153d
fld1
fcom st(1)
fnstsw ax
test ah, 5
jp 0x10071537
fstp st(1)
jmp 0x10071539
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 [0x101a5230]
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.1005ed00
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.1007faa0
fld dword [esp + 0x18]
fld1
fsubrp st(1)
fmul dword [esp + 0x3c]
fadd dword [esp + 0x4c]
fadd qword [0x101a5230]
call fcn.10119fe0
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.10040470
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 [0x101a6108]
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.10059f10
add esp, 0x14
call fcn.1004d360
mov bl, byte [esp + 0x17]
test bl, bl
je 0x10071771
mov eax, dword [esp + 0x7c]
cmp eax, 4
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x120]
jb 0x100716e4
jmp 0x100716d0
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x100716e8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x100716d0
test eax, eax
je 0x10071745
movzx esi, byte [edx]
movzx edi, byte [ecx]
sub esi, edi
jne 0x10071737
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10071745
movzx esi, byte [edx]
movzx edi, byte [ecx]
sub esi, edi
jne 0x10071737
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10071745
movzx esi, byte [edx]
movzx edi, byte [ecx]
sub esi, edi
jne 0x10071737
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10071745
movzx esi, byte [edx]
movzx edx, byte [ecx]
sub esi, edx
je 0x10071745
test esi, esi
mov eax, 1
jg 0x10071747
or eax, 0xffffffff
jmp 0x10071747
xor eax, eax
test eax, eax
jne 0x1007175b
xor bl, bl
call fcn.10048580
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.10040c40
add esp, 4
call fcn.10048580
pop edi
pop esi
mov al, bl
pop ebx
mov esp, ebp
pop ebp
ret