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

Disassembly:
sub esp, 0xec
mov eax, dword [0x101ddf78]
xor eax, esp
mov dword [esp + 0xe8], eax
mov eax, dword [0x101e25f0]
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 0x10069a34
pop esi
xor al, al
pop ebp
mov ecx, dword [esp + 0xe8]
xor ecx, esp
call fcn.101139c9
add esp, 0xec
ret
push ebx
push edi
mov edi, dword [0x101e25f0]
mov dword [esp + 0x24], edi
call fcn.1003d030
fstp dword [esp + 0x6c]
mov ebx, dword [esp + 0x108]
test bl, 0x10
je 0x10069a59
fldz
jmp 0x10069a63
fld dword [edi + 0x155c]
fadd dword [esp + 0x6c]
fstp dword [esp + 0x14]
call fcn.1004d340
fsub dword [esp + 0x14]
push 0
push esi
fstp dword [esp + 0x24]
call fcn.1003abd0
mov dword [esp + 0x70], eax
call fcn.10047ab0
push esi
call fcn.100478f0
add esp, 0xc
test bl, 0x20
mov dword [esp + 0x84], ebx
je 0x10069aad
and ebx, 0xff9fffff
or ebx, 0x100008
mov dword [esp + 0x108], ebx
test bl, 8
jne 0x10069abc
push ebx
push ebp
call fcn.1005ea80
add esp, 8
test ebx, 0x700000
jne 0x10069ad9
mov edx, dword [edi + 0x2bd8]
and edx, 0x700000
or ebx, edx
mov dword [esp + 0x108], ebx
test ebx, 0x1800000
jne 0x10069af5
mov eax, dword [edi + 0x2bd8]
and eax, 0x1800000
or ebx, eax
mov dword [esp + 0x108], ebx
test ebx, 0x6000000
jne 0x10069b12
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 0x10069b6e
fld dword [ebp + 0xc]
jmp 0x10069b70
fld1
and edi, 0x200000
fstp dword [esp + 0x34]
mov dword [esp + 0x70], edi
je 0x10069bb1
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.100408f0
add esp, 0x18
fldz
fld dword [esp + 0x28]
fcom st(1)
fnstsw ax
fld dword [0x101a174c]
test ah, 1
fld dword [0x1019e1e4]
jne 0x10069bd2
fst dword [esp + 0x14]
jmp 0x10069bda
fxch st(1)
fst dword [esp + 0x14]
fxch st(1)
fld qword [0x1019cf80]
fmul st(3), st(0)
fld dword [esp + 0x14]
faddp st(4)
fxch st(3)
call fcn.10114560
fld dword [esp + 0x2c]
fcom st(4)
mov ebp, eax
mov dword [esp + 0x48], ebp
fnstsw ax
test ah, 1
jne 0x10069c0a
fxch st(1)
fst dword [esp + 0x14]
jmp 0x10069c14
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.10114560
fld dword [esp + 0x30]
fcom st(4)
mov esi, eax
mov dword [esp + 0x4c], esi
fnstsw ax
test ah, 1
jne 0x10069c3c
fxch st(1)
fst dword [esp + 0x14]
jmp 0x10069c46
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.10114560
fld dword [esp + 0x34]
fcom st(4)
mov edi, eax
mov dword [esp + 0x50], edi
fnstsw ax
test ah, 1
jne 0x10069c6a
fstp st(2)
jmp 0x10069c6e
fstp st(1)
fxch st(1)
fstp dword [esp + 0x14]
fmul st(1)
fadd dword [esp + 0x14]
call fcn.10114560
fld1
test dword [esp + 0x108], 0x300000
mov dword [esp + 0x54], eax
mov byte [esp + 0x11], 0
mov byte [esp + 0x13], 0
je 0x10069fd0
test byte [esp + 0x108], 0x20
jne 0x10069fd0
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.10114560
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 0x10069cf9
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.10114560
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 0x10069d2f
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 0x10069d4f
mov eax, str.M:000
fld dword [0x1019cf4c]
push ecx
fstp dword [esp]
push 0
push 0
push eax
lea ecx, [esp + 0x68]
push ecx
call fcn.1003b8f0
fld dword [eax]
fcomp qword [esp + 0x4c]
add esp, 0x14
fnstsw ax
test ah, 1
jne 0x10069d7c
mov cl, 1
jmp 0x10069d7e
xor cl, cl
test cl, cl
mov eax, 0x101a1a4c
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], 0x101a1a30
mov dword [esp + 0x5c], 0x101a1a2c
mov dword [esp + 0x60], 0x101a1a28
mov dword [esp + 0x64], 0x101a1a24
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], 0x101a19c4
mov dword [esp + 0xb4], eax
je 0x10069e92
xor edi, edi
jmp 0x10069ea0
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.10047410
add esp, 4
xor esi, esi
test ebp, ebp
jle 0x10069fc6
mov eax, dword [esp + 0x108]
and eax, 8
mov dword [esp + 0x38], eax
shl edi, 4
jmp 0x10069ed0
test esi, esi
jle 0x10069ef2
mov eax, dword [esp + 0x24]
fld dword [eax + 0x155c]
sub esp, 8
fstp dword [esp + 4]
fldz
fstp dword [esp]
call fcn.1003d670
add esp, 8
lea ebp, [esi + 1]
cmp ebp, dword [esp + 0x40]
jne 0x10069f0b
fld dword [esp + 0x1c]
push ecx
fstp dword [esp]
call fcn.10047410
add esp, 4
cmp dword [esp + 0x7c], 0
je 0x10069f68
test bl, bl
je 0x10069f1a
fldz
jmp 0x10069f1c
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 [0x101a19c0]
fstp dword [esp]
push edx
push eax
call fcn.10068500
add esp, 0x1c
or al, byte [esp + 0x11]
mov byte [esp + 0x13], al
mov byte [esp + 0x11], al
jmp 0x10069fa1
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.100687e0
add esp, 0x18
or byte [esp + 0x11], al
cmp dword [esp + 0x38], 0
jne 0x10069fb7
push 1
push str.context
call fcn.10047f30
add esp, 8
mov esi, ebp
add edi, 4
cmp esi, dword [esp + 0x40]
jl 0x10069ed0
call fcn.100428c0
jmp 0x1006a189
mov ecx, dword [esp + 0x108]
fstp st(0)
test ecx, 0x400000
je 0x1006a198
test cl, 0x20
jne 0x1006a198
xor ebx, ebx
fstp st(0)
cmp byte [esp + 0x12], bl
fstp st(0)
je 0x1006a070
cmp eax, ebx
jge 0x1006a002
xor edx, edx
jmp 0x1006a010
cmp eax, 0xff
mov edx, 0xff
jg 0x1006a010
mov edx, eax
cmp edi, ebx
jge 0x1006a018
xor edi, edi
jmp 0x1006a025
cmp edi, 0xff
jle 0x1006a025
mov edi, 0xff
cmp esi, ebx
jge 0x1006a02d
xor ecx, ecx
jmp 0x1006a03c
cmp esi, 0xff
mov ecx, 0xff
jg 0x1006a03c
mov ecx, esi
cmp ebp, ebx
jge 0x1006a044
xor eax, eax
jmp 0x1006a053
cmp ebp, 0xff
mov eax, 0xff
jg 0x1006a053
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.1003a070
add esp, 0x1c
jmp 0x1006a0cd
cmp edi, ebx
jge 0x1006a078
xor edi, edi
jmp 0x1006a085
cmp edi, 0xff
jle 0x1006a085
mov edi, 0xff
cmp esi, ebx
jge 0x1006a08d
xor ecx, ecx
jmp 0x1006a09c
cmp esi, 0xff
mov ecx, 0xff
jg 0x1006a09c
mov ecx, esi
cmp ebp, ebx
jge 0x1006a0a4
xor eax, eax
jmp 0x1006a0b3
cmp ebp, 0xff
mov eax, 0xff
jg 0x1006a0b3
mov eax, ebp
push edi
push ecx
push eax
push str._02X_02X_02X
lea eax, [esp + 0xc8]
push 0x40
push eax
call fcn.1003a070
add esp, 0x18
fld dword [esp + 0x1c]
push ecx
fstp dword [esp]
call fcn.10047410
push ebx
push ebx
push 6
push 0x40
lea ecx, [esp + 0xcc]
push ecx
push str.Text
call fcn.10067cb0
add esp, 0x1c
test al, al
je 0x1006a170
mov byte [esp + 0x11], 1
lea ecx, [esp + 0xb8]
mov al, byte [ecx]
cmp al, 0x23
je 0x1006a113
cmp al, 0x20
je 0x1006a113
cmp al, 9
jne 0x1006a118
add ecx, 1
jmp 0x1006a105
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 0x1006a153
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 0x101a1980
push ecx
call fcn.101165d2
add esp, 0x18
jmp 0x1006a170
lea edx, [esp + 0x50]
push edx
lea eax, [esp + 0x50]
push eax
lea edx, [esp + 0x50]
push edx
push 0x101a1970
push ecx
call fcn.101165d2
add esp, 0x14
test byte [esp + 0x108], 8
jne 0x1006a189
push 1
push str.context
call fcn.10047f30
add esp, 8
call fcn.100428c0
fld qword [0x1019cf80]
fldz
fxch st(1)
xor esi, esi
test byte [esp + 0x108], 0x10
jne 0x1006a387
test byte [esp + 0x108], 0x20
fstp st(0)
jne 0x1006a1d2
mov eax, dword [esp + 0x24]
fld dword [eax + 0x155c]
sub esp, 8
fstp dword [esp + 4]
fstp dword [esp]
call fcn.1003d670
fldz
add esp, 8
cmp byte [esp + 0x12], 0
je 0x1006a1e2
mov ecx, dword [esp + 0x44]
fld dword [ecx + 0xc]
jmp 0x1006a1e4
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.10066610
add esp, 0x14
test al, al
je 0x1006a2e1
test bl, 4
jne 0x1006a2e1
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 0x101a1958
mov dword [edi + 0x2be8], edx
call fcn.1004d470
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 [0x1019f150]
push 0
push ecx
fstp dword [esp + 0x2c]
fld dword [esp + 0x4c]
fadd dword [esp + 0x28]
fstp dword [esp + 0x30]
call fcn.1003ce00
add esp, 0x10
jmp 0x1006a2e5
mov edi, dword [esp + 0x24]
test bl, 8
jne 0x1006a2f9
push 1
push str.context
call fcn.10047f30
add esp, 8
push 0
push 0x101a1958
call fcn.1004f140
add esp, 8
test al, al
je 0x1006a37d
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x68]
cmp ecx, eax
mov esi, dword [edi + 0x1994]
je 0x1006a32d
push eax
push ecx
call fcn.10055c90
add esp, 8
call fcn.100537f0
fld dword [esp + 0x6c]
push ecx
fmul qword [0x101a1950]
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
fstp dword [esp]
call fcn.10047410
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.1006a550
or byte [esp + 0x25], al
add esp, 0x14
call fcn.100428c0
call fcn.1004d530
fld qword [0x1019cf80]
fldz
fxch st(1)
mov ebx, dword [esp + 0x74]
mov edi, dword [esp + 0x68]
cmp ebx, edi
je 0x1006a3ca
test byte [esp + 0x108], 0x80
jne 0x1006a3ca
mov edx, dword [esp + 0x24]
fstp st(0)
fld dword [edx + 0x155c]
sub esp, 8
fstp dword [esp + 4]
fstp dword [esp]
call fcn.1003d670
push edi
push ebx
call fcn.10055c90
fld qword [0x1019cf80]
add esp, 0x10
jmp 0x1006a3cc
fstp st(1)
test esi, esi
jne 0x1006a46d
cmp byte [esp + 0x13], 0
jne 0x1006a403
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 0x1006a405
fstp st(0)
cmp dword [esp + 0x70], 0
je 0x1006a43d
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.1003a8c0
add esp, 0x18
mov bl, byte [esp + 0x11]
test bl, bl
mov edi, dword [esp + 0x44]
je 0x1006a477
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 0x1006a477
fld dword [esp + 0x34]
fstp dword [edi + 0xc]
jmp 0x1006a477
mov bl, byte [esp + 0x11]
fstp st(0)
mov edi, dword [esp + 0x44]
call fcn.10042e20
call fcn.10047c00
mov ebp, dword [esp + 0x78]
test byte [ebp + 0x110], 1
je 0x1006a4fd
test dword [esp + 0x108], 0x200
jne 0x1006a4fd
call fcn.100448b0
test al, al
je 0x1006a4fd
push 0
push str._COL3F
call fcn.1003e170
add esp, 8
test eax, eax
je 0x1006a4cb
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 0x101a18d0
call fcn.1003e170
add esp, 8
test eax, eax
je 0x1006a4f8
mov ecx, dword [esp + 0x40]
mov eax, dword [eax]
lea edx, [ecx*4]
push edx
push eax
push edi
call fcn.10114cf0
add esp, 0xc
mov bl, 1
call fcn.1003e3b0
test esi, esi
je 0x1006a51d
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x19b4]
test eax, eax
je 0x1006a51d
cmp dword [ecx + 0x19d8], esi
jne 0x1006a51d
mov dword [ebp + 0x10c], eax
test bl, bl
je 0x1006a530
mov ecx, dword [ebp + 0x10c]
push ecx
call fcn.1003b4e0
add esp, 4
mov ecx, dword [esp + 0xf8]
pop edi
mov al, bl
pop ebx
pop esi
pop ebp
xor ecx, esp
call fcn.101139c9
add esp, 0xec
ret