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

Disassembly:
sub esp, 0xcc
mov ecx, dword [0x10185028]
push edi
mov eax, dword [ecx + 0x3e40]
mov byte [eax + 0xac], 1
mov edi, dword [ecx + 0x3e40]
mov dword [esp + 0x70], edi
cmp byte [edi + 0xaf], 0
je 0x10064ae7
xor al, al
pop edi
add esp, 0xcc
ret
push ebx
push esi
mov esi, dword [0x10185028]
call fcn.10011b80
fstp dword [esp + 0x70]
call fcn.10011240
mov ebx, dword [esp + 0xe4]
fstp dword [esp + 0x74]
test bl, 0x10
je 0x10064b12
xorps xmm0, xmm0
jmp 0x10064b20
movss xmm0, dword [esp + 0x70]
addss xmm0, dword [esi + 0x37f4]
movss xmm1, dword [esp + 0x74]
push ebp
mov ebp, dword [esp + 0xe0]
subss xmm1, xmm0
push 0
push ebp
movss dword [esp + 0x64], xmm0
movss dword [esp + 0x60], xmm1
call fcn.1001e650
mov dword [esp + 0x68], eax
mov dword [esi + 0x46a0], 0
call fcn.10011610
push ebp
call fcn.10011bc0
mov eax, dword [esi + 0x5964]
add esp, 0xc
mov dword [esp + 0x98], eax
test eax, eax
jne 0x10064b89
mov ecx, dword [edi + 0xe4]
mov eax, dword [edi + 0xec]
mov eax, dword [eax + ecx*4 - 4]
mov dword [esi + 0x5964], eax
mov dword [esp + 0x90], ebx
test ebx, 0x20
je 0x10064ba4
and ebx, 0xff9fffff
or ebx, 0x100008
mov ebp, dword [esp + 0xe4]
test bl, 8
jne 0x10064bba
push ebx
push ebp
call fcn.10073e10
add esp, 8
mov ecx, dword [esi + 0x5960]
test ebx, 0x700000
jne 0x10064bd1
mov eax, ecx
and eax, 0x700000
or ebx, eax
test ebx, 0x1800000
jne 0x10064be2
mov eax, ecx
and eax, 0x1800000
or ebx, eax
test ebx, 0x6000000
jne 0x10064bf3
mov eax, ecx
and eax, 0x6000000
or ebx, eax
test ebx, 0x18000000
jne 0x10064c04
mov eax, ecx
and eax, 0x18000000
or ebx, eax
movss xmm0, dword [ebp]
and ecx, 0xe00fffff
movss xmm2, dword [ebp + 4]
or ebx, ecx
movss xmm3, dword [ebp + 8]
mov edx, ebx
movss xmm1, dword [0x100d5914]
mov eax, ebx
shr edx, 1
not dl
shr eax, 0x13
and edx, 0xffffff01
mov dword [esp + 0xe8], ebx
movzx ecx, dl
and eax, 0xffffff01
add ecx, 3
mov dword [esp + 0x30], edx
mov dword [esp + 0x50], eax
mov dword [esp + 0x24], ecx
movss dword [esp + 0x14], xmm0
movss dword [esp + 0x18], xmm2
movss dword [esp + 0x1c], xmm3
movss dword [esp + 0x6c], xmm1
test dl, dl
je 0x10064c73
movss xmm1, dword [ebp + 0xc]
mov eax, ebx
movss dword [esp + 0x20], xmm1
and eax, str._a_f_t1
mov dword [esp + 0x94], eax
cmp eax, str._a_f_t1
jne 0x10064cbb
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x1c]
push eax
sub esp, 0xc
movss dword [esp + 8], xmm3
movss dword [esp + 4], xmm2
movss dword [esp], xmm0
call fcn.100139b0
add esp, 0x18
jmp 0x10064d09
mov eax, ebx
and eax, 0x8200000
cmp eax, 0x8200000
jne 0x10064d29
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x1c]
push eax
sub esp, 0xc
movss dword [esp + 8], xmm3
movss dword [esp + 4], xmm2
movss dword [esp], xmm0
call fcn.10013900
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x34]
push eax
push ebp
call fcn.1007d460
add esp, 0x28
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x24]
movss xmm0, dword [esp + 0x14]
movss xmm2, dword [esp + 0x18]
movss xmm3, dword [esp + 0x1c]
movss xmm1, dword [esp + 0x20]
movss xmm5, dword [0x100e6ea4]
xorps xmm4, xmm4
comiss xmm0, xmm4
movss xmm4, dword [0x100d5910]
jb 0x10064d46
movaps xmm7, xmm4
jmp 0x10064d49
movaps xmm7, xmm5
movss xmm6, dword [0x100d9388]
mulss xmm0, xmm6
addss xmm0, xmm7
xorps xmm7, xmm7
comiss xmm2, xmm7
cvttss2si eax, xmm0
mov dword [esp + 0x34], eax
jb 0x10064d6e
movaps xmm0, xmm4
jmp 0x10064d71
movaps xmm0, xmm5
comiss xmm3, xmm7
mulss xmm2, xmm6
addss xmm2, xmm0
cvttss2si eax, xmm2
mov dword [esp + 0x38], eax
jb 0x10064d8b
movaps xmm0, xmm4
jmp 0x10064d8e
movaps xmm0, xmm5
comiss xmm1, xmm7
mulss xmm3, xmm6
addss xmm3, xmm0
cvttss2si eax, xmm3
mov dword [esp + 0x3c], eax
jae 0x10064da6
movaps xmm4, xmm5
mulss xmm1, xmm6
mov byte [esp + 0x12], 0
mov byte [esp + 0x13], 0
addss xmm1, xmm4
cvttss2si eax, xmm1
mov dword [esp + 0x40], eax
cmp dword [esi + 0x3834], 0
movss xmm2, dword [edi + 0xf0]
movss xmm3, dword [edi + 0xf4]
movss dword [esp + 0x4c], xmm2
movss dword [esp + 0x54], xmm3
jne 0x10064ded
movss xmm1, dword [esp + 0x5c]
jmp 0x10064df0
xorps xmm1, xmm1
movaps xmm0, xmm2
mov ebp, ebx
addss xmm0, xmm1
and ebp, 0x20
mov dword [esp + 0x68], ebp
movss dword [edi + 0xf0], xmm0
test ebx, 0x300000
je 0x100650d9
test ebp, ebp
jne 0x100650d9
movss xmm2, dword [esi + 0x37f4]
lea eax, [ecx - 1]
movss xmm1, dword [esp + 0x58]
movaps xmm0, xmm2
movd xmm3, eax
mov ebp, ebx
cvtdq2ps xmm3, xmm3
push ecx
mov dword [esp], 0xbf800000
and ebp, 0x1000000
push 0
push 0
mulss xmm0, xmm3
subss xmm1, xmm0
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mov ecx, str.M:000
divss xmm1, xmm0
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
maxss xmm0, dword [0x100d5914]
addss xmm2, xmm0
movss dword [esp + 0x38], xmm0
movss xmm0, dword [esp + 0x64]
mulss xmm2, xmm3
subss xmm0, xmm2
cvttss2si eax, xmm0
movd xmm0, eax
mov eax, str.M:0.000
cvtdq2ps xmm0, xmm0
cmove eax, ecx
push eax
lea eax, [esp + 0x54]
push eax
maxss xmm0, dword [0x100d5914]
movss dword [esp + 0x78], xmm0
call fcn.100136f0
movss xmm1, dword [esp + 0x40]
add esp, 0x14
movss xmm0, dword [eax]
comiss xmm0, xmm1
jb 0x10064ed0
xor eax, eax
jmp 0x10064ede
mov eax, ebx
and eax, 0x200000
neg eax
sbb eax, eax
neg eax
inc eax
xor edi, edi
cmp dword [esp + 0x24], edi
jbe 0x100650d2
shl eax, 4
test ebp, ebp
je 0x10064ff1
mov ecx, ebx
lea eax, [eax + 0x10160670]
and ecx, 8
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x24]
mov ebx, ecx
mov dword [esp + 0x44], ecx
nop
test edi, edi
je 0x10064f3e
movss xmm0, dword [esi + 0x37f4]
sub esp, 8
movss dword [esp + 4], xmm0
mov dword [esp], 0
call fcn.10011490
movss xmm1, dword [esp + 0x34]
add esp, 8
mov eax, dword [esp + 0x24]
lea ebp, [edi + 1]
cmp ebp, eax
jge 0x10064f4a
movaps xmm0, xmm1
jmp 0x10064f50
movss xmm0, dword [esp + 0x64]
push ecx
movss dword [esp], xmm0
call fcn.10011220
mov eax, dword [esp + 0x2c]
add esp, 4
cmp byte [esp + 0x50], 0
je 0x10064f6e
xorps xmm0, xmm0
jmp 0x10064f76
movss xmm0, dword [0x100d5914]
push 0
push dword [eax]
lea eax, [esp + 0x1c]
sub esp, 0xc
lea eax, [eax + edi*4]
movss dword [esp + 8], xmm0
mov dword [esp + 4], 0
mov dword [esp], 0x3b808081
push eax
push dword [edi*4 + 0x10160630]
call fcn.10062b40
mov cl, byte [esp + 0x2e]
add esp, 0x1c
or cl, al
or byte [esp + 0x13], cl
mov byte [esp + 0x12], cl
test ebx, ebx
jne 0x10064fca
push 1
push str.context
call fcn.10011f80
add esp, 8
add dword [esp + 0x28], 4
mov edi, ebp
mov eax, dword [esp + 0x24]
movss xmm1, dword [esp + 0x2c]
cmp edi, eax
jl 0x10064f10
mov ebx, dword [esp + 0xe8]
xor edi, edi
jmp 0x1006527f
xor edx, edx
lea eax, [eax + 0x10160640]
xor edi, edi
mov dword [esp + 0x28], eax
cmp byte [esp + 0x50], dl
mov ecx, 0xff
mov eax, dword [esp + 0x24]
cmovne ecx, edx
mov dword [esp + 0x44], ecx
mov ecx, ebx
mov ebx, dword [esp + 0x44]
and ecx, 8
mov dword [esp + 0x50], ecx
test edi, edi
jle 0x1006504e
movss xmm0, dword [esi + 0x37f4]
sub esp, 8
movss dword [esp + 4], xmm0
mov dword [esp], 0
call fcn.10011490
movss xmm1, dword [esp + 0x34]
add esp, 8
mov eax, dword [esp + 0x24]
lea ebp, [edi + 1]
cmp ebp, eax
jge 0x1006505a
movaps xmm0, xmm1
jmp 0x10065060
movss xmm0, dword [esp + 0x64]
push ecx
movss dword [esp], xmm0
call fcn.10011220
mov eax, dword [esp + 0x2c]
add esp, 4
push 0
push dword [eax]
lea eax, [esp + 0x3c]
push ebx
push 0
push ecx
lea eax, [eax + edi*4]
mov dword [esp], 0x3f800000
push eax
push dword [edi*4 + 0x10160630]
call fcn.10062e00
or byte [esp + 0x2e], al
add esp, 0x1c
cmp dword [esp + 0x50], 0
jne 0x100650b2
push 1
push str.context
call fcn.10011f80
add esp, 8
add dword [esp + 0x28], 4
mov edi, ebp
mov eax, dword [esp + 0x24]
movss xmm1, dword [esp + 0x2c]
cmp edi, eax
jl 0x10065020
mov ebx, dword [esp + 0xe8]
xor edi, edi
jmp 0x1006527f
mov eax, ebx
mov edi, ebp
and eax, 0x400020
cmp eax, 0x400000
jne 0x1006528b
mov eax, 0xff
test dl, dl
je 0x1006515e
mov ebp, dword [esp + 0x40]
test ebp, ebp
jns 0x10065102
xor ebp, ebp
jmp 0x10065107
cmp ebp, eax
cmovg ebp, eax
mov edi, dword [esp + 0x3c]
test edi, edi
jns 0x10065113
xor edi, edi
jmp 0x10065118
cmp edi, eax
cmovg edi, eax
mov edx, dword [esp + 0x38]
test edx, edx
jns 0x10065124
xor edx, edx
jmp 0x10065129
cmp edx, eax
cmovg edx, eax
mov ecx, dword [esp + 0x34]
test ecx, ecx
jns 0x10065135
xor ecx, ecx
jmp 0x1006513a
cmp ecx, eax
cmovg ecx, eax
push ebp
push edi
push edx
push ecx
push 0x100ee92c
lea eax, [esp + 0xb0]
push 0x40
push eax
call fcn.10016790
mov ebp, dword [esp + 0x84]
add esp, 0x1c
jmp 0x100651ab
mov edi, dword [esp + 0x3c]
test edi, edi
jns 0x1006516a
xor edi, edi
jmp 0x1006516f
cmp edi, eax
cmovg edi, eax
mov edx, dword [esp + 0x38]
test edx, edx
jns 0x1006517b
xor edx, edx
jmp 0x10065180
cmp edx, eax
cmovg edx, eax
mov ecx, dword [esp + 0x34]
test ecx, ecx
jns 0x1006518c
xor ecx, ecx
jmp 0x10065191
cmp ecx, eax
cmovg ecx, eax
push edi
push edx
push ecx
push 0x100ee940
lea eax, [esp + 0xac]
push 0x40
push eax
call fcn.10016790
add esp, 0x18
movss xmm4, dword [esp + 0x58]
push ecx
movss dword [esp], xmm4
call fcn.10011220
push 0
push 0
push 6
push 0x40
lea eax, [esp + 0xb0]
push eax
push str.Text
call fcn.10064370
add esp, 0x1c
test al, al
je 0x10065269
mov byte [esp + 0x12], 1
lea ecx, [esp + 0x9c]
nop dword [eax]
mov al, byte [ecx]
cmp al, 0x23
je 0x100651fe
cmp al, 0x20
je 0x100651fe
cmp al, 9
jne 0x10065201
inc ecx
jmp 0x100651f0
cmp byte [esp + 0x30], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x40], 0xff
je 0x1006524c
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x40]
push eax
push str._02X_02X_02X_02X
push ecx
call fcn.1002d460
add esp, 0x18
jmp 0x10065269
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x3c]
push eax
push str._02X_02X_02X
push ecx
call fcn.1002d460
add esp, 0x14
mov edi, ebp
test bl, 8
jne 0x1006527f
push 1
push str.context
call fcn.10011f80
add esp, 8
movss xmm2, dword [esp + 0x4c]
movss xmm3, dword [esp + 0x54]
xor ebp, ebp
test bl, 0x10
jne 0x1006545b
mov edi, dword [esp + 0x68]
test edi, edi
jne 0x100652b6
cmp dword [esi + 0x3834], ebp
je 0x100652b6
movss xmm1, dword [esp + 0x58]
addss xmm1, dword [esi + 0x37f4]
jmp 0x100652b9
xorps xmm1, xmm1
cmp byte [esp + 0x30], 0
movaps xmm0, xmm2
mov eax, dword [esp + 0x7c]
addss xmm0, xmm1
movss dword [eax + 0xf4], xmm3
movss dword [eax + 0xf0], xmm0
mov eax, dword [esp + 0xe4]
je 0x100652ed
movss xmm0, dword [eax + 0xc]
movss dword [esp + 0x6c], xmm0
movss xmm0, dword [eax]
movss dword [esp + 0x80], xmm0
movss xmm0, dword [eax + 4]
movss dword [esp + 0x84], xmm0
movss xmm0, dword [eax + 8]
lea eax, [esp + 0x44]
push eax
push ebx
lea eax, [esp + 0x88]
movss dword [esp + 0x90], xmm0
movss xmm0, dword [esp + 0x74]
push eax
push str.ColorButton
movss dword [esp + 0x9c], xmm0
mov dword [esp + 0x54], ebp
mov dword [esp + 0x58], ebp
call fcn.100676a0
add esp, 0x10
test al, al
je 0x100653af
test bl, 4
jne 0x100653af
movups xmm0, xmmword [esp + 0x80]
push 0
push str.picker
movups xmmword [esi + 0x5978], xmm0
call fcn.10011f20
movss xmm0, dword [esi + 0x46c0]
lea eax, [esp + 0x4c]
movss dword [esp + 0x74], xmm0
movss xmm0, dword [esi + 0x46cc]
addss xmm0, dword [esi + 0x37f0]
push eax
lea eax, [esp + 0x78]
mov dword [esp + 0x50], ebp
push 0
push eax
mov dword [esp + 0x5c], ebp
movss dword [esp + 0x84], xmm0
call fcn.100106d0
add esp, 0x14
test bl, 8
jne 0x100653c3
push 1
push str.context
call fcn.10011f80
add esp, 8
push 0
push str.picker
call fcn.10011d90
add esp, 8
test al, al
je 0x1006545b
mov eax, dword [esi + 0x3e40]
cmp word [eax + 0xb6], 1
jne 0x10065456
mov ecx, dword [esp + 0x60]
mov ebp, eax
mov eax, dword [esp + 0xe0]
cmp eax, ecx
je 0x1006540c
push 0
push ecx
push eax
call fcn.1006cdc0
add esp, 0xc
call fcn.10060c10
movss xmm0, dword [esp + 0x74]
mulss xmm0, dword [0x100d5940]
push ecx
movss dword [esp], xmm0
call fcn.10011220
lea eax, [esi + 0x5978]
push eax
mov eax, dword [esp + 0x98]
and eax, 0x1f890002
or eax, 0x740080
push eax
push dword [esp + 0xf0]
push 0x100dce64
call fcn.10065800
add esp, 0x14
or byte [esp + 0x12], al
call fcn.10011ee0
mov eax, dword [esp + 0x60]
cmp dword [esp + 0xe0], eax
je 0x100654cd
test bl, bl
js 0x100654cd
movss xmm0, dword [esi + 0x37f4]
sub esp, 8
movss dword [esp + 4], xmm0
mov dword [esp], 0
call fcn.10011490
add esp, 8
test edi, edi
je 0x10065498
movss xmm0, dword [esp + 0x5c]
jmp 0x100654a6
movss xmm0, dword [esp + 0x78]
addss xmm0, dword [esi + 0x37f4]
addss xmm0, dword [esp + 0x4c]
mov eax, dword [esp + 0x7c]
push 0
push dword [esp + 0x64]
push dword [esp + 0xe8]
movss dword [eax + 0xf0], xmm0
call fcn.1006cdc0
add esp, 0xc
cmp byte [esp + 0x12], 0
je 0x10065642
test ebp, ebp
jne 0x10065642
cmp byte [esp + 0x13], 0
jne 0x100654fb
movups xmm0, xmmword [esp + 0x34]
cvtdq2ps xmm0, xmm0
mulps xmm0, xmmword [0x100eec50]
movups xmmword [esp + 0x14], xmm0
mov eax, ebx
and eax, 0x8200000
cmp eax, 0x8200000
jne 0x100655bd
movss xmm0, dword [esp + 0x14]
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x1c]
movss dword [esi + 0x596c], xmm0
movss xmm0, dword [esp + 0x1c]
push eax
lea eax, [esp + 0x1c]
movss dword [esi + 0x5970], xmm0
movss xmm0, dword [esp + 0x24]
push eax
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [esp + 0x30]
movss dword [esp + 4], xmm0
movss xmm0, dword [esp + 0x2c]
movss dword [esp], xmm0
call fcn.100139b0
mov eax, dword [esi + 0x5964]
mov dword [esi + 0x5968], eax
lea eax, [esp + 0x98]
movss xmm0, dword [esp + 0x2c]
movss dword [esp + 0x98], xmm0
movss xmm0, dword [esp + 0x30]
movss dword [esp + 0x9c], xmm0
movss xmm0, dword [esp + 0x34]
push eax
movss dword [esp + 0xa4], xmm0
mov dword [esp + 0xa8], 0
call fcn.10013850
add esp, 0x1c
mov dword [esi + 0x5974], eax
cmp dword [esp + 0x94], str._a_f_t1
jne 0x10065607
movss xmm0, dword [esp + 0x1c]
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x1c]
push eax
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [esp + 0x30]
movss dword [esp + 4], xmm0
movss xmm0, dword [esp + 0x2c]
movss dword [esp], xmm0
call fcn.10013900
add esp, 0x18
cmp byte [esp + 0x30], 0
mov edi, dword [esp + 0xe4]
movss xmm0, dword [esp + 0x14]
movss dword [edi], xmm0
movss xmm0, dword [esp + 0x18]
movss dword [edi + 4], xmm0
movss xmm0, dword [esp + 0x1c]
movss dword [edi + 8], xmm0
je 0x10065649
movss xmm0, dword [esp + 0x20]
movss dword [edi + 0xc], xmm0
jmp 0x10065649
mov edi, dword [esp + 0xe4]
cmp dword [esp + 0x98], 0
jne 0x1006565d
mov dword [esi + 0x5964], 0
call fcn.10011ca0
call fcn.10011740
test byte [esi + 0x46bc], 1
je 0x10065732
test ebx, 0x200
jne 0x10065732
call fcn.10012830
test al, al
je 0x10065732
push 0
push str._COL3F
mov byte [esp + 0x1b], 0
call fcn.100128d0
add esp, 8
test eax, eax
je 0x100656bf
mov eax, dword [eax]
mov byte [esp + 0x13], 1
mov byte [esp + 0x12], 1
movq xmm0, qword [eax]
movq qword [edi], xmm0
mov eax, dword [eax + 8]
mov dword [edi + 8], eax
push 0
push str._COL4F
call fcn.100128d0
add esp, 8
test eax, eax
je 0x100656ec
mov ecx, dword [esp + 0x24]
shl ecx, 2
push ecx
push dword [eax]
push edi
call fcn.100b11a0
add esp, 0xc
mov byte [esp + 0x12], 1
jmp 0x100656f3
cmp byte [esp + 0x13], 0
je 0x1006572d
test ebx, 0x10000000
je 0x1006572d
movss xmm0, dword [edi + 8]
lea ecx, [edi + 8]
push ecx
lea eax, [edi + 4]
push eax
push edi
sub esp, 0xc
movss dword [esp + 8], xmm0
movss xmm0, dword [eax]
movss dword [esp + 4], xmm0
movss xmm0, dword [edi]
movss dword [esp], xmm0
call fcn.10013900
add esp, 0x18
call fcn.10012ab0
test ebp, ebp
je 0x1006574e
mov eax, dword [esi + 0x3e8c]
test eax, eax
je 0x1006574e
cmp dword [esi + 0x3ea8], ebp
jne 0x1006574e
mov dword [esi + 0x46b4], eax
mov bl, byte [esp + 0x12]
pop ebp
test bl, bl
je 0x1006576a
mov ecx, dword [esi + 0x46b4]
test ecx, ecx
je 0x1006576a
push ecx
call fcn.1001ac70
add esp, 4
pop esi
mov al, bl
pop ebx
pop edi
add esp, 0xcc
ret