Function at 0x10082cd0
Capabilities:
Terminate process

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xc4
mov eax, dword [0x1025ad40]
xor eax, esp
mov dword [esp + 0xc0], eax
mov esi, dword [0x1025afd0]
mov eax, dword [esi + 0x19e4]
mov byte [eax + 0x7c], 1
mov ebp, dword [esi + 0x19e4]
cmp byte [ebp + 0x7f], 0
je 0x10082d0b
xor ebx, ebx
jmp 0x100839c7
mov ebx, dword [esp + 0xe0]
call fcn.1005aec0
fstp dword [esp + 0x4c]
movss xmm0, dword [esp + 0x4c]
xorps xmm1, xmm1
test bl, 0x10
jne 0x10082d35
movss xmm1, dword [esi + 0x1550]
addss xmm1, xmm0
movss dword [esp + 4], xmm1
movss dword [esp + 0x40], xmm0
mov edi, dword [esp + 0xdc]
call fcn.1005a8d0
fstp dword [esp + 0x48]
movss xmm0, dword [esp + 0x48]
movups xmmword [esp + 0x28], xmm0
push 0
mov ebx, dword [esp + 0xdc]
push ebx
call fcn.10049780
add esp, 8
mov dword [esp + 0xc], eax
call fcn.1005b2b0
push ebx
call fcn.1005b040
add esp, 4
mov eax, dword [esp + 0xe0]
mov ebx, eax
and ebx, 0xff8ffff7
or ebx, 0x100008
test al, 0x20
cmove ebx, eax
test bl, 8
je 0x10082e63
test ebx, 0x700000
je 0x10082e79
test ebx, 0x1800000
je 0x10082e92
test ebx, 0x6000000
mov dword [esp + 8], ebp
jne 0x10082dd4
mov eax, 0x6000000
and eax, dword [esi + 0x2c44]
or ebx, eax
mov edx, dword [esi + 0x2c44]
mov eax, edx
and eax, 0x18000000
xor ebp, ebp
test ebx, 0x18000000
cmove ebp, eax
mov eax, ebx
and eax, 0x700000
lea ecx, [eax - 1]
test eax, ecx
sete cl
test eax, eax
setne al
test al, cl
je 0x100839e2
or ebp, ebx
mov eax, ebp
and eax, 0x18000000
lea ecx, [eax - 1]
test eax, ecx
sete cl
test eax, eax
setne al
test al, cl
je 0x100839e2
and edx, 0xe00fffff
or edx, ebp
test dl, 2
sete al
movsd xmm0, qword [edi]
movsd qword [esp + 0xb0], xmm0
movss xmm1, dword [edi + 8]
movss dword [esp + 0xb8], xmm1
test dl, 2
mov dword [esp + 0x24], ebx
mov dword [esp + 0x14], ebp
jne 0x10082ea4
movss xmm2, dword [edi + 0xc]
jmp 0x10082eac
push ebx
push edi
call fcn.100839f0
add esp, 8
test ebx, 0x700000
jne 0x10082daf
mov eax, 0x700000
and eax, dword [esi + 0x2c44]
or ebx, eax
test ebx, 0x1800000
jne 0x10082dbb
mov eax, 0x1800000
and eax, dword [esi + 0x2c44]
or ebx, eax
jmp 0x10082dbb
movss xmm2, dword [0x101a8280]
xor ecx, ecx
mov cl, al
mov edi, ecx
lea eax, [esp + 0xb4]
lea ecx, [esp + 0xb8]
movss dword [esp + 0xbc], xmm2
mov ebp, dword [esp + 0x14]
mov ebx, ebp
and ebx, 0x10100000
mov dword [esp + 0x44], ebx
cmp ebx, 0x10100000
mov dword [esp], edx
jne 0x10082f2f
movaps xmm2, xmm0
shufps xmm2, xmm0, 0x55
sub esp, 0x18
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], eax
lea eax, [esp + 0xc8]
mov dword [esp + 0xc], eax
movss dword [esp + 8], xmm1
movss dword [esp], xmm0
movss dword [esp + 4], xmm2
call fcn.10048f90
lea ecx, [esp + 0xd0]
mov edx, dword [esp + 0x18]
add esp, 0x18
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 8]
jmp 0x10082f8a
mov eax, ebp
not eax
test eax, 0x8200000
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 8]
jne 0x10082f8a
movaps xmm2, xmm0
shufps xmm2, xmm0, 0x55
sub esp, 0x18
mov dword [esp + 0x14], ecx
lea eax, [esp + 0xcc]
mov dword [esp + 0x10], eax
lea eax, [esp + 0xc8]
mov dword [esp + 0xc], eax
movss dword [esp + 8], xmm1
movss dword [esp], xmm0
movss dword [esp + 4], xmm2
call fcn.10048ed0
lea ecx, [esp + 0xd0]
mov edx, dword [esp + 0x18]
add esp, 0x18
movups xmm3, xmmword [esp + 0x28]
subss xmm3, dword [esp + 4]
add edi, 3
mov dword [esp + 0x38], edi
movups xmm0, xmmword [esp + 0xb0]
xorps xmm1, xmm1
cmpleps xmm1, xmm0
movaps xmm2, xmm1
andnps xmm2, xmmword [0x101b0e40]
andps xmm1, xmmword [0x101b00d0]
orps xmm1, xmm2
mulps xmm0, xmmword [0x101b0e50]
addps xmm0, xmm1
cvttps2dq xmm0, xmm0
movdqu xmmword [esp + 0xa0], xmm0
mov eax, edx
and eax, 0x20
test ebx, 0x300000
je 0x1008315b
test eax, eax
jne 0x1008315b
mov eax, esi
mov ecx, dword [esp + 0x38]
lea esi, [ecx - 1]
xorps xmm1, xmm1
cvtsi2ss xmm1, esi
mov dword [esp + 0x10], eax
movss xmm0, dword [eax + 0x1550]
movss dword [esp + 0x18], xmm0
movss dword [esp + 0x3c], xmm1
mulss xmm0, xmm1
movups xmmword [esp + 0x28], xmm3
movaps xmm1, xmm3
xorps xmm2, xmm2
cvtsi2ss xmm2, ecx
subss xmm1, xmm0
divss xmm1, xmm2
cvttps2dq xmm0, xmm1
cvtdq2ps xmm0, xmm0
movss xmm1, dword [0x101a8280]
maxss xmm1, xmm0
movss dword [esp + 4], xmm1
test ebx, 0x1000000
mov eax, str.M:000
mov ecx, str.M:0.000
cmove ecx, eax
lea eax, [esp + 0x60]
push 0xbf800000
push 0
push 0
push ecx
push eax
call fcn.10049fb0
add esp, 0x14
movss xmm0, dword [esp + 0x60]
mov eax, ebx
and eax, 0x200000
cmp eax, 1
mov ebp, 2
sbb ebp, 0
xor edi, edi
movss xmm1, dword [esp + 4]
ucomiss xmm0, xmm1
cmovae ebp, edi
sub esp, 4
movss dword [esp], xmm1
call fcn.10049440
add esp, 4
movss xmm0, dword [0x101a8280]
movss dword [esp + 0x20], xmm0
movss dword [esp + 0x1c], xmm0
test dword [esp], 0x80000
je 0x100830d1
xorps xmm0, xmm0
movss dword [esp + 0x1c], xmm0
mov eax, 0xff
cmove edi, eax
movss xmm1, dword [esp + 0x18]
addss xmm1, dword [esp + 4]
mulss xmm1, dword [esp + 0x3c]
movups xmm0, xmmword [esp + 0x28]
subss xmm0, xmm1
cvttps2dq xmm0, xmm0
movups xmmword [esp + 0x28], xmm0
mov eax, ebp
shl eax, 4
test ebx, 0x1000000
jne 0x10083209
mov eax, dword [eax + 0x101b0960]
mov dword [esp + 0x60], edi
mov dword [esp + 0x58], 0
lea ecx, [esp + 0x58]
lea edx, [esp + 0xa0]
push 0x3f800000
push eax
lea eax, [esp + 0x68]
push eax
push ecx
push 0x3f800000
push edx
push 0
push 0x101f06c7
call fcn.10078a30
add esp, 0x20
mov ebx, eax
mov dword [esp + 4], 0
jmp 0x10083255
mov dword [esp + 4], 0
test ebx, 0x400000
je 0x100833eb
mov ebx, 0
test eax, eax
jne 0x1008354b
movups xmmword [esp + 0x28], xmm3
mov dword [esp + 0x10], esi
test dl, 2
jne 0x100833f2
pshufd xmm1, xmm0, 0xff
movd ecx, xmm1
cmp ecx, 0xff
mov eax, 0xff
cmovge ecx, eax
xor edx, edx
test ecx, ecx
cmovle ecx, edx
pshufd xmm1, xmm0, 0xee
movd esi, xmm1
cmp esi, 0xff
cmovge esi, eax
test esi, esi
cmovle esi, edx
pshufd xmm1, xmm0, 0x55
movd edi, xmm1
cmp edi, 0xff
cmovge edi, eax
test edi, edi
cmovle edi, edx
movd ebx, xmm0
cmp ebx, 0xff
cmovl eax, ebx
test eax, eax
cmovle eax, edx
lea edx, [esp + 0x60]
push ecx
push esi
push edi
push eax
push str._02X_02X_02X_02X
push 0x40
push edx
call fcn.100486b0
add esp, 0x1c
jmp 0x10083450
mov eax, dword [eax + 0x101b0990]
movss xmm0, dword [esp + 0x1c]
movss dword [esp + 0x60], xmm0
mov dword [esp + 0x58], 0
lea ecx, [esp + 0x58]
lea edx, [esp + 0xb0]
push 0x3f800000
push eax
lea eax, [esp + 0x68]
push eax
push ecx
push 0x3b808081
push edx
push 4
push 0x101f06c7
call fcn.10078a30
add esp, 0x20
mov dword [esp + 4], eax
mov ebx, eax
mov dword [esp + 0x18], edi
movups xmm0, xmmword [esp + 0x28]
cvtdq2ps xmm1, xmm0
test byte [esp], 8
jne 0x10083280
push 1
push str.context
movups xmmword [esp + 0x30], xmm1
call fcn.1005bf50
movups xmm1, xmmword [esp + 0x30]
add esp, 8
movss xmm0, dword [esp + 0x20]
maxss xmm0, xmm1
movss dword [esp + 0x20], xmm0
shl ebp, 4
xor edi, edi
jmp 0x100832aa
add edi, 4
dec esi
je 0x100833d4
mov eax, dword [esp + 0x10]
movss xmm0, dword [eax + 0x1550]
sub esp, 8
movss dword [esp + 4], xmm0
mov dword [esp], 0
call fcn.1004bf70
add esp, 8
cmp esi, 1
jne 0x100832e9
sub esp, 4
movss xmm0, dword [esp + 0x24]
movss dword [esp], xmm0
call fcn.10049440
add esp, 4
and bl, 1
mov eax, dword [edi + 0x101b0954]
mov dword [esp + 0x28], eax
test dword [esp + 0x24], 0x1000000
jne 0x10083360
mov ecx, dword [ebp + edi + 0x101b0964]
lea edx, [esp + 0xa4]
add edx, edi
mov eax, esi
mov esi, ebx
mov ebx, ebp
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x60], ebp
mov ebp, ebx
mov ebx, esi
mov esi, eax
mov dword [esp + 0x58], 0
push 0x3f800000
push ecx
lea ecx, [esp + 0x68]
push ecx
lea eax, [esp + 0x64]
push eax
push 0x3f800000
push edx
push 0
push dword [esp + 0x44]
call fcn.10078a30
add esp, 0x20
or bl, al
test byte [esp], 8
jne 0x100832a0
jmp 0x100833c0
mov ecx, dword [ebp + edi + 0x101b0994]
lea edx, [esp + 0xb4]
add edx, edi
movss xmm0, dword [esp + 0x1c]
movss dword [esp + 0x60], xmm0
mov dword [esp + 0x58], 0
push 0x3f800000
push ecx
lea ecx, [esp + 0x68]
push ecx
lea eax, [esp + 0x64]
push eax
push 0x3b808081
push edx
push 4
push dword [esp + 0x44]
call fcn.10078a30
add esp, 0x20
or bl, al
mov eax, dword [esp + 4]
and al, 1
or al, bl
mov dword [esp + 4], eax
test byte [esp], 8
jne 0x100832a0
push 1
push str.context
call fcn.1005bf50
add esp, 8
jmp 0x100832a0
call fcn.10049550
call fcn.10049550
mov ebp, dword [esp + 8]
mov esi, dword [esp + 0x10]
jmp 0x10083541
xor ebx, ebx
jmp 0x1008354b
pshufd xmm1, xmm0, 0xee
movd ecx, xmm1
cmp ecx, 0xff
mov eax, 0xff
cmovge ecx, eax
xor edx, edx
test ecx, ecx
cmovle ecx, edx
pshufd xmm1, xmm0, 0x55
movd esi, xmm1
cmp esi, 0xff
cmovge esi, eax
test esi, esi
cmovle esi, edx
movd edi, xmm0
cmp edi, 0xff
cmovl eax, edi
test eax, eax
cmovle eax, edx
lea edx, [esp + 0x60]
push ecx
push esi
push eax
push str._02X_02X_02X
push 0x40
push edx
call fcn.100486b0
add esp, 0x18
sub esp, 4
movups xmm0, xmmword [esp + 0x2c]
movss dword [esp], xmm0
call fcn.10049440
add esp, 4
xorps xmm0, xmm0
movlps qword [esp + 0x58], xmm0
lea eax, [esp + 0x58]
lea esi, [esp + 0x60]
push 0
push 0
push 6
push eax
push 0x40
push esi
push str.Text
call fcn.1007dc60
add esp, 0x1c
test al, al
je 0x100834c3
lea eax, [esp + 0xa8]
lea ecx, [esp + 0xac]
mov edx, 0x4800001
nop word cs:[eax + eax]
movzx edi, byte [esi]
add edi, 0xfffffff7
cmp edi, 0x1a
ja 0x100834c7
bt edx, edi
jae 0x100834c7
inc esi
jmp 0x100834b0
xor ebx, ebx
jmp 0x1008351b
xorps xmm0, xmm0
movups xmmword [esp + 0xa0], xmm0
test byte [esp], 2
jne 0x100834fa
lea edx, [esp + 0xa0]
push ecx
push eax
lea eax, [esp + 0xac]
push eax
push edx
push 0x101f06a0
push esi
call fcn.1005efe0
add esp, 0x18
jmp 0x10083519
lea ecx, [esp + 0xa0]
push eax
lea eax, [esp + 0xa8]
push eax
push ecx
push 0x101f06b2
push esi
call fcn.1005efe0
add esp, 0x14
mov bl, 1
test byte [esp], 8
mov esi, dword [esp + 0x10]
jne 0x10083534
push 1
push str.context
call fcn.1005bf50
add esp, 8
call fcn.10049550
mov dword [esp + 4], 0
mov edx, dword [esp]
lea ecx, [esp + 0xb8]
xor edi, edi
test dl, 0x10
jne 0x10083725
test dl, 0x20
jne 0x1008357f
movd xmm0, dword [esi + 0x1550]
sub esp, 8
movd dword [esp + 4], xmm0
mov dword [esp], 0
call fcn.1004bf70
mov edx, dword [esp + 8]
add esp, 8
test dl, 2
mov eax, dword [esp + 0xdc]
jne 0x10083592
movss xmm0, dword [eax + 0xc]
jmp 0x1008359a
movss xmm0, dword [0x101a8280]
movss xmm1, dword [eax + 8]
movsd xmm2, qword [eax]
movsd qword [esp + 0x60], xmm2
movss dword [esp + 0x68], xmm1
movss dword [esp + 0x6c], xmm0
lea eax, [esp + 0x60]
push 0
push 0
push edx
push eax
push str.ColorButton
call fcn.10083dc0
mov ecx, dword [esp + 0x14]
add esp, 0x14
test al, al
je 0x10083641
mov eax, ecx
and eax, 4
jne 0x10083641
movups xmm0, xmmword [esp + 0x60]
movups xmmword [esi + 0x2c48], xmm0
push 0x101eeca6
call fcn.1005ba90
add esp, 4
xorps xmm0, xmm0
movlps qword [esp + 0x58], xmm0
movss xmm0, dword [ebp + 0x114]
movss xmm1, dword [ebp + 0x120]
unpcklps xmm0, xmm1
movss xmm1, dword [esi + 0x154c]
movaps xmm2, xmmword [0x101b0e60]
unpcklps xmm2, xmm1
addps xmm2, xmm0
movlps qword [esp + 0x50], xmm2
lea eax, [esp + 0x58]
lea ecx, [esp + 0x50]
push eax
push 0
push ecx
call fcn.1005ad70
mov ecx, dword [esp + 0xc]
add esp, 0xc
test cl, 8
jne 0x10083655
push 1
push str.context
call fcn.1005bf50
add esp, 8
xor edi, edi
push 0
push 0x101eeca6
call fcn.1005c370
add esp, 8
test al, al
je 0x1008371b
mov edi, dword [esi + 0x19e4]
mov eax, dword [esp + 0xc]
cmp eax, dword [esp + 0xd8]
je 0x100836c8
push 0
push dword [esp + 0x10]
push dword [esp + 0xe0]
call fcn.100826c0
add esp, 0xc
mov eax, dword [0x1025afd0]
mov ecx, dword [eax + 0x19e4]
mov byte [ecx + 0x7c], 1
mov eax, dword [eax + 0x19e4]
cmp byte [eax + 0x7f], 0
jne 0x100836c8
xorps xmm0, xmm0
movlps qword [esp + 0x58], xmm0
lea eax, [esp + 0x58]
push 0
push eax
call fcn.1004bdd0
add esp, 8
mov ebp, dword [esp + 0xe0]
and ebp, 0x1f890002
or ebp, 0x240080
movss xmm0, dword [esp + 0x40]
mulss xmm0, dword [0x101b0a68]
sub esp, 4
movss dword [esp], xmm0
call fcn.10049440
push ebp
push dword [esp + 0xe4]
push str.picker
call fcn.10084490
add esp, 0x10
or bl, al
call fcn.10049550
call fcn.1005c330
mov ebp, dword [esp + 8]
mov edx, dword [esp]
lea ecx, [esp + 0xb8]
mov eax, dword [esp + 0xc]
cmp eax, dword [esp + 0xd8]
je 0x1008377b
mov eax, edx
and eax, 0x80
jne 0x1008377b
movss xmm0, dword [esi + 0x1550]
sub esp, 8
movss dword [esp + 4], xmm0
mov dword [esp], 0
call fcn.1004bf70
add esp, 8
push 0
push dword [esp + 0x10]
push dword [esp + 0xe0]
call fcn.100826c0
lea ecx, [esp + 0xc4]
mov edx, dword [esp + 0xc]
add esp, 0xc
test bl, bl
je 0x100838a9
test edi, edi
jne 0x100838a9
test byte [esp + 4], 1
jne 0x100837ac
movups xmm0, xmmword [esp + 0xa0]
cvtdq2ps xmm0, xmm0
divps xmm0, xmmword [0x101b0e50]
movups xmmword [esp + 0xb0], xmm0
mov eax, dword [esp + 0x14]
not eax
test eax, 0x8200000
jne 0x10083815
movss xmm0, dword [esp + 0xb8]
movss xmm1, dword [esp + 0xb0]
movss xmm2, dword [esp + 0xb4]
sub esp, 0x18
mov dword [esp + 0x14], ecx
lea eax, [esp + 0xcc]
mov dword [esp + 0x10], eax
lea eax, [esp + 0xc8]
mov dword [esp + 0xc], eax
movss dword [esp + 8], xmm0
movss dword [esp + 4], xmm2
movss dword [esp], xmm1
call fcn.10048f90
lea ecx, [esp + 0xd0]
mov edx, dword [esp + 0x18]
add esp, 0x18
cmp dword [esp + 0x44], 0x10100000
lea eax, [esp + 0xb4]
jne 0x10083874
movss xmm0, dword [esp + 0xb8]
movss xmm1, dword [esp + 0xb0]
movss xmm2, dword [esp + 0xb4]
sub esp, 0x18
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], eax
lea eax, [esp + 0xc8]
mov dword [esp + 0xc], eax
movss dword [esp + 8], xmm0
movss dword [esp + 4], xmm2
movss dword [esp], xmm1
call fcn.10048ed0
mov edx, dword [esp + 0x18]
add esp, 0x18
movsd xmm0, qword [esp + 0xb0]
mov eax, dword [esp + 0xdc]
movsd qword [eax], xmm0
movss xmm0, dword [esp + 0xb8]
movss dword [eax + 8], xmm0
test dl, 2
jne 0x100838a9
movss xmm0, dword [esp + 0xbc]
movss dword [eax + 0xc], xmm0
call fcn.1005b190
call fcn.1005b4a0
test byte [ebp + 0x110], 1
je 0x10083996
and dword [esp], 0x200
jne 0x10083996
call fcn.1005d850
test al, al
je 0x10083996
push 0
push str._COL3F
call fcn.1005d8e0
add esp, 8
test eax, eax
setne byte [esp + 0x28]
je 0x1008390b
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov edx, dword [esp + 0xdc]
mov dword [edx + 8], ecx
movsd xmm0, qword [eax]
movsd qword [edx], xmm0
mov bl, 1
push 0
push str._COL4F
call fcn.1005d8e0
add esp, 8
test eax, eax
movzx ecx, byte [esp + 0x28]
je 0x10083940
mov ecx, dword [esp + 0x38]
shl ecx, 2
push ecx
push dword [eax]
push dword [esp + 0xe4]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov bl, 1
mov cl, 1
test cl, cl
je 0x10083991
and dword [esp + 0x14], 0x10000000
je 0x10083991
mov edx, dword [esp + 0xdc]
lea eax, [edx + 4]
lea ecx, [edx + 8]
movss xmm0, dword [edx + 8]
movss xmm1, dword [edx]
movss xmm2, dword [edx + 4]
sub esp, 0x18
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edx
movss dword [esp + 8], xmm0
movss dword [esp + 4], xmm2
movss dword [esp], xmm1
call fcn.10048ed0
add esp, 0x18
call fcn.1005dbd0
test edi, edi
je 0x100839b2
mov eax, dword [esi + 0x1a04]
test eax, eax
je 0x100839b2
cmp dword [esi + 0x1a2c], edi
jne 0x100839b2
mov dword [ebp + 0x10c], eax
test bl, bl
setne bl
je 0x100839c7
push dword [ebp + 0x10c]
call fcn.1004bd90
add esp, 4
mov ecx, dword [esp + 0xc0]
xor ecx, esp
call fcn.10157981
mov eax, ebx
add esp, 0xc4
pop esi
pop edi
pop ebx
pop ebp
ret
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3