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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x10c
mov eax, dword [0x1012d240]
xor eax, esp
mov dword [esp + 0x108], eax
mov ebp, dword [0x1012d4e8]
mov eax, dword [ebp + 0x1b98]
mov byte [eax + 0x8c], 1
mov eax, dword [ebp + 0x1b98]
cmp byte [eax + 0x8f], 0
je 0x10063991
xor ebx, ebx
jmp 0x10064805
mov dword [esp + 0x30], eax
mov ebx, dword [esp + 0x128]
mov edi, dword [esp + 0x120]
call fcn.10038970
fstp dword [esp + 0x64]
vmovss xmm0, dword [esp + 0x64]
vmovss dword [esp + 0x40], xmm0
call fcn.100387f0
fstp dword [esp + 0x60]
vxorps xmm0, xmm0, xmm0
test bl, 0x10
jne 0x100639d8
vmovss xmm0, dword [esp + 0x40]
vaddss xmm0, xmm0, dword [ebp + 0x156c]
vmovups xmmword [esp + 0x78], xmm0
vmovss xmm0, dword [esp + 0x60]
vmovss dword [esp + 0x48], xmm0
mov esi, dword [esp + 0x124]
push 0
push edi
call fcn.10024d10
add esp, 8
mov dword [esp + 0x24], eax
mov dword [ebp + 0x1c24], 0
call fcn.100389a0
push edi
call fcn.10037e90
add esp, 4
mov edx, ebx
and edx, 0xff8ffff7
or edx, 0x100008
test bl, 0x20
cmove edx, ebx
test dl, 8
jne 0x10063a80
push edx
push esi
mov edi, edx
call fcn.10064860
mov edx, edi
add esp, 8
test edx, 0x700000
jne 0x10063a88
mov eax, 0x700000
and eax, dword [ebp + 0x2e84]
or edx, eax
test edx, 0x1800000
jne 0x10063a90
mov eax, 0x1800000
and eax, dword [ebp + 0x2e84]
or edx, eax
test edx, 0x6000000
jne 0x10063a98
mov eax, 0x6000000
and eax, dword [ebp + 0x2e84]
or edx, eax
jmp 0x10063a98
test edx, 0x700000
je 0x10063a47
test edx, 0x1800000
je 0x10063a5c
test edx, 0x6000000
je 0x10063a71
mov dword [esp + 4], edx
mov ecx, dword [ebp + 0x2e84]
mov eax, ecx
and eax, 0x18000000
xor edi, edi
test edx, 0x18000000
cmove edi, eax
or edi, edx
and ecx, 0xe00fffff
or ecx, edi
test cl, 2
sete bl
vmovsd xmm1, qword [esi]
vmovsd qword [esp + 0xf8], xmm1
vmovss xmm2, dword [esi + 8]
vmovss dword [esp + 0x100], xmm2
mov dword [esp + 8], ecx
test cl, 2
jne 0x10063aef
vmovss xmm0, dword [esi + 0xc]
jmp 0x10063af7
vmovss xmm0, dword [0x100f54d0]
lea ecx, [esp + 0xfc]
lea edx, [esp + 0x100]
vmovss dword [esp + 0x104], xmm0
mov eax, edi
and eax, 0x10100000
cmp eax, 0x10100000
mov dword [esp + 0x44], edi
mov dword [esp + 0x3c], eax
jne 0x10063b63
sub esp, 0x18
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], ecx
lea eax, [esp + 0x110]
mov dword [esp + 0xc], eax
vmovss dword [esp + 8], xmm2
vextractps dword [esp + 4], xmm1, 1
vmovss dword [esp], xmm1
call fcn.10023f50
add esp, 0x18
vmovss xmm0, dword [esp + 0xfc]
jmp 0x10063c4c
mov eax, edi
not eax
vmovshdup xmm0, xmm1
test eax, 0x8200000
jne 0x10063c4c
sub esp, 0x18
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], ecx
lea eax, [esp + 0x110]
mov dword [esp + 0xc], eax
vmovss dword [esp + 8], xmm2
vmovss dword [esp + 4], xmm0
vmovss dword [esp], xmm1
call fcn.10023ea0
add esp, 0x18
mov esi, dword [0x1012d4e8]
mov edi, dword [esi + 0x2e90]
mov eax, dword [esp + 0x124]
vmovss xmm0, dword [eax + 8]
vmovsd xmm1, qword [eax]
vmovsd qword [esp + 0xa8], xmm1
vmovss dword [esp + 0xb0], xmm0
mov dword [esp + 0xb4], 0
lea eax, [esp + 0xa8]
push eax
call fcn.10023df0
add esp, 4
vmovss xmm0, dword [esp + 0xfc]
cmp edi, eax
jne 0x10063c4c
vxorps xmm1, xmm1, xmm1
vucomiss xmm0, xmm1
mov edx, dword [esp + 4]
jne 0x10064820
jp 0x10064820
vmovss xmm1, dword [esi + 0x2e88]
vmovss dword [esp + 0xf8], xmm1
vmovss xmm1, dword [esp + 0x100]
vxorps xmm2, xmm2, xmm2
vucomiss xmm1, xmm2
jne 0x10063c50
jp 0x10063c50
vmovss xmm0, dword [esi + 0x2e8c]
vmovss dword [esp + 0xfc], xmm0
jmp 0x10063c50
mov edx, dword [esp + 4]
xor eax, eax
mov al, bl
mov ecx, eax
vmovups xmm1, xmmword [esp + 0xf8]
vinsertps xmm0, xmm1, xmm0, 0x10
vmovhps xmm0, xmm0, qword [esp + 0x100]
vxorps xmm1, xmm1, xmm1
vcmpleps xmm1, xmm1, xmm0
vbroadcastss xmm2, dword [0x100f54dc]
vbroadcastss xmm3, dword [0x100f56c8]
vblendvps xmm1, xmm3, xmm2, xmm1
vbroadcastss xmm2, dword [0x100f54e0]
vmovups xmmword [esp + 0x88], xmm2
vfmadd231ps xmm1, xmm2, xmm0
vcvttps2dq xmm0, xmm1
vmovdqu xmmword [esp + 0xe8], xmm0
mov eax, dword [esp + 0x30]
vmovsd xmm4, qword [eax + 0xd0]
cmp dword [ebp + 0x15ac], 0
vmovups xmm2, xmmword [esp + 0x78]
vmovaps xmm1, xmm2
je 0x10063cd6
vxorps xmm1, xmm1, xmm1
vmovss xmm3, dword [esp + 0x48]
vsubss xmm2, xmm3, xmm2
vmovss dword [esp + 0x20], xmm2
add ecx, 3
lea esi, [esp + 0xec]
vaddss xmm1, xmm4, xmm1
vmovss dword [eax + 0xd0], xmm1
mov eax, dword [esp + 8]
and eax, 0x20
test edx, 0x300000
mov dword [esp + 0x38], ecx
vmovups xmmword [esp + 0x4c], xmm4
mov dword [esp + 0x2c], ebp
je 0x10063e8e
test eax, eax
jne 0x10063e8e
lea eax, [ecx - 1]
vcvtsi2ss xmm1, xmm5, eax
vmovss xmm2, dword [ebp + 0x156c]
vcvtsi2ss xmm0, xmm5, ecx
vmovups xmmword [esp + 0x10], xmm1
vmovss dword [esp], xmm2
vfnmadd213ss xmm1, xmm2, dword [esp + 0x20]
vdivss xmm0, xmm1, xmm0
vcvttps2dq xmm0, xmm0
vcvtdq2ps xmm0, xmm0
vmovss xmm1, dword [0x100f54d0]
vmaxss xmm0, xmm1, xmm0
vmovss dword [esp + 0x28], xmm0
test edx, 0x1000000
mov eax, str.M:000
mov ecx, str.M:0.000
cmove ecx, eax
lea eax, [esp + 0xa8]
push 0xbf800000
push 0
push 0
push ecx
push eax
mov ebx, edx
call fcn.10025630
add esp, 0x14
and ebx, 0x200000
cmp ebx, 1
mov eax, 2
sbb eax, 0
vmovss xmm0, dword [esp + 0xa8]
xor ebx, ebx
vucomiss xmm0, dword [esp + 0x28]
cmovae eax, ebx
mov dword [esp + 0xc], eax
vmovss xmm0, dword [0x100f54d0]
vmovss dword [esp + 0x34], xmm0
test dword [esp + 8], 0x80000
je 0x10063de2
vxorps xmm0, xmm0, xmm0
vmovss dword [esp + 0x34], xmm0
mov eax, 0xff
cmove ebx, eax
add esp, 0xfffffffc
vmovss xmm0, dword [esp + 0x2c]
vmovss dword [esp], xmm0
call fcn.10024360
add esp, 4
vmovss xmm0, dword [esp + 0x28]
vaddss xmm0, xmm0, dword [esp]
vmovups xmm1, xmmword [esp + 0x10]
vfnmadd213ss xmm1, xmm0, dword [esp + 0x20]
vcvttps2dq xmm0, xmm1
vmovups xmmword [esp + 0x68], xmm0
test dword [esp + 4], 0x1000000
jne 0x10063f42
mov eax, dword [esp + 0xc]
shl eax, 4
mov eax, dword [eax + 0x100fd5f8]
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xa0], 0
lea ecx, [esp + 0xa0]
lea edx, [esp + 0xe8]
push 0
push eax
lea eax, [esp + 0xb0]
push eax
push ecx
push 0x3f800000
push edx
push 4
push 0x10121f4f
call fcn.10059490
add esp, 0x20
mov dword [esp + 0x10], eax
mov dword [esp], 0
jmp 0x10063f9f
mov dword [esp], 0
test edx, 0x400000
je 0x10064148
mov dword [esp + 0x10], 0
test eax, eax
jne 0x100642ab
vpextrd edx, xmm0, 2
vpextrd ecx, xmm0, 1
vmovd eax, xmm0
test byte [esp + 8], 2
jne 0x10064155
vpextrd ebx, xmm0, 3
cmp ebx, 0xff
mov edi, 0xff
cmovge ebx, edi
mov ebp, ebx
sar ebp, 0x1f
andn ebx, ebp, ebx
cmp edx, 0xff
cmovge edx, edi
mov ebp, edx
sar ebp, 0x1f
andn edx, ebp, edx
cmp ecx, 0xff
cmovge ecx, edi
mov ebp, ecx
sar ebp, 0x1f
andn ecx, ebp, ecx
cmp eax, 0xff
cmovl edi, eax
mov eax, edi
sar eax, 0x1f
andn eax, eax, edi
lea edi, [esp + 0xa8]
push ebx
push edx
push ecx
push eax
push str._02X_02X_02X_02X
push 0x40
push edi
call fcn.10023720
add esp, 0x1c
jmp 0x100641ac
mov eax, dword [esp + 0xc]
shl eax, 4
mov eax, dword [eax + 0x100fd628]
vmovss xmm0, dword [esp + 0x34]
vmovss dword [esp + 0xa8], xmm0
mov dword [esp + 0xa0], 0
lea ecx, [esp + 0xa0]
lea edx, [esp + 0xf8]
push 0
push eax
lea eax, [esp + 0xb0]
push eax
push ecx
push 0x3b808081
push edx
push 8
push 0x10121f4f
call fcn.10059490
add esp, 0x20
mov dword [esp], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x5c], ebx
vcvtdq2ps xmm1, xmmword [esp + 0x68]
test byte [esp + 8], 8
jne 0x10063fcb
push 1
push str.context
vmovups xmmword [esp + 0x70], xmm1
call fcn.10039730
vmovups xmm1, xmmword [esp + 0x70]
add esp, 8
vmovss xmm0, dword [0x100f54d0]
vmaxss xmm0, xmm0, xmm1
vmovss dword [esp + 0x68], xmm0
mov ebx, dword [esp + 0x38]
neg ebx
shl dword [esp + 0xc], 4
mov ebp, 2
lea edi, [esp + 0xfc]
jmp 0x10064014
add esi, 4
add edi, 4
lea eax, [ebx + ebp]
inc eax
inc ebp
cmp eax, 1
je 0x100642ab
mov eax, dword [esp + 0x2c]
vmovss xmm0, dword [eax + 0x156c]
sub esp, 8
vmovss dword [esp + 4], xmm0
mov dword [esp], 0
call fcn.100384c0
add esp, 8
vmovss xmm0, dword [esp + 0x28]
cmp ebp, dword [esp + 0x38]
jb 0x1006404a
vmovss xmm0, dword [esp + 0x68]
sub esp, 4
vmovss dword [esp], xmm0
call fcn.10024360
add esp, 4
mov eax, dword [ebp*4 + 0x100fd5e4]
test dword [esp + 4], 0x1000000
jne 0x100640c0
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + ebp*4 + 0x100fd5f4]
mov edx, dword [esp + 0x5c]
mov dword [esp + 0xa8], edx
mov dword [esp + 0xa0], 0
push 0
push ecx
lea ecx, [esp + 0xb0]
push ecx
lea ecx, [esp + 0xac]
push ecx
push 0x3f800000
push esi
push 4
push eax
call fcn.10059490
add esp, 0x20
mov ecx, dword [esp + 0x10]
and cl, 1
or cl, al
mov dword [esp + 0x10], ecx
jmp 0x1006411d
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + ebp*4 + 0x100fd624]
vmovss xmm0, dword [esp + 0x34]
vmovss dword [esp + 0xa8], xmm0
mov dword [esp + 0xa0], 0
push 0
push ecx
lea ecx, [esp + 0xb0]
push ecx
lea ecx, [esp + 0xac]
push ecx
push 0x3b808081
push edi
push 8
push eax
call fcn.10059490
add esp, 0x20
mov ecx, dword [esp + 0x10]
or cl, al
mov eax, dword [esp]
and al, 1
mov dword [esp + 0x10], ecx
or al, cl
mov dword [esp], eax
vmovups xmm4, xmmword [esp + 0x4c]
test byte [esp + 8], 8
jne 0x10064000
push 1
push str.context
call fcn.10039730
vmovups xmm4, xmmword [esp + 0x54]
add esp, 8
jmp 0x10064000
mov dword [esp + 0x10], 0
jmp 0x100642ab
cmp edx, 0xff
mov edi, 0xff
cmovge edx, edi
mov ebx, edx
sar ebx, 0x1f
andn edx, ebx, edx
cmp ecx, 0xff
cmovge ecx, edi
mov ebx, ecx
sar ebx, 0x1f
andn ecx, ebx, ecx
cmp eax, 0xff
cmovl edi, eax
mov eax, edi
sar eax, 0x1f
andn eax, eax, edi
lea edi, [esp + 0xa8]
push edx
push ecx
push eax
push str._02X_02X_02X
push 0x40
push edi
call fcn.10023720
add esp, 0x18
sub esp, 4
vmovss xmm0, dword [esp + 0x24]
vmovss dword [esp], xmm0
call fcn.10024360
add esp, 4
vxorps xmm0, xmm0, xmm0
vmovlps qword [esp + 0xa0], xmm0
lea eax, [esp + 0xa0]
lea edi, [esp + 0xa8]
push 0
push 0
push 6
push eax
push 0x40
push edi
push 0
push str.Text
call fcn.1005eb20
add esp, 0x20
test al, al
je 0x10064223
lea eax, [esp + 0xf0]
lea ecx, [esp + 0xf4]
mov edx, 0x4800001
nop dword [eax]
movzx ebx, byte [edi]
add ebx, 0xfffffff7
cmp ebx, 0x1a
ja 0x10064231
bt edx, ebx
jae 0x10064231
inc edi
jmp 0x10064210
mov dword [esp + 0x10], 0
mov ebx, dword [esp + 8]
jmp 0x10064284
vmovaps xmm0, xmmword [0x100fd7a0]
vmovups xmmword [esp + 0xe8], xmm0
mov ebx, dword [esp + 8]
test bl, 2
jne 0x10064266
lea edx, [esp + 0xe8]
push ecx
push eax
push esi
push edx
push 0x10121f28
push edi
call fcn.1003c330
add esp, 0x18
jmp 0x1006427e
lea ecx, [esp + 0xe8]
push eax
push esi
push ecx
push 0x10121f3a
push edi
call fcn.1003c330
add esp, 0x14
mov al, 1
mov dword [esp + 0x10], eax
vmovups xmm4, xmmword [esp + 0x4c]
test bl, 8
jne 0x100642a4
push 1
push str.context
call fcn.10039730
vmovups xmm4, xmmword [esp + 0x54]
add esp, 8
mov dword [esp], 0
xor esi, esi
mov ebx, dword [esp + 8]
test bl, 0x10
jne 0x100642ea
vxorps xmm0, xmm0, xmm0
test bl, 0x20
jne 0x1006430a
mov edi, dword [esp + 0x2c]
cmp dword [edi + 0x15ac], 0
mov eax, dword [esp + 0x124]
mov ebp, dword [esp + 0x120]
je 0x1006431c
vmovss xmm0, dword [esp + 0x20]
vaddss xmm0, xmm0, dword [edi + 0x156c]
jmp 0x1006431c
mov edi, dword [esp + 0x2c]
mov ebp, dword [esp + 0x120]
vmovups xmm0, xmmword [esp + 0x78]
cmp dword [esp + 0x24], ebp
jne 0x1006450b
jmp 0x10064550
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x124]
mov ebp, dword [esp + 0x120]
vaddss xmm0, xmm4, xmm0
mov ecx, dword [esp + 0x30]
vmovss dword [ecx + 0xd0], xmm0
vextractps dword [ecx + 0xd4], xmm4, 1
test bl, 2
jne 0x10064342
vmovss xmm0, dword [eax + 0xc]
jmp 0x1006434a
vmovss xmm0, dword [0x100f54d0]
vmovss xmm1, dword [eax + 8]
vmovsd xmm2, qword [eax]
vmovsd qword [esp + 0xa8], xmm2
vmovss dword [esp + 0xb0], xmm1
vmovss dword [esp + 0xb4], xmm0
lea eax, [esp + 0xa8]
push 0
push 0
push ebx
push eax
push str.ColorButton
call fcn.10064c80
add esp, 0x14
test bl, 4
jne 0x1006440a
test al, al
je 0x1006440a
vmovups xmm0, xmmword [esp + 0xa8]
vmovups xmmword [edi + 0x2e94], xmm0
push 0
push 0x101204ed
call fcn.10038da0
add esp, 8
vxorps xmm0, xmm0, xmm0
vmovlps qword [esp + 0xa0], xmm0
vmovss xmm0, dword [edi + 0x1568]
vmovss xmm1, dword [edi + 0x1c44]
vaddss xmm0, xmm0, dword [edi + 0x1c50]
vaddss xmm1, xmm1, dword [0x100f54b0]
vmovss dword [esp + 0x98], xmm1
vmovss dword [esp + 0x9c], xmm0
lea eax, [esp + 0xa0]
lea ecx, [esp + 0x98]
push eax
push 0
push ecx
call fcn.100378c0
add esp, 0xc
test bl, 8
jne 0x1006441e
push 1
push str.context
call fcn.10039730
add esp, 8
xor esi, esi
push 0
push 0x101204ed
call fcn.10039650
add esp, 8
test al, al
je 0x100644f9
mov eax, dword [edi + 0x1b98]
mov dword [esp + 4], eax
cmp dword [esp + 0x24], ebp
je 0x10064499
push 0
push dword [esp + 0x28]
push ebp
call fcn.10052400
add esp, 0xc
mov eax, dword [0x1012d4e8]
mov ecx, dword [eax + 0x1b98]
mov byte [ecx + 0x8c], 1
mov eax, dword [eax + 0x1b98]
cmp byte [eax + 0x8f], 0
jne 0x10064499
vxorps xmm0, xmm0, xmm0
vmovlps qword [esp + 0xa0], xmm0
lea eax, [esp + 0xa0]
push 0xbf800000
push eax
call fcn.10036070
add esp, 8
mov esi, dword [esp + 0x128]
and esi, 0x1f890002
or esi, 0x740080
vmovss xmm0, dword [esp + 0x40]
vmulss xmm0, xmm0, dword [0x100f5778]
sub esp, 4
vmovss dword [esp], xmm0
call fcn.10024360
add esp, 4
lea eax, [edi + 0x2e94]
push eax
push esi
push dword [esp + 0x12c]
push str.picker
call fcn.100652d0
add esp, 0x10
mov ecx, dword [esp + 0x10]
or cl, al
mov dword [esp + 0x10], ecx
call fcn.10039600
mov esi, dword [esp + 4]
vmovups xmm0, xmmword [esp + 0x78]
vmovups xmm4, xmmword [esp + 0x4c]
cmp dword [esp + 0x24], ebp
je 0x10064550
mov eax, ebx
and eax, 0x80
mov eax, dword [esp + 0x30]
jne 0x10064550
test bl, 0x20
jne 0x1006452b
vmovss xmm0, dword [esp + 0x48]
vaddss xmm0, xmm0, dword [edi + 0x156c]
vinsertps xmm0, xmm0, dword [edi + 0x1558], 0x10
vaddps xmm0, xmm4, xmm0
vmovlps qword [eax + 0xd0], xmm0
push 0
push dword [esp + 0x28]
push ebp
call fcn.10052400
add esp, 0xc
cmp byte [esp + 0x10], 0
je 0x100646e3
test esi, esi
jne 0x100646e3
test byte [esp], 1
jne 0x100645a3
vmovsd xmm0, qword [esp + 0xe8]
vmovsd xmm1, qword [esp + 0xf0]
vcvtdq2ps xmm0, xmm0
vmovups xmm2, xmmword [esp + 0x88]
vdivps xmm0, xmm0, xmm2
vcvtdq2ps xmm1, xmm1
vdivps xmm1, xmm1, xmm2
vmovlhps xmm2, xmm0, xmm1
vmovups xmmword [esp + 0xf8], xmm2
jmp 0x100645b5
vmovsd xmm0, qword [esp + 0xf8]
vmovss xmm1, dword [esp + 0x100]
mov eax, dword [esp + 0x44]
not eax
test eax, 0x8200000
jne 0x10064664
vmovlps qword [edi + 0x2e88], xmm0
sub esp, 0x18
lea eax, [esp + 0x118]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x114]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x110]
mov dword [esp + 0xc], eax
vmovss dword [esp + 8], xmm1
vextractps dword [esp + 4], xmm0, 1
vmovss dword [esp], xmm0
call fcn.10023f50
add esp, 0x18
vmovss xmm0, dword [esp + 0x100]
vmovsd xmm1, qword [esp + 0xf8]
vmovsd qword [esp + 0xa8], xmm1
vmovss dword [esp + 0xb0], xmm0
mov dword [esp + 0xb4], 0
lea eax, [esp + 0xa8]
push eax
call fcn.10023df0
add esp, 4
mov dword [edi + 0x2e90], eax
vmovsd xmm0, qword [esp + 0xf8]
vmovss xmm1, dword [esp + 0x100]
mov eax, dword [esp + 0x3c]
cmp eax, 0x10100000
jne 0x100646c0
sub esp, 0x18
lea eax, [esp + 0x118]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x114]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x110]
mov dword [esp + 0xc], eax
vmovss dword [esp + 8], xmm1
vextractps dword [esp + 4], xmm0, 1
vmovss dword [esp], xmm0
call fcn.10023ea0
add esp, 0x18
vmovsd xmm0, qword [esp + 0xf8]
vmovss xmm1, dword [esp + 0x100]
mov eax, dword [esp + 0x124]
vmovlps qword [eax], xmm0
vmovss dword [eax + 8], xmm1
test bl, 2
jne 0x100646e3
vmovss xmm0, dword [esp + 0x104]
vmovss dword [eax + 0xc], xmm0
call fcn.10038260
call fcn.10038280
test ebx, 0x200
jne 0x100647d2
mov eax, dword [edi + 0x1c40]
and eax, 1
je 0x100647d2
call fcn.1003ac30
test al, al
je 0x100647d2
push 0
push str._COL3F
call fcn.1003acc0
add esp, 8
test eax, eax
setne bl
je 0x10064748
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov edx, dword [esp + 0x124]
mov dword [edx + 8], ecx
vmovsd xmm0, qword [eax]
vmovsd qword [edx], xmm0
mov al, 1
mov dword [esp + 0x10], eax
push 0
push str._COL4F
call fcn.1003acc0
add esp, 8
test eax, eax
je 0x1006477c
mov ecx, dword [esp + 0x38]
shl ecx, 2
push ecx
push dword [eax]
push dword [esp + 0x12c]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov al, 1
mov dword [esp + 0x10], eax
mov bl, 1
test dword [esp + 0x44], 0x10000000
je 0x100647cd
test bl, bl
je 0x100647cd
mov edx, dword [esp + 0x124]
lea eax, [edx + 4]
lea ecx, [edx + 8]
vmovss xmm0, dword [edx + 8]
vmovss xmm1, dword [edx]
vmovss xmm2, dword [edx + 4]
sub esp, 0x18
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edx
vmovss dword [esp + 8], xmm0
vmovss dword [esp + 4], xmm2
vmovss dword [esp], xmm1
call fcn.10023ea0
add esp, 0x18
call fcn.1003af10
mov ebx, dword [esp + 0x10]
test esi, esi
je 0x100647f2
mov eax, dword [edi + 0x1bd0]
test eax, eax
je 0x100647f2
cmp dword [edi + 0x1c00], esi
jne 0x100647f2
mov dword [edi + 0x1c38], eax
and bl, 1
je 0x10064805
push dword [edi + 0x1c38]
call fcn.10027400
add esp, 4
mov ecx, dword [esp + 0x108]
xor ecx, esp
call fcn.100f1e99
mov eax, ebx
add esp, 0x10c
pop esi
pop edi
pop ebx
pop ebp
ret
vmovss xmm2, dword [esp + 0xf8]
vucomiss xmm2, xmm1
jne 0x10063c24
jp 0x10063c24
vmovss xmm2, dword [esi + 0x2e88]
vmovss xmm1, dword [0x100f54d0]
vucomiss xmm2, xmm1
jne 0x10063c24
jnp 0x10063c1b
jmp 0x10063c24