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

Disassembly:
sub esp, 0xec
mov eax, dword [0x101e6218]
xor eax, esp
mov dword [esp + 0xe8], eax
mov eax, dword [0x101eaae8]
mov ecx, dword [eax + 0x1994]
push ebp
mov ebp, dword [esp + 0xf8]
mov byte [ecx + 0x7c], 1
mov eax, dword [eax + 0x1994]
cmp byte [eax + 0x7f], 0
push esi
mov esi, dword [esp + 0xf8]
mov dword [esp + 0x6c], esi
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x70], eax
je 0x1006e9d4
pop esi
xor al, al
pop ebp
mov ecx, dword [esp + 0xe8]
xor ecx, esp
call fcn.10118c8e
add esp, 0xec
ret
push ebx
push edi
mov edi, dword [0x101eaae8]
mov dword [esp + 0x24], edi
call fcn.10041fd0
fstp dword [esp + 0x6c]
mov ebx, dword [esp + 0x108]
test bl, 0x10
je 0x1006e9f9
fldz
jmp 0x1006ea03
fld dword [edi + 0x155c]
fadd dword [esp + 0x6c]
fstp dword [esp + 0x14]
call fcn.100522e0
fsub dword [esp + 0x14]
push 0
push esi
fstp dword [esp + 0x24]
call fcn.1003fb70
mov dword [esp + 0x70], eax
call fcn.1004ca50
push esi
call fcn.1004c890
add esp, 0xc
test bl, 0x20
mov dword [esp + 0x84], ebx
je 0x1006ea4d
and ebx, 0xff9fffff
or ebx, 0x100008
mov dword [esp + 0x108], ebx
test bl, 8
jne 0x1006ea5c
push ebx
push ebp
call fcn.10063a20
add esp, 8
test ebx, 0x700000
jne 0x1006ea79
mov edx, dword [edi + 0x2bd8]
and edx, 0x700000
or ebx, edx
mov dword [esp + 0x108], ebx
test ebx, 0x1800000
jne 0x1006ea95
mov eax, dword [edi + 0x2bd8]
and eax, 0x1800000
or ebx, eax
mov dword [esp + 0x108], ebx
test ebx, 0x6000000
jne 0x1006eab2
mov ecx, dword [edi + 0x2bd8]
and ecx, 0x6000000
or ebx, ecx
mov dword [esp + 0x108], ebx
mov edx, dword [edi + 0x2bd8]
fld dword [ebp]
mov edi, dword [esp + 0x108]
fstp dword [esp + 0x28]
fld dword [ebp + 4]
and edx, 0xf80fffff
or edi, edx
fstp dword [esp + 0x2c]
fld dword [ebp + 8]
mov eax, edi
shr eax, 1
fstp dword [esp + 0x30]
mov ebx, edi
shr ebx, 0x13
not al
and al, 1
xor ecx, ecx
and bl, 1
test al, al
setne cl
mov dword [esp + 0x108], edi
mov byte [esp + 0x12], al
add ecx, 3
test al, al
mov dword [esp + 0x40], ecx
je 0x1006eb0e
fld dword [ebp + 0xc]
jmp 0x1006eb10
fld1
and edi, 0x200000
fstp dword [esp + 0x34]
mov dword [esp + 0x70], edi
je 0x1006eb51
fld dword [esp + 0x30]
lea edx, [esp + 0x30]
push edx
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x30]
push ecx
sub esp, 0xc
fstp dword [esp + 8]
fld dword [esp + 0x44]
fstp dword [esp + 4]
fld dword [esp + 0x40]
fstp dword [esp]
call fcn.10045890
add esp, 0x18
fldz
fld dword [esp + 0x28]
fcom st(1)
fnstsw ax
fld dword [0x101a8984]
test ah, 1
fld dword [0x101a51c4]
jne 0x1006eb72
fst dword [esp + 0x14]
jmp 0x1006eb7a
fxch st(1)
fst dword [esp + 0x14]
fxch st(1)
fld qword [0x101a3f68]
fmul st(3), st(0)
fld dword [esp + 0x14]
faddp st(4)
fxch st(3)
call fcn.10119820
fld dword [esp + 0x2c]
fcom st(4)
mov ebp, eax
mov dword [esp + 0x48], ebp
fnstsw ax
test ah, 1
jne 0x1006ebaa
fxch st(1)
fst dword [esp + 0x14]
jmp 0x1006ebb4
fxch st(2)
fst dword [esp + 0x14]
fxch st(2)
fxch st(1)
fxch st(1)
fmul st(3)
fadd dword [esp + 0x14]
call fcn.10119820
fld dword [esp + 0x30]
fcom st(4)
mov esi, eax
mov dword [esp + 0x4c], esi
fnstsw ax
test ah, 1
jne 0x1006ebdc
fxch st(1)
fst dword [esp + 0x14]
jmp 0x1006ebe6
fxch st(2)
fst dword [esp + 0x14]
fxch st(2)
fxch st(1)
fxch st(1)
fmul st(3)
fadd dword [esp + 0x14]
call fcn.10119820
fld dword [esp + 0x34]
fcom st(4)
mov edi, eax
mov dword [esp + 0x50], edi
fnstsw ax
test ah, 1
jne 0x1006ec0a
fstp st(2)
jmp 0x1006ec0e
fstp st(1)
fxch st(1)
fstp dword [esp + 0x14]
fmul st(1)
fadd dword [esp + 0x14]
call fcn.10119820
fld1
test dword [esp + 0x108], 0x300000
mov dword [esp + 0x54], eax
mov byte [esp + 0x11], 0
mov byte [esp + 0x13], 0
je 0x1006ef70
test byte [esp + 0x108], 0x20
jne 0x1006ef70
mov ebp, dword [esp + 0x40]
fstp st(1)
mov eax, dword [esp + 0x24]
fstp st(1)
fld dword [esp + 0x1c]
lea edx, [ebp - 1]
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
fld dword [eax + 0x155c]
fld st(1)
fmul st(1)
fsubr st(3)
fidiv dword [esp + 0x40]
call fcn.10119820
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fcom st(4)
fnstsw ax
test ah, 0x41
jp 0x1006ec99
fstp st(0)
fld1
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst qword [esp + 0x38]
faddp st(1)
fmulp st(1)
fsubp st(1)
call fcn.10119820
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jp 0x1006eccf
fstp st(0)
fld1
mov eax, dword [esp + 0x108]
fstp dword [esp + 0x1c]
and eax, 0x1000000
mov dword [esp + 0x7c], eax
mov eax, str.M:0.000
jne 0x1006ecef
mov eax, str.M:000
fld dword [0x101a3f34]
push ecx
fstp dword [esp]
push 0
push 0
push eax
lea ecx, [esp + 0x68]
push ecx
call fcn.10040890
fld dword [eax]
fcomp qword [esp + 0x4c]
add esp, 0x14
fnstsw ax
test ah, 1
jne 0x1006ed1c
mov cl, 1
jmp 0x1006ed1e
xor cl, cl
test cl, cl
mov eax, 0x101a8c84
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], eax
mov eax, str.A:_3d
mov dword [esp + 0xd4], eax
mov dword [esp + 0xe4], eax
mov eax, str._0.3f
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov eax, str.A:_0.3f
mov dword [esp + 0x58], 0x101a8c68
mov dword [esp + 0x5c], 0x101a8c64
mov dword [esp + 0x60], 0x101a8c60
mov dword [esp + 0x64], 0x101a8c5c
mov dword [esp + 0xc8], str.R:_3d
mov dword [esp + 0xcc], str.G:_3d
mov dword [esp + 0xd0], str.B:_3d
mov dword [esp + 0xd8], str.H:_3d
mov dword [esp + 0xdc], str.S:_3d
mov dword [esp + 0xe0], str.V:_3d
mov dword [esp + 0x98], str.R:_0.3f
mov dword [esp + 0x9c], str.G:_0.3f
mov dword [esp + 0xa0], str.B:_0.3f
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], str.H:_0.3f
mov dword [esp + 0xac], str.S:_0.3f
mov dword [esp + 0xb0], 0x101a8bfc
mov dword [esp + 0xb4], eax
je 0x1006ee32
xor edi, edi
jmp 0x1006ee40
xor edx, edx
cmp dword [esp + 0x70], edx
setne dl
add edx, 1
mov edi, edx
fld dword [esp + 0x14]
push ecx
fstp dword [esp]
call fcn.1004c3b0
add esp, 4
xor esi, esi
test ebp, ebp
jle 0x1006ef66
mov eax, dword [esp + 0x108]
and eax, 8
mov dword [esp + 0x38], eax
shl edi, 4
jmp 0x1006ee70
test esi, esi
jle 0x1006ee92
mov eax, dword [esp + 0x24]
fld dword [eax + 0x155c]
sub esp, 8
fstp dword [esp + 4]
fldz
fstp dword [esp]
call fcn.10042610
add esp, 8
lea ebp, [esi + 1]
cmp ebp, dword [esp + 0x40]
jne 0x1006eeab
fld dword [esp + 0x1c]
push ecx
fstp dword [esp]
call fcn.1004c3b0
add esp, 4
cmp dword [esp + 0x7c], 0
je 0x1006ef08
test bl, bl
je 0x1006eeba
fldz
jmp 0x1006eebc
fld1
mov eax, dword [esp + esi*4 + 0x58]
fstp dword [esp + 0x14]
fld1
push ecx
mov ecx, dword [esp + edi + 0x8c]
fstp dword [esp]
fld dword [esp + 0x18]
push ecx
sub esp, 0xc
fstp dword [esp + 8]
fldz
lea edx, [esp + esi*4 + 0x3c]
fstp dword [esp + 4]
fld dword [0x101a8bf8]
fstp dword [esp]
push edx
push eax
call fcn.1006d4a0
add esp, 0x1c
or al, byte [esp + 0x11]
mov byte [esp + 0x13], al
mov byte [esp + 0x11], al
jmp 0x1006ef41
mov ecx, dword [esp + edi + 0xb8]
fld1
mov dl, bl
neg dl
push ecx
lea eax, [esp + esi*4 + 0x4c]
sbb edx, edx
and edx, 0xffffff01
add edx, 0xff
push edx
push 0
push ecx
mov ecx, dword [esp + esi*4 + 0x68]
fstp dword [esp]
push eax
push ecx
call fcn.1006d780
add esp, 0x18
or byte [esp + 0x11], al
cmp dword [esp + 0x38], 0
jne 0x1006ef57
push 1
push str.context
call fcn.1004ced0
add esp, 8
mov esi, ebp
add edi, 4
cmp esi, dword [esp + 0x40]
jl 0x1006ee70
call fcn.10047860
jmp 0x1006f129
mov ecx, dword [esp + 0x108]
fstp st(0)
test ecx, 0x400000
je 0x1006f138
test cl, 0x20
jne 0x1006f138
xor ebx, ebx
fstp st(0)
cmp byte [esp + 0x12], bl
fstp st(0)
je 0x1006f010
cmp eax, ebx
jge 0x1006efa2
xor edx, edx
jmp 0x1006efb0
cmp eax, 0xff
mov edx, 0xff
jg 0x1006efb0
mov edx, eax
cmp edi, ebx
jge 0x1006efb8
xor edi, edi
jmp 0x1006efc5
cmp edi, 0xff
jle 0x1006efc5
mov edi, 0xff
cmp esi, ebx
jge 0x1006efcd
xor ecx, ecx
jmp 0x1006efdc
cmp esi, 0xff
mov ecx, 0xff
jg 0x1006efdc
mov ecx, esi
cmp ebp, ebx
jge 0x1006efe4
xor eax, eax
jmp 0x1006eff3
cmp ebp, 0xff
mov eax, 0xff
jg 0x1006eff3
mov eax, ebp
push edx
push edi
push ecx
push eax
push str._02X_02X_02X_02X
lea edx, [esp + 0xcc]
push 0x40
push edx
call fcn.1003f010
add esp, 0x1c
jmp 0x1006f06d
cmp edi, ebx
jge 0x1006f018
xor edi, edi
jmp 0x1006f025
cmp edi, 0xff
jle 0x1006f025
mov edi, 0xff
cmp esi, ebx
jge 0x1006f02d
xor ecx, ecx
jmp 0x1006f03c
cmp esi, 0xff
mov ecx, 0xff
jg 0x1006f03c
mov ecx, esi
cmp ebp, ebx
jge 0x1006f044
xor eax, eax
jmp 0x1006f053
cmp ebp, 0xff
mov eax, 0xff
jg 0x1006f053
mov eax, ebp
push edi
push ecx
push eax
push str._02X_02X_02X
lea eax, [esp + 0xc8]
push 0x40
push eax
call fcn.1003f010
add esp, 0x18
fld dword [esp + 0x1c]
push ecx
fstp dword [esp]
call fcn.1004c3b0
push ebx
push ebx
push 6
push 0x40
lea ecx, [esp + 0xcc]
push ecx
push str.Text
call fcn.1006cc50
add esp, 0x1c
test al, al
je 0x1006f110
mov byte [esp + 0x11], 1
lea ecx, [esp + 0xb8]
mov al, byte [ecx]
cmp al, 0x23
je 0x1006f0b3
cmp al, 0x20
je 0x1006f0b3
cmp al, 9
jne 0x1006f0b8
add ecx, 1
jmp 0x1006f0a5
cmp byte [esp + 0x12], 0
mov dword [esp + 0x54], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x48], ebx
je 0x1006f0f3
lea edx, [esp + 0x54]
push edx
lea eax, [esp + 0x54]
push eax
lea edx, [esp + 0x54]
push edx
lea eax, [esp + 0x54]
push eax
push 0x101a8bb8
push ecx
call fcn.1011bd82
add esp, 0x18
jmp 0x1006f110
lea edx, [esp + 0x50]
push edx
lea eax, [esp + 0x50]
push eax
lea edx, [esp + 0x50]
push edx
push 0x101a8ba8
push ecx
call fcn.1011bd82
add esp, 0x14
test byte [esp + 0x108], 8
jne 0x1006f129
push 1
push str.context
call fcn.1004ced0
add esp, 8
call fcn.10047860
fld qword [0x101a3f68]
fldz
fxch st(1)
xor esi, esi
test byte [esp + 0x108], 0x10
jne 0x1006f327
test byte [esp + 0x108], 0x20
fstp st(0)
jne 0x1006f172
mov eax, dword [esp + 0x24]
fld dword [eax + 0x155c]
sub esp, 8
fstp dword [esp + 4]
fstp dword [esp]
call fcn.10042610
fldz
add esp, 8
cmp byte [esp + 0x12], 0
je 0x1006f182
mov ecx, dword [esp + 0x44]
fld dword [ecx + 0xc]
jmp 0x1006f184
fld1
mov ebp, dword [esp + 0x44]
fstp dword [esp + 0x1c]
fld dword [ebp]
mov ebx, dword [esp + 0x108]
fstp dword [esp + 0x58]
lea ecx, [esp + 0x58]
fld dword [ebp + 4]
fstp dword [esp + 0x5c]
fld dword [ebp + 8]
fstp dword [esp + 0x60]
fld dword [esp + 0x1c]
fstp dword [esp + 0x64]
fst dword [esp + 0x38]
mov eax, dword [esp + 0x38]
fstp dword [esp + 0x3c]
mov edx, dword [esp + 0x3c]
push edx
push eax
push ebx
push ecx
push str.ColorButton
call fcn.1006b5b0
add esp, 0x14
test al, al
je 0x1006f281
test bl, 4
jne 0x1006f281
mov edi, dword [esp + 0x24]
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x60]
mov dword [edi + 0x2bdc], edx
mov edx, dword [esp + 0x64]
mov dword [edi + 0x2be0], eax
mov dword [edi + 0x2be4], ecx
push 0x101a8b90
mov dword [edi + 0x2be8], edx
call fcn.10052410
fldz
mov eax, dword [esp + 0x7c]
fst dword [esp + 0x80]
fstp dword [esp + 0x84]
lea ecx, [esp + 0x20]
fld dword [edi + 0x1558]
fstp dword [esp + 0x1c]
fld dword [eax + 0x114]
fstp dword [esp + 0x3c]
fld dword [eax + 0x120]
fstp dword [esp + 0x40]
lea eax, [esp + 0x80]
fld dword [esp + 0x3c]
push eax
fsub qword [0x101a6130]
push 0
push ecx
fstp dword [esp + 0x2c]
fld dword [esp + 0x4c]
fadd dword [esp + 0x28]
fstp dword [esp + 0x30]
call fcn.10041da0
add esp, 0x10
jmp 0x1006f285
mov edi, dword [esp + 0x24]
test bl, 8
jne 0x1006f299
push 1
push str.context
call fcn.1004ced0
add esp, 8
push 0
push 0x101a8b90
call fcn.100540e0
add esp, 8
test al, al
je 0x1006f31d
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x68]
cmp ecx, eax
mov esi, dword [edi + 0x1994]
je 0x1006f2cd
push eax
push ecx
call fcn.1005ac30
add esp, 8
call fcn.10058790
fld dword [esp + 0x6c]
push ecx
fmul qword [0x101a8b88]
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
fstp dword [esp]
call fcn.1004c3b0
mov eax, dword [esp + 0x88]
and eax, 0x7890002
add edi, 0x2bdc
push edi
or eax, 0x740080
push eax
push ebp
push str.picker
call fcn.1006f4f0
or byte [esp + 0x25], al
add esp, 0x14
call fcn.10047860
call fcn.100524d0
fld qword [0x101a3f68]
fldz
fxch st(1)
mov ebx, dword [esp + 0x74]
mov edi, dword [esp + 0x68]
cmp ebx, edi
je 0x1006f36a
test byte [esp + 0x108], 0x80
jne 0x1006f36a
mov edx, dword [esp + 0x24]
fstp st(0)
fld dword [edx + 0x155c]
sub esp, 8
fstp dword [esp + 4]
fstp dword [esp]
call fcn.10042610
push edi
push ebx
call fcn.1005ac30
fld qword [0x101a3f68]
add esp, 0x10
jmp 0x1006f36c
fstp st(1)
test esi, esi
jne 0x1006f40d
cmp byte [esp + 0x13], 0
jne 0x1006f3a3
fild dword [esp + 0x48]
fdiv st(1)
fstp dword [esp + 0x28]
fild dword [esp + 0x4c]
fdiv st(1)
fstp dword [esp + 0x2c]
fild dword [esp + 0x50]
fdiv st(1)
fstp dword [esp + 0x30]
fidivr dword [esp + 0x54]
fstp dword [esp + 0x34]
jmp 0x1006f3a5
fstp st(0)
cmp dword [esp + 0x70], 0
je 0x1006f3dd
fld dword [esp + 0x30]
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x30]
push ecx
lea edx, [esp + 0x30]
push edx
sub esp, 0xc
fstp dword [esp + 8]
fld dword [esp + 0x44]
fstp dword [esp + 4]
fld dword [esp + 0x40]
fstp dword [esp]
call fcn.1003f860
add esp, 0x18
mov bl, byte [esp + 0x11]
test bl, bl
mov edi, dword [esp + 0x44]
je 0x1006f417
cmp byte [esp + 0x12], 0
fld dword [esp + 0x28]
fstp dword [edi]
fld dword [esp + 0x2c]
fstp dword [edi + 4]
fld dword [esp + 0x30]
fstp dword [edi + 8]
je 0x1006f417
fld dword [esp + 0x34]
fstp dword [edi + 0xc]
jmp 0x1006f417
mov bl, byte [esp + 0x11]
fstp st(0)
mov edi, dword [esp + 0x44]
call fcn.10047dc0
call fcn.1004cba0
mov ebp, dword [esp + 0x78]
test byte [ebp + 0x110], 1
je 0x1006f49d
test dword [esp + 0x108], 0x200
jne 0x1006f49d
call fcn.10049850
test al, al
je 0x1006f49d
push 0
push str._COL3F
call fcn.10043110
add esp, 8
test eax, eax
je 0x1006f46b
mov eax, dword [eax]
mov ecx, dword [eax]
mov dword [edi], ecx
mov edx, dword [eax + 4]
mov dword [edi + 4], edx
mov eax, dword [eax + 8]
mov dword [edi + 8], eax
mov bl, 1
push 0
push 0x101a8b08
call fcn.10043110
add esp, 8
test eax, eax
je 0x1006f498
mov ecx, dword [esp + 0x40]
mov eax, dword [eax]
lea edx, [ecx*4]
push edx
push eax
push edi
call fcn.10119fb0
add esp, 0xc
mov bl, 1
call fcn.10043350
test esi, esi
je 0x1006f4bd
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x19b4]
test eax, eax
je 0x1006f4bd
cmp dword [ecx + 0x19d8], esi
jne 0x1006f4bd
mov dword [ebp + 0x10c], eax
test bl, bl
je 0x1006f4d0
mov ecx, dword [ebp + 0x10c]
push ecx
call fcn.10040480
add esp, 4
mov ecx, dword [esp + 0xf8]
pop edi
mov al, bl
pop ebx
pop esi
pop ebp
xor ecx, esp
call fcn.10118c8e
add esp, 0xec
ret