Function at 0x180062ea0
Capabilities:
Encrypt data using speck
Get graphical window text

Disassembly:
mov r11, rsp
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x1b8
movaps xmmword [r11 - 0x58], xmm6
movaps xmmword [r11 - 0x68], xmm7
movaps xmmword [r11 - 0x78], xmm8
movaps xmmword [r11 - 0x88], xmm9
mov rax, qword [0x180107738]
xor rax, rsp
mov qword [rsp + 0x100], rax
movzx r12d, byte [rcx + 0x9da]
xor ebp, ebp
test r12b, r12b
mov qword [rsp + 0x80], rdx
mov r13d, 0xffffffa6
mov rbx, r9
cmovne r13d, ebp
mov r10d, r8d
mov r15, rdx
mov r14, rcx
cmp r8d, 0x111
ja 0x180064e2e
je 0x180064c02
mov eax, r8d
sub eax, 1
je 0x180064be7
sub eax, 1
je 0x180064baa
sub eax, 8
je 0x180064b62
cmp eax, 5
jne 0x180064e51
movaps xmmword [r11 - 0x98], xmm10
lea rdx, [r11 - 0x158]
movaps xmmword [r11 - 0xb8], xmm12
mov rcx, r15
movaps xmmword [r11 - 0xc8], xmm13
movaps xmmword [r11 - 0xd8], xmm14
call qword [sym.imp.USER32.dll_BeginPaint]
mov rcx, rax
mov qword [0x180109fb0], rax
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov rcx, qword [0x180109fb0]
mov qword [0x180109fb8], rax
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov r8d, dword [r14 + 0x64]
mov edx, dword [r14 + 0x60]
mov rcx, qword [0x180109fb0]
mov qword [0x180109fc0], rax
call qword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov rcx, qword [0x180109fb8]
mov rdx, rax
mov qword [0x180109fd0], rax
call qword [sym.imp.GDI32.dll_SelectObject]
mov rcx, qword [r14 + 0x10]
lea rdx, [rsp + 0x90]
mov qword [0x180109fd8], rax
call qword [sym.imp.USER32.dll_GetClientRect]
mov r8, qword [0x180109578]
lea rdx, [rsp + 0x90]
mov rcx, qword [0x180109fb8]
call qword [sym.imp.USER32.dll_FillRect]
movzx eax, byte [r14 + 0x9da]
xorps xmm10, xmm10
movss xmm9, dword [0x1800e0298]
sub al, 3
movss xmm13, dword [0x1800e3350]
mov r13d, 0xff
cmp al, 1
ja 0x1800636fb
mov rdi, qword [r14 + 0xa28]
mov ebx, dword [r14 + 0x60]
test rdi, rdi
jne 0x1800631ce
mov eax, ebx
cdq
sub eax, edx
sar eax, 1
mov ecx, eax
lea ebx, [rax - 2]
mov eax, dword [r14 + 0x64]
cdq
mov r9d, ebx
sub eax, edx
mov edx, ecx
mov rcx, qword [0x180109fb8]
sar eax, 1
mov r8d, eax
mov eax, dword [0x180109748]
mov dword [rsp + 0x40], eax
mov eax, dword [0x180109eb0]
mov dword [rsp + 0x38], eax
mov byte [rsp + 0x30], 1
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], ebx
call fcn.18005c440
movaps xmm0, xmm13
movd xmm7, ebx
subss xmm0, dword [r14 + 0x4e8]
cvtdq2pd xmm7, xmm7
cvtps2pd xmm6, xmm0
mulsd xmm6, qword [0x1800e0d08]
divsd xmm6, qword [0x1800e0d28]
movaps xmm0, xmm6
call fcn.1800b1980
mov eax, dword [r14 + 0x60]
mulsd xmm0, xmm7
sar eax, 1
movd xmm1, eax
cvtdq2pd xmm1, xmm1
addsd xmm0, xmm1
cvttsd2si ebp, xmm0
movaps xmm0, xmm6
call fcn.1800b0b00
mov eax, dword [r14 + 0x64]
lea edx, [rdi + 1]
mov r8d, dword [0x180109748]
xor ecx, ecx
sar eax, 1
mulsd xmm0, xmm7
movd xmm1, eax
cvtdq2pd xmm1, xmm1
addsd xmm0, xmm1
cvttsd2si esi, xmm0
call qword [sym.imp.GDI32.dll_CreatePen]
mov rcx, qword [0x180109fb8]
mov rdx, rax
mov rdi, rax
call qword [sym.imp.GDI32.dll_SelectObject]
mov rcx, qword [0x180109fb8]
lea edx, [rbp - 5]
xor r9d, r9d
mov r8d, esi
mov rbx, rax
call qword [sym.imp.GDI32.dll_MoveToEx]
mov rcx, qword [0x180109fb8]
lea edx, [rbp + 5]
mov r8d, esi
call qword [sym.imp.GDI32.dll_LineTo]
mov rcx, qword [0x180109fb8]
lea r8d, [rsi - 5]
xor r9d, r9d
mov edx, ebp
call qword [sym.imp.GDI32.dll_MoveToEx]
mov rcx, qword [0x180109fb8]
lea r8d, [rsi + 5]
mov edx, ebp
call qword [sym.imp.GDI32.dll_LineTo]
mov rcx, qword [0x180109fb0]
mov rdx, rbx
call qword [sym.imp.GDI32.dll_SelectObject]
mov rcx, rdi
call qword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [0x180109748]
mov dword [rsp + 0x40], eax
mov eax, dword [0x180109eb0]
mov r9d, 5
mov rcx, qword [0x180109fb8]
mov r8d, esi
mov dword [rsp + 0x38], eax
mov edx, ebp
mov byte [rsp + 0x30], 1
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], 5
call fcn.18005c440
jmp 0x1800636f9
movaps xmm0, xmm13
mov ecx, ebx
subss xmm0, dword [r14 + 0x4e8]
sar ecx, 1
mov eax, ecx
sub eax, dword [r14 + 0xa00]
cvtps2pd xmm8, xmm0
movd xmm6, eax
mulsd xmm8, qword [0x1800e0d08]
movd xmm7, ecx
cvtdq2pd xmm6, xmm6
divsd xmm8, qword [0x1800e0d28]
cvtdq2pd xmm7, xmm7
movaps xmm0, xmm8
call fcn.1800b1980
mulsd xmm0, xmm6
addsd xmm0, xmm7
cvttsd2si eax, xmm0
movaps xmm0, xmm8
mov dword [r14 + 0x9f8], eax
call fcn.1800b0b00
mulsd xmm0, xmm6
addsd xmm0, xmm7
cvttsd2si eax, xmm0
mov dword [r14 + 0x9fc], eax
cmp qword [r14 + 0x528], rbp
jne 0x1800632a5
mov rcx, qword [0x180109fc0]
mov rdx, rdi
call qword [sym.imp.GDI32.dll_SelectObject]
mov r9d, dword [r14 + 0x60]
xor r8d, r8d
mov rcx, qword [0x180109fb8]
xor edx, edx
mov dword [rsp + 0x40], 0xcc0020
mov qword [0x180109fe0], rax
mov rax, qword [0x180109fc0]
mov dword [rsp + 0x38], ebp
mov dword [rsp + 0x30], ebp
mov qword [rsp + 0x28], rax
mov eax, dword [r14 + 0x64]
mov dword [rsp + 0x20], eax
call qword [sym.imp.GDI32.dll_BitBlt]
jmp 0x1800634c9
mov edi, ebp
mov r11d, ebp
cmp dword [r14 + 0x64], ebp
jle 0x180063426
mov r10d, ebp
test ebx, ebx
jle 0x180063417
movsxd rax, r11d
lea r8, [rax + rax*2]
lea r9, [rax*4]
nop
mov rax, qword [r14 + 0x528]
movss xmm3, dword [r9 + rax]
ucomiss xmm3, xmm10
movss dword [0x18010a030], xmm3
jp 0x1800632f6
jne 0x1800632f6
mov rcx, qword [r14 + 0x9c8]
jmp 0x180063305
ucomiss xmm3, xmm9
jp 0x180063326
jne 0x180063326
mov rcx, qword [r14 + 0x9d0]
movzx eax, word [rcx + r8]
mov rdx, qword [r14 + 0x9c0]
mov word [rdx + r8], ax
movzx eax, byte [rcx + r8 + 2]
mov byte [rdx + r8 + 2], al
jmp 0x1800633ff
mov rax, qword [r14 + 0x9d0]
movaps xmm2, xmm9
subss xmm2, xmm3
movzx ecx, byte [rax + r8 + 2]
mov rax, qword [r14 + 0x9c8]
movss dword [0x18010a034], xmm2
movd xmm1, ecx
movzx ecx, byte [r8 + rax + 2]
mov rax, qword [r14 + 0x9c0]
cvtdq2ps xmm1, xmm1
movd xmm0, ecx
mulss xmm1, xmm3
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
addss xmm1, xmm0
cvttss2si ecx, xmm1
mov byte [rax + r8 + 2], cl
mov rax, qword [r14 + 0x9d0]
movzx ecx, byte [rax + r8 + 1]
mov rax, qword [r14 + 0x9c8]
movd xmm1, ecx
movzx ecx, byte [r8 + rax + 1]
mov rax, qword [r14 + 0x9c0]
cvtdq2ps xmm1, xmm1
movd xmm0, ecx
mulss xmm1, xmm3
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm2
addss xmm1, xmm0
cvttss2si ecx, xmm1
mov byte [rax + r8 + 1], cl
mov rax, qword [r14 + 0x9d0]
movzx ecx, byte [rax + r8]
mov rax, qword [r14 + 0x9c8]
movd xmm1, ecx
movzx ecx, byte [r8 + rax]
mov rax, qword [r14 + 0x9c0]
cvtdq2ps xmm1, xmm1
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm3
mulss xmm0, xmm2
addss xmm1, xmm0
cvttss2si ecx, xmm1
mov byte [r8 + rax], cl
mov ebx, dword [r14 + 0x60]
inc r10d
add r9, 4
add r8, 3
cmp r10d, ebx
jl 0x1800632d0
inc edi
add r11d, ebx
cmp edi, dword [r14 + 0x64]
jl 0x1800632b4
mov r9, qword [r14 + 0x9c0]
lea rdx, [r14 + 0x590]
mov rcx, qword [0x180109fb0]
mov r8d, 4
mov dword [rsp + 0x28], ebp
mov qword [rsp + 0x20], rdx
call qword [sym.imp.GDI32.dll_CreateDIBitmap]
mov rcx, qword [0x180109fc0]
mov rdx, rax
mov qword [0x180109fe8], rax
call qword [sym.imp.GDI32.dll_SelectObject]
mov r9d, dword [r14 + 0x60]
xor r8d, r8d
mov rcx, qword [0x180109fb8]
xor edx, edx
mov dword [rsp + 0x40], 0xcc0020
mov qword [0x180109fe0], rax
mov rax, qword [0x180109fc0]
mov dword [rsp + 0x38], ebp
mov dword [rsp + 0x30], ebp
mov qword [rsp + 0x28], rax
mov eax, dword [r14 + 0x64]
mov dword [rsp + 0x20], eax
call qword [sym.imp.GDI32.dll_BitBlt]
mov rdx, qword [0x180109fe0]
mov rcx, qword [0x180109fc0]
call qword [sym.imp.GDI32.dll_SelectObject]
mov rcx, qword [0x180109fe8]
call qword [sym.imp.GDI32.dll_DeleteObject]
cmp qword [r14 + 0x520], 0
mov ebp, dword [r14 + 0x9fc]
jne 0x18006355f
mov edx, dword [r14 + 0x9f8]
xor r9d, r9d
mov rcx, qword [0x180109fb8]
sub edx, 5
mov r8d, ebp
call qword [sym.imp.GDI32.dll_MoveToEx]
mov edx, dword [r14 + 0x9f8]
mov r8d, dword [r14 + 0x9fc]
add edx, 5
mov rcx, qword [0x180109fb8]
call qword [sym.imp.GDI32.dll_LineTo]
mov r8d, dword [r14 + 0x9fc]
xor r9d, r9d
mov edx, dword [r14 + 0x9f8]
sub r8d, 5
mov rcx, qword [0x180109fb8]
call qword [sym.imp.GDI32.dll_MoveToEx]
mov r8d, dword [r14 + 0x9fc]
mov edx, dword [r14 + 0x9f8]
add r8d, 5
mov rcx, qword [0x180109fb8]
call qword [sym.imp.GDI32.dll_LineTo]
jmp 0x1800636d8
xor eax, eax
add ebp, 0xfffffffb
mov r12d, eax
mov r15d, eax
cmp byte [r14 + 0x9d9], al
jbe 0x1800636d8
movzx ecx, byte [r14 + 0x9d8]
nop
mov edi, dword [r14 + 0x9f8]
mov esi, eax
sub edi, 5
test cl, cl
je 0x1800636b7
movsxd rax, r15d
lea rbx, [rax*4]
nop
mov rax, qword [r14 + 0x520]
movss xmm0, dword [rbx + rax]
ucomiss xmm0, xmm10
movss dword [0x18010a030], xmm0
jp 0x1800635c0
je 0x18006369f
mov rcx, qword [0x180109fb8]
mov r8d, ebp
mov edx, edi
call qword [sym.imp.GDI32.dll_GetPixel]
movss xmm2, dword [0x18010a030]
movaps xmm3, xmm9
mov r8d, eax
subss xmm3, xmm2
mov rax, qword [r14 + 0x580]
mov edx, dword [rbx + rax]
mov ecx, edx
shr ecx, 0x10
movzx eax, cl
mov ecx, r8d
shr ecx, 0x10
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movzx eax, cl
movd xmm0, eax
mulss xmm1, xmm2
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm3
addss xmm1, xmm0
cvttss2si eax, xmm1
movzx r9d, al
movzx eax, dx
shr ax, 8
movzx eax, ax
shl r9d, 0x10
movd xmm1, eax
movzx eax, r8w
cvtdq2ps xmm1, xmm1
shr ax, 8
movzx eax, ax
movd xmm0, eax
mulss xmm1, xmm2
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm3
addss xmm1, xmm0
cvttss2si eax, xmm1
movzx ecx, al
movzx eax, dl
mov edx, edi
shl ecx, 8
or r9d, ecx
movd xmm1, eax
movzx eax, r8b
mov r8d, ebp
cvtdq2ps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm2
mulss xmm0, xmm3
addss xmm1, xmm0
cvttss2si eax, xmm1
movzx ecx, al
or r9d, ecx
mov rcx, qword [0x180109fb8]
call qword [sym.imp.GDI32.dll_SetPixel]
movzx ecx, byte [r14 + 0x9d8]
inc esi
add rbx, 4
inc edi
cmp esi, ecx
jl 0x1800635a0
movzx eax, cl
inc r12d
add r15d, eax
inc ebp
movzx eax, byte [r14 + 0x9d9]
cmp r12d, eax
mov eax, 0
jl 0x180063580
mov rdx, qword [0x180109fe0]
mov rcx, qword [0x180109fc0]
call qword [sym.imp.GDI32.dll_SelectObject]
mov rcx, qword [0x180109fc0]
call qword [sym.imp.GDI32.dll_DeleteDC]
xor ebp, ebp
cmp byte [r14 + 0x9da], 0
movss xmm12, dword [0x1800e3320]
movss xmm14, dword [0x1800e334c]
movaps xmmword [rsp + 0x150], xmm11
movaps xmmword [rsp + 0x110], xmm15
jne 0x180064595
cmp qword [r14 + 0xa38], 0
mov r13, rbp
mov qword [rsp + 0x88], rbp
je 0x180063829
cmp qword [r14 + 0x528], 0
jne 0x1800637e4
mov rcx, qword [0x180109fb0]
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov rdx, qword [r14 + 0xa38]
mov rcx, rax
mov qword [0x180109fc8], rax
call qword [sym.imp.GDI32.dll_SelectObject]
mov r9d, dword [r14 + 0x60]
xor r8d, r8d
mov rcx, qword [0x180109fb8]
xor edx, edx
mov qword [0x180109fe8], rax
mov eax, dword [r14 + 0x5c]
mov dword [rsp + 0x40], 0xcc0020
mov dword [rsp + 0x38], eax
mov eax, dword [r14 + 0x58]
mov dword [rsp + 0x30], eax
mov rax, qword [0x180109fc8]
mov qword [rsp + 0x28], rax
mov eax, dword [r14 + 0x64]
mov dword [rsp + 0x20], eax
call qword [sym.imp.GDI32.dll_BitBlt]
mov rdx, qword [0x180109fe8]
mov rcx, qword [0x180109fc8]
call qword [sym.imp.GDI32.dll_SelectObject]
mov rcx, qword [0x180109fc8]
call qword [sym.imp.GDI32.dll_DeleteDC]
jmp 0x180063829
mov eax, dword [r14 + 0x64]
xor ecx, ecx
imul eax, dword [r14 + 0x60]
mov r8d, 0x3000
lea r9d, [rcx + 4]
cdqe
lea rdx, [rax + rax*2]
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r13, rax
mov qword [rsp + 0x88], rax
mov eax, dword [r14 + 0x64]
xor edx, edx
imul eax, dword [r14 + 0x60]
mov rcx, r13
cdqe
lea r8, [rax + rax*2]
call fcn.18007d940
movss xmm7, dword [r14 + 0x4ec]
movss xmm11, dword [r14 + 0x4e8]
mov ebx, dword [r14 + 0x60]
movaps xmm6, xmm11
mov esi, dword [r14 + 0x64]
addss xmm6, xmm14
mulss xmm7, xmm12
mov eax, ebx
sar eax, 1
mov r15d, esi
sar r15d, 1
mov dword [rsp + 0x5c], eax
divss xmm7, xmm13
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm6, xmm12
movaps xmm8, xmm0
movss dword [0x180109ff0], xmm0
movd xmm15, r15d
cvtdq2ps xmm15, xmm15
divss xmm6, xmm13
minss xmm8, xmm15
movss dword [0x180109ff4], xmm15
movss dword [0x18010a004], xmm6
movss dword [0x18010a000], xmm7
movaps xmm0, xmm8
movss dword [0x180109ff8], xmm8
mulss xmm0, xmm8
movss dword [rsp + 0x50], xmm0
movss dword [0x180109ffc], xmm0
movaps xmm0, xmm7
call fcn.1800b1080
movaps xmm14, xmm0
movaps xmm0, xmm6
movss dword [0x18010a008], xmm14
call fcn.1800b1ef0
movaps xmm12, xmm0
movaps xmm0, xmm6
mulss xmm12, xmm14
call fcn.1800b1080
movaps xmm13, xmm0
movaps xmm0, xmm7
mulss xmm13, xmm14
call fcn.1800b1ef0
movaps xmm7, xmm0
movaps xmm1, xmm13
movaps xmm0, xmm12
mulss xmm1, xmm13
mulss xmm0, xmm12
movaps xmm2, xmm7
mulss xmm2, xmm7
addss xmm0, xmm1
addss xmm0, xmm2
call fcn.1800b25e8
movzx eax, byte [0x1801073a8]
movaps xmm6, xmm0
movzx edi, byte [r14 + 0x9df]
movss xmm4, dword [0x1800e0294]
movss dword [0x18010a014], xmm6
movd xmm0, eax
movzx eax, byte [0x1801073a9]
movss dword [rsp + 0x60], xmm10
movss dword [rsp + 0x78], xmm10
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x70], xmm0
movd xmm0, eax
movzx eax, byte [0x1801073aa]
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x68], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x6c], xmm0
test dil, dil
je 0x180063a2f
mulss xmm11, dword [0x1800e337c]
mulss xmm8, dword [0x1800e32f4]
divss xmm11, dword [0x1800e3350]
mulss xmm8, xmm14
movaps xmm0, xmm11
movss dword [0x18010a004], xmm11
movss dword [0x18010a008], xmm8
call fcn.1800b1080
mulss xmm0, xmm8
xorps xmm1, xmm1
addss xmm0, dword [0x180109ff0]
addss xmm0, dword [0x1800e0294]
cvttss2si eax, xmm0
movaps xmm0, xmm11
cvtsi2ss xmm1, eax
movss dword [rsp + 0x60], xmm1
call fcn.1800b1ef0
movss xmm4, dword [0x1800e0294]
xorps xmm1, xmm1
mulss xmm0, xmm8
addss xmm0, xmm15
addss xmm0, xmm4
cvttss2si eax, xmm0
cvtsi2ss xmm1, eax
movss dword [rsp + 0x78], xmm1
ucomiss xmm6, xmm10
jp 0x180063a45
jne 0x180063a45
mov dword [0x18010a014], 0x3f800000
movaps xmm6, xmm9
divss xmm12, xmm6
divss xmm13, xmm6
movss dword [0x18010a00c], xmm12
movss dword [0x18010a010], xmm13
divss xmm7, xmm6
movss dword [0x18010a018], xmm7
test r13, r13
jne 0x180064115
mov rbx, qword [0x1801096e8]
movss xmm3, dword [0x1800e3344]
movss xmm1, dword [0x180109ff0]
test rbx, rbx
je 0x180063aa0
movaps xmm2, xmm3
mov ecx, 0xd8
divss xmm2, xmm1
jmp 0x180063aaa
movss xmm2, dword [rsp + 0x5c]
mov ecx, dword [rsp + 0x5c]
movss xmm5, dword [0x1800e0be0]
movaps xmm0, xmm15
movss xmm7, dword [0x1800e0d30]
xorps xmm0, xmm5
cvttss2si eax, xmm0
mov dword [rsp + 0x74], ecx
movss dword [rsp + 0x54], xmm2
mov r12d, eax
mov dword [rsp + 0x64], eax
imul r12d, eax
movd xmm6, eax
cvtdq2ps xmm6, xmm6
comiss xmm15, xmm6
movss dword [rsp + 0x58], xmm6
jb 0x180063ffb
movss xmm12, dword [0x1800e02b4]
lea ebp, [r15 + rax]
mov r15d, dword [rsp + 0x5c]
mov edx, 0x47
movss xmm14, dword [rsp + 0x5c]
xor r13d, r13d
movss xmm13, dword [rsp + 0x5c]
nop dword [rax]
test rbx, rbx
je 0x180063b51
movaps xmm0, xmm2
mov r15d, r13d
mulss xmm0, xmm6
addss xmm0, xmm3
addss xmm0, xmm4
cvttss2si eax, xmm0
test eax, eax
cmovns r15d, eax
mov eax, dword [rsp + 0x64]
cmp r15d, 0x48
cmovge r15d, edx
imul r15d, ecx
movaps xmm0, xmm1
xorps xmm0, xmm5
cvttss2si edi, xmm0
movd xmm11, edi
cvtdq2ps xmm11, xmm11
comiss xmm1, xmm11
jb 0x180063fb9
mov esi, dword [rsp + 0x5c]
movss xmm0, dword [rsp + 0x50]
add esi, edi
nop word [rax + rax]
mov eax, edi
imul eax, edi
add eax, r12d
movd xmm1, eax
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
jb 0x180063f80
subss xmm0, xmm1
call fcn.1800b25e8
movaps xmm7, xmm0
ucomiss xmm7, xmm10
movss dword [0x18010a01c], xmm7
jp 0x180063bc2
jne 0x180063bc2
mov dword [0x18010a01c], 0x3f800000
movaps xmm0, xmm9
divss xmm6, xmm0
movaps xmm8, xmm11
divss xmm8, xmm0
movaps xmm0, xmm6
mulss xmm0, xmm6
movaps xmm1, xmm8
mulss xmm1, xmm8
addss xmm0, xmm1
addss xmm0, xmm9
call fcn.1800b25e8
ucomiss xmm0, xmm10
movss dword [0x18010a014], xmm0
movaps xmm1, xmm0
jp 0x180063c0e
jne 0x180063c0e
mov dword [0x18010a014], 0x3f800000
movaps xmm1, xmm9
divss xmm6, xmm1
divss xmm8, xmm1
movss dword [0x18010a024], xmm6
movaps xmm0, xmm9
mulss xmm6, dword [0x18010a010]
divss xmm0, xmm1
movss dword [0x18010a020], xmm8
mulss xmm8, dword [0x18010a00c]
movss dword [0x18010a028], xmm0
mulss xmm0, dword [0x18010a018]
addss xmm6, xmm8
addss xmm6, xmm0
comiss xmm10, xmm6
jbe 0x180063c64
movaps xmm6, xmm10
movaps xmm8, xmm6
mulss xmm8, xmm6
mulss xmm8, xmm6
cmp byte [r14 + 0x9df], r13b
jne 0x180063ca3
movss xmm1, dword [0x1800e0d50]
movaps xmm0, xmm8
call fcn.1800b4730
addss xmm0, xmm8
mulss xmm0, dword [0x1800e3358]
addss xmm0, dword [0x1800e0d5c]
jmp 0x180063cd9
cmp byte [r14 + 0x78], r13b
jne 0x180063cb3
movss xmm1, dword [0x1800e3338]
jmp 0x180063cbb
movss xmm1, dword [0x1800e0d30]
movaps xmm0, xmm8
call fcn.1800b4730
movaps xmm13, xmm9
movaps xmm14, xmm0
subss xmm13, xmm0
mulss xmm0, dword [0x1800e0d64]
comiss xmm10, xmm0
movss dword [0x18010a02c], xmm0
jbe 0x180063cf4
mov dword [0x18010a02c], r13d
movaps xmm0, xmm10
jmp 0x180063d08
comiss xmm0, xmm12
jbe 0x180063d08
mov dword [0x18010a02c], 0x437f0000
movaps xmm0, xmm12
test rbx, rbx
je 0x180063ed3
movss xmm2, dword [rsp + 0x54]
mov ecx, r13d
movss xmm3, dword [0x1800e3344]
movaps xmm0, xmm2
movss xmm4, dword [0x1800e0294]
mulss xmm0, xmm11
addss xmm0, xmm3
addss xmm0, xmm4
cvttss2si eax, xmm0
test eax, eax
cmovns ecx, eax
mov eax, 0x47
cmp ecx, 0x48
cmovge r15d, eax
lea eax, [r15 + rcx*2]
add eax, ecx
cdqe
cmp byte [r14 + 0x7c], r13b
je 0x180063d6e
movzx edx, byte [rax + rbx]
movzx r8d, byte [rax + rbx + 1]
movzx ecx, byte [rax + rbx + 2]
jmp 0x180063d7a
movzx ecx, byte [rax + rbx + 1]
movzx r8d, cl
movzx edx, cl
divss xmm7, dword [0x1800e333c]
movzx eax, dl
xorps xmm0, xmm0
movaps xmm1, xmm14
comiss xmm9, xmm7
cvtsi2ss xmm0, eax
movzx eax, r8b
mulss xmm1, xmm12
mulss xmm0, xmm13
addss xmm0, xmm1
cvttss2si edx, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, cl
mulss xmm0, xmm13
addss xmm0, xmm1
cvttss2si r8d, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mulss xmm0, xmm13
addss xmm0, xmm1
cvttss2si ecx, xmm0
jbe 0x180063eba
comiss xmm7, xmm10
jbe 0x180063f74
movaps xmm2, xmm9
movzx eax, r8b
subss xmm2, xmm7
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movaps xmm0, xmm2
mulss xmm0, dword [rsp + 0x68]
mulss xmm1, xmm7
addss xmm1, xmm0
movaps xmm0, xmm12
minss xmm0, xmm1
cvttss2si eax, xmm0
movaps xmm0, xmm2
mulss xmm2, dword [rsp + 0x70]
movzx r9d, al
mulss xmm0, dword [rsp + 0x6c]
movzx eax, cl
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm7
addss xmm1, xmm0
movaps xmm0, xmm12
minss xmm0, xmm1
cvttss2si eax, xmm0
movaps xmm0, xmm12
movzx ecx, al
movzx eax, dl
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm7
addss xmm1, xmm2
minss xmm0, xmm1
shl ecx, 0x10
cvttss2si eax, xmm0
shl r9d, 8
or r9d, ecx
movzx ecx, al
or r9d, ecx
mov rcx, qword [0x180109fb8]
mov r8d, ebp
mov edx, esi
call qword [sym.imp.GDI32.dll_SetPixel]
movss xmm0, dword [0x180109ffc]
mov rbx, qword [0x1801096e8]
movss xmm2, dword [rsp + 0x54]
movss xmm3, dword [0x1800e3344]
movss xmm4, dword [0x1800e0294]
movss dword [rsp + 0x50], xmm0
jmp 0x180063f7a
movzx r9d, r8b
shl r9d, 8
movzx eax, cl
shl eax, 0x10
or r9d, eax
movzx eax, dl
or r9d, eax
jmp 0x180063e78
divss xmm7, dword [0x1800e333c]
cvttss2si eax, xmm0
comiss xmm9, xmm7
jbe 0x180063f47
comiss xmm7, xmm10
jbe 0x180063f5e
movaps xmm2, xmm9
subss xmm2, xmm7
mulss xmm7, xmm0
movaps xmm0, xmm12
movaps xmm1, xmm2
mulss xmm1, dword [rsp + 0x68]
addss xmm1, xmm7
minss xmm0, xmm1
movaps xmm1, xmm2
mulss xmm1, dword [rsp + 0x6c]
mulss xmm2, dword [rsp + 0x70]
cvttss2si eax, xmm0
movaps xmm0, xmm12
addss xmm1, xmm7
movzx r9d, al
addss xmm2, xmm7
minss xmm0, xmm1
cvttss2si eax, xmm0
movaps xmm0, xmm12
movzx ecx, al
minss xmm0, xmm2
jmp 0x180063e64
movzx ecx, al
mov r9d, ecx
mov eax, ecx
shl r9d, 8
shl eax, 0x10
or r9d, eax
jmp 0x180063e75
movss xmm2, dword [rsp + 0x54]
movss xmm3, dword [0x1800e3344]
movss xmm4, dword [0x1800e0294]
movss xmm0, dword [rsp + 0x50]
movss xmm6, dword [rsp + 0x58]
movss xmm1, dword [0x180109ff0]
inc edi
inc esi
movd xmm11, edi
cvtdq2ps xmm11, xmm11
comiss xmm1, xmm11
jae 0x180063b80
movss xmm15, dword [0x180109ff4]
mov edx, 0x47
movss xmm5, dword [0x1800e0be0]
mov eax, dword [rsp + 0x64]
mov ecx, dword [rsp + 0x74]
inc eax
mov r12d, eax
mov dword [rsp + 0x64], eax
inc ebp
imul r12d, eax
movd xmm6, eax
cvtdq2ps xmm6, xmm6
comiss xmm15, xmm6
movss dword [rsp + 0x58], xmm6
jae 0x180063b20
movzx edi, byte [r14 + 0x9df]
movss xmm7, dword [0x1800e0d30]
mov r13, qword [rsp + 0x88]
test dil, dil
je 0x180064317
cmp byte [r14 + 0x7c], 0
je 0x180064030
mov ecx, 7
call qword [sym.imp.GDI32.dll_GetStockObject]
mov rcx, qword [0x180109fb8]
mov rdx, rax
call qword [sym.imp.GDI32.dll_SelectObject]
mov rdi, qword [rsp + 0x80]
jmp 0x180064056
mov edx, 1
xor ecx, ecx
mov r8d, 0x7f7f7f
call qword [sym.imp.GDI32.dll_CreatePen]
mov rcx, qword [0x180109fb8]
mov rdx, rax
mov rdi, rax
call qword [sym.imp.GDI32.dll_SelectObject]
movss xmm11, dword [rsp + 0x60]
xor r9d, r9d
movss xmm8, dword [rsp + 0x78]
movaps xmm0, xmm11
subss xmm0, dword [0x1800e0d18]
mov rcx, qword [0x180109fb8]
mov rsi, rax
cvttss2si ebx, xmm8
cvttss2si edx, xmm0
mov r8d, ebx
call qword [sym.imp.GDI32.dll_MoveToEx]
mov rcx, qword [0x180109fb8]
movaps xmm0, xmm11
addss xmm0, xmm7
mov r8d, ebx
cvttss2si edx, xmm0
call qword [sym.imp.GDI32.dll_LineTo]
mov rcx, qword [0x180109fb8]
movaps xmm0, xmm8
subss xmm0, dword [0x1800e0d18]
cvttss2si ebx, xmm11
xor r9d, r9d
cvttss2si r8d, xmm0
mov edx, ebx
call qword [sym.imp.GDI32.dll_MoveToEx]
mov rcx, qword [0x180109fb8]
addss xmm8, xmm7
mov edx, ebx
cvttss2si r8d, xmm8
call qword [sym.imp.GDI32.dll_LineTo]
mov rcx, qword [0x180109fb8]
mov rdx, rsi
call qword [sym.imp.GDI32.dll_SelectObject]
cmp byte [r14 + 0x7c], 0
jne 0x180064317
mov rcx, rdi
call qword [sym.imp.GDI32.dll_DeleteObject]
jmp 0x180064317
movss xmm2, dword [0x1800e0be0]
lea r15d, [rsi - 1]
movaps xmm0, xmm15
imul r15d, ebx
xorps xmm0, xmm2
cvttss2si ebp, xmm0
movd xmm11, ebp
cvtdq2ps xmm11, xmm11
comiss xmm15, xmm11
jbe 0x180064317
movss xmm1, dword [0x180109ff0]
movss xmm12, dword [0x1800e3358]
movaps xmm0, xmm1
movss xmm13, dword [0x1800e0d5c]
xorps xmm0, xmm2
movss xmm8, dword [0x1800e02b4]
cvttss2si r12d, xmm0
mov ebx, r12d
movd xmm7, ebx
cvtdq2ps xmm7, xmm7
comiss xmm1, xmm7
jbe 0x1800642fe
movss xmm15, dword [rsp + 0x50]
mov esi, ebp
cvttss2si edi, xmm1
imul esi, ebp
add edi, ebx
add edi, r15d
nop dword [rax]
mov eax, ebx
imul eax, ebx
add eax, esi
movd xmm1, eax
cvtdq2ps xmm1, xmm1
comiss xmm15, xmm1
jb 0x1800642d9
movaps xmm0, xmm15
subss xmm0, xmm1
call fcn.1800b25e8
ucomiss xmm0, xmm10
movss dword [0x18010a01c], xmm0
jp 0x1800641e3
jne 0x1800641e3
mov dword [0x18010a01c], 0x3f800000
movaps xmm0, xmm9
divss xmm7, xmm0
movaps xmm6, xmm11
divss xmm6, xmm0
movaps xmm1, xmm7
movaps xmm0, xmm6
mulss xmm1, xmm7
mulss xmm0, xmm6
addss xmm0, xmm1
addss xmm0, xmm9
call fcn.1800b25e8
ucomiss xmm0, xmm10
movss dword [0x18010a014], xmm0
movaps xmm1, xmm0
jp 0x18006422c
jne 0x18006422c
mov dword [0x18010a014], 0x3f800000
movaps xmm1, xmm9
divss xmm6, xmm1
divss xmm7, xmm1
movss dword [0x18010a024], xmm6
movaps xmm0, xmm9
mulss xmm6, dword [0x18010a010]
divss xmm0, xmm1
movss dword [0x18010a020], xmm7
mulss xmm7, dword [0x18010a00c]
movss dword [0x18010a028], xmm0
mulss xmm0, dword [0x18010a018]
addss xmm6, xmm7
addss xmm6, xmm0
movaps xmm1, xmm6
mulss xmm1, xmm6
mulss xmm1, xmm6
mulss xmm1, xmm12
addss xmm1, xmm13
comiss xmm10, xmm1
movss dword [0x18010a02c], xmm1
jbe 0x1800642a5
mov dword [0x18010a02c], 0
movaps xmm1, xmm10
comiss xmm1, xmm8
jbe 0x1800642b9
mov dword [0x18010a02c], 0x437f0000
movaps xmm1, xmm8
movsxd rdx, edi
cvttss2si ecx, xmm1
lea rax, [rdx*2]
add rax, r13
add rdx, rax
movzx eax, cl
mov byte [rdx], al
mov byte [rdx + 1], al
mov byte [rdx + 2], al
movss xmm1, dword [0x180109ff0]
inc ebx
inc edi
movd xmm7, ebx
cvtdq2ps xmm7, xmm7
comiss xmm1, xmm7
ja 0x1800641a0
movss xmm15, dword [0x180109ff4]
sub r15d, dword [r14 + 0x60]
inc ebp
movd xmm11, ebp
cvtdq2ps xmm11, xmm11
comiss xmm15, xmm11
ja 0x180064171
xor ebp, ebp
cmp qword [r14 + 0xa38], rbp
je 0x18006457d
cmp qword [r14 + 0x528], rbp
je 0x18006457d
mov ebx, ebp
mov r11d, ebp
cmp dword [r14 + 0x64], ebx
jle 0x1800644c9
mov eax, dword [r14 + 0x60]
nop word [rax + rax]
mov r10d, ebp
test eax, eax
jle 0x1800644ba
movsxd rax, ebx
lea r8, [rax + rax*2]
lea r9, [rax*4]
nop word [rax + rax]
mov rax, qword [r14 + 0x528]
movss xmm3, dword [r9 + rax]
ucomiss xmm3, xmm10
movss dword [0x18010a030], xmm3
jp 0x1800643b5
jne 0x1800643b5
mov rcx, qword [r14 + 0x9c8]
mov rdx, qword [r14 + 0x9c0]
movzx eax, word [rcx + r8]
mov word [r8 + rdx], ax
movzx eax, byte [rcx + r8 + 2]
mov byte [r8 + rdx + 2], al
jmp 0x1800644a2
ucomiss xmm3, xmm9
jp 0x1800643de
jne 0x1800643de
movzx eax, word [r8 + r13]
mov rcx, qword [r14 + 0x9c0]
mov word [r8 + rcx], ax
movzx eax, byte [r8 + r13 + 2]
mov byte [r8 + rcx + 2], al
jmp 0x1800644a2
mov rax, qword [r14 + 0x9c8]
movaps xmm2, xmm9
subss xmm2, xmm3
movzx ecx, byte [r8 + rax + 2]
movzx eax, byte [r8 + r13 + 2]
movss dword [0x18010a034], xmm2
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
movd xmm0, eax
mov rax, qword [r14 + 0x9c0]
mulss xmm1, xmm2
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm3
addss xmm1, xmm0
cvttss2si ecx, xmm1
mov byte [r8 + rax + 2], cl
mov rax, qword [r14 + 0x9c8]
movzx ecx, byte [r8 + rax + 1]
movzx eax, byte [r8 + r13 + 1]
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
movd xmm0, eax
mov rax, qword [r14 + 0x9c0]
mulss xmm1, xmm2
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm3
addss xmm1, xmm0
cvttss2si ecx, xmm1
mov byte [rax + r8 + 1], cl
mov rax, qword [r14 + 0x9c8]
movzx ecx, byte [r8 + rax]
movzx eax, byte [r8 + r13]
movd xmm1, ecx
movd xmm0, eax
mov rax, qword [r14 + 0x9c0]
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm2
mulss xmm0, xmm3
addss xmm1, xmm0
cvttss2si ecx, xmm1
mov byte [r8 + rax], cl
mov eax, dword [r14 + 0x60]
inc r10d
add r9, 4
add r8, 3
cmp r10d, eax
jl 0x180064370
inc r11d
add ebx, eax
cmp r11d, dword [r14 + 0x64]
jl 0x180064350
mov r9, qword [r14 + 0x9c0]
lea rdx, [r14 + 0x590]
mov rcx, qword [0x180109fb0]
mov r8d, 4
mov dword [rsp + 0x28], ebp
mov qword [rsp + 0x20], rdx
call qword [sym.imp.GDI32.dll_CreateDIBitmap]
mov rcx, qword [0x180109fc0]
mov rdx, rax
mov qword [0x180109fe8], rax
call qword [sym.imp.GDI32.dll_SelectObject]
mov r9d, dword [r14 + 0x60]
xor r8d, r8d
mov rcx, qword [0x180109fb8]
xor edx, edx
mov dword [rsp + 0x40], 0xcc0020
mov qword [0x180109fe0], rax
mov rax, qword [0x180109fc0]
mov dword [rsp + 0x38], ebp
mov dword [rsp + 0x30], ebp
mov qword [rsp + 0x28], rax
mov eax, dword [r14 + 0x64]
mov dword [rsp + 0x20], eax
call qword [sym.imp.GDI32.dll_BitBlt]
mov rdx, qword [0x180109fe0]
mov rcx, qword [0x180109fc0]
call qword [sym.imp.GDI32.dll_SelectObject]
mov rcx, qword [0x180109fe8]
call qword [sym.imp.GDI32.dll_DeleteObject]
xor edx, edx
mov r8d, 0x8000
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_VirtualFree]
movss xmm12, dword [0x1800e3320]
mov r13d, 0xff
movss xmm14, dword [0x1800e334c]
movzx eax, byte [r14 + 0x9da]
cmp al, 1
jne 0x1800648cb
mov r15d, dword [r14 + 0x60]
xorps xmm0, xmm0
mov r12d, dword [r14 + 0x64]
movss xmm7, dword [r14 + 0x4e8]
sar r15d, 1
addss xmm7, xmm14
sar r12d, 1
cvtsi2ss xmm0, r15d
mulss xmm7, xmm12
cvtps2pd xmm1, xmm0
divss xmm7, dword [0x1800e3350]
divsd xmm1, qword [0x1800e3310]
xorps xmm0, xmm0
movss dword [0x18010a004], xmm7
cvtpd2ps xmm11, xmm1
cvtsi2ss xmm0, r12d
movaps xmm8, xmm11
movss dword [0x180109ff0], xmm11
cvtps2pd xmm1, xmm0
movss xmm0, dword [r14 + 0x4ec]
divsd xmm1, qword [0x1800e3310]
mulss xmm0, xmm12
cvtpd2ps xmm13, xmm1
divss xmm0, dword [0x1800e3350]
mulss xmm8, xmm11
movss dword [0x180109ff4], xmm13
movss dword [0x18010a000], xmm0
movss dword [0x180109ffc], xmm8
call fcn.1800b1080
movaps xmm6, xmm0
movaps xmm0, xmm7
movss dword [0x18010a008], xmm6
call fcn.1800b1ef0
movaps xmm14, xmm0
movaps xmm0, xmm7
mulss xmm14, xmm6
call fcn.1800b1080
movaps xmm15, xmm0
movaps xmm0, xmm14
mulss xmm0, xmm14
mulss xmm15, xmm6
movaps xmm1, xmm15
mulss xmm1, xmm15
addss xmm0, xmm1
addss xmm0, xmm10
call fcn.1800b25e8
ucomiss xmm0, xmm10
movss dword [0x18010a014], xmm0
jp 0x1800646b8
jne 0x1800646b8
mov dword [0x18010a014], 0x3f800000
movaps xmm0, xmm9
divss xmm14, xmm0
divss xmm15, xmm0
movaps xmm1, xmm10
movss dword [0x18010a00c], xmm14
divss xmm1, xmm0
movaps xmm0, xmm13
movss dword [0x18010a010], xmm15
movss dword [rsp + 0x60], xmm1
movss dword [0x18010a018], xmm1
movss xmm1, dword [0x1800e0be0]
xorps xmm0, xmm1
cvttss2si edi, xmm0
movd xmm12, edi
cvtdq2ps xmm12, xmm12
comiss xmm13, xmm12
jbe 0x180064a9c
movaps xmm0, xmm11
xorps xmm0, xmm1
cvttss2si ebx, xmm0
movd xmm7, ebx
cvtdq2ps xmm7, xmm7
comiss xmm11, xmm7
jbe 0x1800648ae
mov esi, edi
imul esi, edi
mov eax, ebx
imul eax, ebx
add eax, esi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm8, xmm0
jb 0x18006488a
subss xmm8, xmm0
movaps xmm0, xmm8
call fcn.1800b25e8
ucomiss xmm0, xmm10
movss dword [0x18010a01c], xmm0
jp 0x180064775
jne 0x180064775
mov dword [0x18010a01c], 0x3f800000
movaps xmm0, xmm9
divss xmm7, xmm0
movaps xmm6, xmm12
divss xmm6, xmm0
movaps xmm1, xmm7
movaps xmm0, xmm6
mulss xmm1, xmm7
mulss xmm0, xmm6
addss xmm0, xmm1
addss xmm0, xmm9
call fcn.1800b25e8
ucomiss xmm0, xmm10
movss dword [0x18010a014], xmm0
movaps xmm1, xmm0
jp 0x1800647be
jne 0x1800647be
mov dword [0x18010a014], 0x3f800000
movaps xmm1, xmm9
divss xmm6, xmm1
mov ecx, ebp
lea r8d, [r12 + rdi]
divss xmm7, xmm1
movss dword [0x18010a024], xmm6
movaps xmm0, xmm9
divss xmm0, xmm1
movss dword [0x18010a020], xmm7
movss dword [0x18010a028], xmm0
mulss xmm0, dword [rsp + 0x60]
mulss xmm6, xmm15
mulss xmm7, xmm14
addss xmm6, xmm7
addss xmm6, xmm0
xorps xmm0, xmm0
cvtss2sd xmm0, xmm6
mulsd xmm0, qword [0x1800e1f40]
cvtpd2ps xmm1, xmm0
cvttss2si edx, xmm1
movss dword [0x18010a02c], xmm1
cmp edx, r13d
cmovg edx, r13d
movzx eax, dl
test edx, edx
cmovns ecx, eax
movzx edx, cl
mov rcx, qword [0x180109fb8]
mov r9d, edx
mov eax, edx
shl r9d, 8
shl eax, 0x10
or r9d, eax
or r9d, edx
lea edx, [r15 + rbx]
call qword [sym.imp.GDI32.dll_SetPixel]
movss xmm0, dword [0x18010a018]
movss xmm11, dword [0x180109ff0]
movss xmm8, dword [0x180109ffc]
movss xmm14, dword [0x18010a00c]
movss xmm15, dword [0x18010a010]
movss dword [rsp + 0x60], xmm0
inc ebx
movd xmm7, ebx
cvtdq2ps xmm7, xmm7
comiss xmm11, xmm7
ja 0x180064731
movss xmm13, dword [0x180109ff4]
movss xmm1, dword [0x1800e0be0]
inc edi
movd xmm12, edi
cvtdq2ps xmm12, xmm12
comiss xmm13, xmm12
ja 0x180064710
movzx eax, byte [r14 + 0x9da]
cmp al, 2
jne 0x180064a9c
mov edx, dword [r14 + 0x60]
xor r9d, r9d
mov rcx, qword [0x180109fb8]
sar edx, 1
mov r8d, edx
call qword [sym.imp.GDI32.dll_MoveToEx]
mov r8d, dword [r14 + 0x9fc]
mov edx, dword [r14 + 0x9f8]
mov rcx, qword [0x180109fb8]
call qword [sym.imp.GDI32.dll_LineTo]
mov rdx, qword [r14 + 0xa20]
mov rcx, qword [0x180109fc0]
call qword [sym.imp.GDI32.dll_SelectObject]
mov rcx, qword [0x180109fc0]
xor r8d, r8d
xor edx, edx
call qword [sym.imp.GDI32.dll_GetPixel]
mov r15d, ebp
mov edi, ebp
mov rcx, qword [0x180109fc0]
mov r8d, edi
mov edx, r15d
call qword [sym.imp.GDI32.dll_GetPixel]
mov r8d, dword [r14 + 0x9fc]
mov ecx, eax
shr ecx, 0x10
mov r9d, eax
movzx r12d, cl
movzx ebp, al
movzx esi, ax
mov eax, r12d
shr esi, 8
cmp ebp, esi
mov ecx, esi
cmova ecx, ebp
cmp ecx, r12d
cmova eax, ecx
mov ecx, dword [r14 + 0x9f8]
add r8d, 0xfffffff7
add ecx, r15d
add r8d, edi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
cvttss2si r10d, xmm0
cmp r10d, 0x71
jle 0x1800649ab
lea edx, [rcx - 9]
mov rcx, qword [0x180109fb8]
call qword [sym.imp.GDI32.dll_SetPixel]
xor ebp, ebp
jmp 0x180064a84
mov eax, 0x80808081
imul r10d
lea ebx, [r10 + rdx]
sar ebx, 7
lea edx, [rcx - 9]
mov rcx, qword [0x180109fb8]
mov eax, ebx
shr eax, 0x1f
add ebx, eax
call qword [sym.imp.GDI32.dll_GetPixel]
imul ebp, ebx
mov edx, 1
sub edx, ebx
movzx r11d, ax
shr r11d, 8
mov ecx, eax
imul r11d, edx
shr ecx, 0x10
movzx r9d, al
mov eax, ebx
imul r9d, edx
imul eax, esi
imul ebx, r12d
movzx r10d, cl
imul r10d, edx
add r9d, ebp
add r11d, eax
add r10d, ebx
cmp r9d, r13d
cmovg r9d, r13d
xor ebp, ebp
test r9d, r9d
mov r8d, ebp
mov edx, ebp
mov ecx, ebp
cmovns r8d, r9d
cmp r11d, r13d
cmovg r11d, r13d
test r11d, r11d
cmovns edx, r11d
cmp r10d, r13d
cmovg r10d, r13d
movzx eax, r10b
test r10d, r10d
cmovns ecx, eax
movzx eax, dl
mov edx, dword [r14 + 0x9f8]
movzx r9d, cl
add edx, 0xfffffff7
mov rcx, qword [0x180109fb8]
add edx, r15d
shl r9d, 0x10
shl eax, 8
or r9d, eax
movzx eax, r8b
mov r8d, dword [r14 + 0x9fc]
or r9d, eax
add r8d, 0xfffffff7
add r8d, edi
call qword [sym.imp.GDI32.dll_SetPixel]
inc edi
cmp edi, 0x11
jl 0x180064932
inc r15d
cmp r15d, 0x11
jl 0x180064930
mov rcx, qword [0x180109fc0]
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rax, qword [0x180109fb8]
xor r8d, r8d
mov r9d, dword [r14 + 0x60]
xor edx, edx
mov rcx, qword [0x180109fb0]
mov dword [rsp + 0x40], 0xcc0020
mov dword [rsp + 0x38], ebp
mov dword [rsp + 0x30], ebp
mov qword [rsp + 0x28], rax
mov eax, dword [r14 + 0x64]
mov dword [rsp + 0x20], eax
call qword [sym.imp.GDI32.dll_BitBlt]
mov rdx, qword [0x180109fd8]
mov rcx, qword [0x180109fb8]
call qword [sym.imp.GDI32.dll_SelectObject]
mov rcx, qword [0x180109fd0]
call qword [sym.imp.GDI32.dll_DeleteObject]
mov rcx, qword [0x180109fb8]
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rcx, qword [rsp + 0x80]
lea rdx, [rsp + 0xa0]
call qword [sym.imp.USER32.dll_EndPaint]
movaps xmm15, xmmword [rsp + 0x110]
movaps xmm14, xmmword [rsp + 0x120]
movaps xmm13, xmmword [rsp + 0x130]
movaps xmm12, xmmword [rsp + 0x140]
movaps xmm11, xmmword [rsp + 0x150]
movaps xmm10, xmmword [rsp + 0x160]
jmp 0x180065517
mov byte [rcx + 0x7c], bl
mov rcx, qword [rcx + 0x9e0]
test rcx, rcx
je 0x180064b79
mov edx, ebx
call qword [sym.imp.USER32.dll_EnableWindow]
mov rcx, qword [r14 + 0x9f0]
test rcx, rcx
je 0x180064b8d
mov edx, ebx
call qword [sym.imp.USER32.dll_EnableWindow]
mov rcx, qword [r14 + 0x9e8]
test rcx, rcx
je 0x180065517
mov edx, ebx
call qword [sym.imp.USER32.dll_EnableWindow]
jmp 0x180065517
mov rcx, qword [rcx + 0xa28]
test rcx, rcx
je 0x180064bc3
call qword [sym.imp.GDI32.dll_DeleteObject]
mov qword [r14 + 0xa28], rbp
mov rcx, qword [r14 + 0xa30]
test rcx, rcx
je 0x180064d50
call qword [sym.imp.GDI32.dll_DeleteObject]
xor eax, eax
mov qword [r14 + 0xa30], rbp
jmp 0x18006551a
mov eax, dword [rcx + 0x60]
sar eax, 1
mov dword [rcx + 0x9f8], eax
mov eax, dword [rcx + 0x64]
sar eax, 1
mov dword [rcx + 0x9fc], eax
jmp 0x180065517
mov rdx, rbx
movzx ecx, bx
shr rdx, 0x10
sub ecx, 1
je 0x180064d36
sub ecx, 1
je 0x180064cee
cmp ecx, 1
jne 0x180065517
cmp r12b, 4
jne 0x180064c5c
movss xmm0, dword [r14 + 0x508]
mov rcx, r14
subss xmm0, dword [0x1800e0298]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [r14 + 0x508], xmm1
call fcn.18005bd00
jmp 0x180064cb8
movss xmm0, dword [r14 + 0x4e8]
subss xmm0, dword [0x1800e0298]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [r14 + 0x4e8], xmm1
cmp byte [r14 + 0x9dd], bpl
je 0x180064cad
minss xmm1, dword [r14 + 0x510]
movss xmm0, dword [r14 + 0x50c]
comiss xmm1, xmm0
ja 0x180064ca4
movaps xmm1, xmm0
movss dword [r14 + 0x4e8], xmm1
xorps xmm2, xmm2
mov rcx, r14
call fcn.18005bdc0
cmp qword [rsp + 0x220], 1
je 0x180065517
mov rcx, qword [r14 + 0x10]
movsxd rbx, dword [r14 + 0x28]
call qword [sym.imp.USER32.dll_GetParent]
xor r9d, r9d
mov r8, rbx
mov rcx, rax
mov edx, 0x111
call qword [sym.imp.USER32.dll_SendMessageA]
jmp 0x180065517
cmp r12b, 4
jne 0x180064d15
movss xmm0, dword [r14 + 0x508]
addss xmm0, dword [0x1800e0298]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
jmp 0x180064da8
movss xmm0, dword [r14 + 0x4e8]
addss xmm0, dword [0x1800e0298]
cvttss2si eax, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
jmp 0x180064dc7
cmp dx, 0x1b
jne 0x180064d57
movss xmm1, dword [r14 + 0x4e8]
xorps xmm2, xmm2
mov rcx, r14
call fcn.18005bdc0
xor eax, eax
jmp 0x18006551a
mov ecx, 0x200
cmp dx, cx
je 0x180064d6f
mov eax, 0x501
cmp dx, ax
jne 0x180065517
mov rcx, qword [r14 + 0x9e0]
lea rdx, [rsp + 0xf0]
mov r8d, reloc.WS2_32.dll_recv
call qword [sym.imp.USER32.dll_GetWindowTextA]
cmp byte [r14 + 0x9da], 4
lea rcx, [rsp + 0xf0]
jne 0x180064dbb
call fcn.1800ac710
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
mov rcx, r14
movss dword [r14 + 0x508], xmm1
call fcn.18005bd00
jmp 0x180064e07
call fcn.1800ac710
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movss dword [r14 + 0x4e8], xmm1
cmp byte [r14 + 0x9dd], bpl
je 0x180064dfc
minss xmm1, dword [r14 + 0x510]
movss xmm0, dword [r14 + 0x50c]
comiss xmm1, xmm0
ja 0x180064df3
movaps xmm1, xmm0
movss dword [r14 + 0x4e8], xmm1
xorps xmm2, xmm2
mov rcx, r14
call fcn.18005bdc0
mov rcx, qword [r14 + 0x10]
movsxd rbx, dword [r14 + 0x28]
call qword [sym.imp.USER32.dll_GetParent]
xor r9d, r9d
mov r8, rbx
mov rcx, rax
mov edx, 0x111
call qword [sym.imp.USER32.dll_SendMessageA]
jmp 0x180065517
mov eax, r10d
mov ecx, 0x200
sub eax, ecx
je 0x1800651f8
sub eax, 1
je 0x180064ee6
sub eax, 1
je 0x180064e9a
cmp eax, 2
je 0x180064e70
mov r9, qword [rsp + 0x220]
mov r8, rbx
mov edx, r10d
mov rcx, r15
call qword [sym.imp.USER32.dll_DefWindowProcA]
mov rbp, rax
jmp 0x180065517
mov r8, qword [r14 + 0x10]
lea r9, [0x180059e80]
mov byte [r14 + 0x78], bpl
mov edx, 0x3af4
mov rcx, qword [0x1801086e8]
mov qword [rsp + 0x20], r14
call fcn.180001b40
jmp 0x180065517
mov byte [r14 + 0x78], bpl
call qword [sym.imp.USER32.dll_ReleaseCapture]
movsxd rbx, dword [r14 + 0x28]
mov rcx, r15
call qword [sym.imp.USER32.dll_GetParent]
xor r9d, r9d
mov r8, rbx
mov rcx, rax
mov edx, 0x111
call qword [sym.imp.USER32.dll_SendMessageA]
mov r9d, 0x101
xor r8d, r8d
xor edx, edx
mov rcx, r15
call qword [sym.imp.USER32.dll_RedrawWindow]
mov byte [r14 + 0x9db], 1
jmp 0x180065517
mov byte [r14 + 0x78], 1
mov byte [r14 + 0x9db], 1
cmp byte [r14 + 0x9dd], bpl
je 0x180064f03
mov dword [r14 + 0x4f0], ebp
mov rax, qword [rsp + 0x220]
mov esi, dword [r14 + 0x60]
mov r15d, dword [r14 + 0x64]
movsx edi, ax
shr rax, 0x10
sar esi, 1
sar r15d, 1
movsx ebp, ax
cmp r12b, 3
jne 0x180064f5a
cmp qword [r14 + 0x9e0], 0
je 0x180064f5a
cmp edi, dword [r14 + 0x570]
jl 0x180064f5a
cmp edi, dword [r14 + 0x578]
jge 0x180064f5a
cmp ebp, dword [r14 + 0x574]
jl 0x180064f5a
cmp ebp, dword [r14 + 0x57c]
jl 0x180064d50
mov rcx, qword [r14 + 0x10]
call qword [sym.imp.USER32.dll_SetCapture]
mov eax, esi
sub eax, edi
movd xmm0, eax
mov eax, r15d
cvtdq2ps xmm0, xmm0
sub eax, ebp
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
call fcn.1800b25e8
mov eax, dword [r14 + 0x60]
movss xmm2, dword [0x1800e0298]
sar eax, 1
sub eax, 2
movd xmm1, eax
cvtdq2ps xmm1, xmm1
divss xmm0, xmm1
minss xmm2, xmm0
movss xmm0, dword [0x1800e02bc]
maxss xmm0, xmm2
call fcn.1800b4434
movsd xmm7, qword [0x1800e3328]
xorps xmm1, xmm1
movzx ebx, byte [r14 + 0x9da]
movss xmm8, dword [0x1800e3364]
cvtss2sd xmm1, xmm0
mulsd xmm1, xmm7
cvtpd2ps xmm0, xmm1
movss dword [r14 + 0x4ec], xmm0
cmp ebp, r15d
jne 0x180065062
test bl, bl
jne 0x18006502c
cmp edi, esi
js 0x180065005
movss xmm0, dword [0x1800e334c]
jmp 0x18006500d
movss xmm0, dword [0x1800e335c]
movss dword [r14 + 0x4e8], xmm0
movzx ebx, byte [r14 + 0x9da]
movss xmm3, dword [r14 + 0x4f4]
jmp 0x1800651b0
cmp edi, esi
jl 0x180065049
movss xmm3, dword [r14 + 0x4f4]
mov dword [r14 + 0x4e8], 0x42b40000
jmp 0x1800651b0
movss xmm3, dword [r14 + 0x4f4]
mov dword [r14 + 0x4e8], 0x43870000
jmp 0x1800651b0
mov eax, edi
movd xmm6, r13d
sub eax, esi
cvtdq2pd xmm6, xmm6
movd xmm0, eax
mov eax, ebp
sub eax, r15d
cvtdq2ps xmm0, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
divss xmm0, xmm1
call fcn.1800b0870
cvtss2sd xmm0, xmm0
mulsd xmm0, xmm7
test bl, bl
jne 0x18006517e
addsd xmm0, xmm6
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movss dword [r14 + 0x4f4], xmm1
cmp ebp, r15d
jge 0x1800650c5
addss xmm1, dword [0x1800e3350]
movss dword [r14 + 0x4f4], xmm1
movss xmm3, dword [r14 + 0x4f0]
mulss xmm3, xmm8
addss xmm3, xmm1
movss dword [r14 + 0x4fc], xmm1
movss dword [r14 + 0x4e8], xmm3
cmp byte [r14 + 0x9da], 4
jne 0x180065156
cmp byte [r14 + 0x9de], 0
movss xmm2, dword [r14 + 0x504]
movss xmm1, dword [r14 + 0x50c]
movss xmm4, dword [r14 + 0x500]
subss xmm3, xmm1
movss xmm0, dword [r14 + 0x510]
subss xmm4, xmm2
subss xmm0, xmm1
divss xmm4, xmm0
mulss xmm4, xmm3
addss xmm4, xmm2
movss dword [r14 + 0x508], xmm4
je 0x180065156
cvttss2si eax, xmm4
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [r14 + 0x508], xmm0
mov rcx, r14
call fcn.180057310
mov rcx, qword [rsp + 0x80]
mov r9d, 0x101
xor r8d, r8d
xor edx, edx
call qword [sym.imp.USER32.dll_RedrawWindow]
xor eax, eax
jmp 0x18006551a
subsd xmm6, xmm0
cvtpd2ps xmm3, xmm6
movss dword [r14 + 0x4f4], xmm3
cmp ebp, r15d
jle 0x18006519e
addss xmm3, dword [0x1800e3350]
jmp 0x1800651a7
cmp edi, esi
jge 0x1800651b0
addss xmm3, xmm8
movss dword [r14 + 0x4f4], xmm3
movaps xmm1, xmm3
cmp bl, 4
jne 0x1800650c5
movss xmm0, dword [r14 + 0x50c]
comiss xmm0, xmm3
jbe 0x1800651d6
movss dword [r14 + 0x4f4], xmm0
movaps xmm3, xmm0
movss xmm0, dword [r14 + 0x510]
comiss xmm3, xmm0
jbe 0x1800651f0
movss dword [r14 + 0x4f4], xmm0
movaps xmm3, xmm0
movaps xmm1, xmm3
jmp 0x1800650d7
mov rcx, qword [rsp + 0x220]
mov r8, rcx
shr r8, 0x10
test bl, 1
je 0x180065556
mov eax, dword [r14 + 0x9f8]
mov ebx, dword [r14 + 0x60]
mov edi, dword [r14 + 0x64]
movss xmm6, dword [r14 + 0x4f4]
mov dword [r14 + 0xa04], eax
mov eax, dword [r14 + 0x9fc]
mov dword [r14 + 0xa08], eax
movsx ebp, cx
movsx esi, r8w
sar ebx, 1
mov eax, ebx
sar edi, 1
sub eax, ebp
movss dword [r14 + 0x4f8], xmm6
mov byte [r14 + 0x78], 1
mov dword [r14 + 0x9f8], ebp
mov dword [r14 + 0x9fc], esi
movd xmm1, eax
mov eax, edi
sub eax, esi
cvtdq2ps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm0, xmm1
call fcn.1800b25e8
movsd xmm2, qword [0x1800e0050]
movsd xmm3, qword [0x1800e1e48]
movd xmm1, ebx
cvtdq2ps xmm1, xmm1
divss xmm0, xmm1
cvtss2sd xmm0, xmm0
minsd xmm2, xmm0
cvtpd2ps xmm0, xmm2
cvtps2pd xmm1, xmm0
maxsd xmm3, xmm1
cvtpd2ps xmm0, xmm3
call fcn.1800b4434
movsd xmm8, qword [0x1800e3328]
xorps xmm1, xmm1
movss xmm9, dword [0x1800e3364]
cvtss2sd xmm1, xmm0
mulsd xmm1, xmm8
cvtpd2ps xmm0, xmm1
movss dword [r14 + 0x4ec], xmm0
cmp esi, edi
jne 0x18006530c
test r12b, r12b
jne 0x180065301
movaps xmm2, xmm6
movaps xmm1, xmm6
jmp 0x1800653aa
movaps xmm2, xmm6
movaps xmm1, xmm6
jmp 0x1800653aa
mov eax, ebp
movd xmm7, r13d
sub eax, ebx
cvtdq2pd xmm7, xmm7
movd xmm0, eax
mov eax, esi
sub eax, edi
cvtdq2ps xmm0, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
divss xmm0, xmm1
call fcn.1800b0870
cvtss2sd xmm0, xmm0
mulsd xmm0, xmm8
test r12b, r12b
jne 0x180065364
addsd xmm0, xmm7
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movss dword [r14 + 0x4f4], xmm1
cmp esi, edi
jge 0x1800653a7
addss xmm1, dword [0x1800e3350]
jmp 0x18006539e
subsd xmm7, xmm0
movaps xmm2, xmm6
cvtpd2ps xmm3, xmm7
movss dword [r14 + 0x4f4], xmm3
movaps xmm1, xmm3
cmp esi, edi
jle 0x180065392
addss xmm1, dword [0x1800e3350]
movss dword [r14 + 0x4f4], xmm1
jmp 0x1800653aa
cmp ebp, ebx
jge 0x1800653aa
movaps xmm1, xmm3
addss xmm1, xmm9
movss dword [r14 + 0x4f4], xmm1
movaps xmm2, xmm6
movss xmm3, dword [0x1800e3360]
comiss xmm2, xmm3
movss xmm5, dword [0x1800e0298]
movss xmm4, dword [0x1800e334c]
jbe 0x1800653e2
comiss xmm4, xmm1
jbe 0x1800653e2
movss xmm0, dword [r14 + 0x4f0]
addss xmm0, xmm5
movss dword [r14 + 0x4f0], xmm0
comiss xmm4, xmm2
jbe 0x180065402
comiss xmm1, xmm3
jbe 0x180065402
movss xmm0, dword [r14 + 0x4f0]
subss xmm0, xmm5
movss dword [r14 + 0x4f0], xmm0
cmp byte [r14 + 0x9dd], 0
movss xmm3, dword [r14 + 0x4f0]
mulss xmm3, xmm9
addss xmm3, xmm1
movss dword [r14 + 0x4e8], xmm3
je 0x180065461
movss xmm0, dword [r14 + 0x50c]
movaps xmm1, xmm3
comiss xmm0, xmm3
jbe 0x180065444
movss dword [r14 + 0x4e8], xmm0
movaps xmm1, xmm0
movss xmm0, dword [r14 + 0x510]
movaps xmm3, xmm1
comiss xmm1, xmm0
jbe 0x180065461
movss dword [r14 + 0x4e8], xmm0
movaps xmm3, xmm0
cmp byte [r14 + 0x9da], 4
jne 0x1800654ce
cmp byte [r14 + 0x9de], 0
movss xmm2, dword [r14 + 0x504]
movss xmm1, dword [r14 + 0x50c]
movss xmm4, dword [r14 + 0x500]
subss xmm3, xmm1
movss xmm0, dword [r14 + 0x510]
subss xmm4, xmm2
subss xmm0, xmm1
divss xmm4, xmm0
mulss xmm4, xmm3
addss xmm4, xmm2
movss dword [r14 + 0x508], xmm4
je 0x1800654ce
cvttss2si eax, xmm4
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [r14 + 0x508], xmm0
mov r9d, 0x101
xor r8d, r8d
xor edx, edx
mov rcx, r15
call qword [sym.imp.USER32.dll_RedrawWindow]
mov rcx, r14
call fcn.180057310
cmp byte [r14 + 0x9b8], 0
je 0x180065515
movsxd rbx, dword [r14 + 0x28]
mov rcx, r15
call qword [sym.imp.USER32.dll_GetParent]
xor r9d, r9d
mov r8, rbx
mov rcx, rax
mov edx, 0x111
call qword [sym.imp.USER32.dll_PostMessageA]
xor ebp, ebp
mov rax, rbp
mov rcx, qword [rsp + 0x100]
xor rcx, rsp
call fcn.18007b2f0
lea r11, [rsp + 0x1b8]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
movaps xmm9, xmmword [r11 - 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
cmp byte [r14 + 0x7c], bpl
je 0x1800655e0
mov edx, dword [r14 + 0x60]
movsx eax, cx
sar edx, 1
mov ecx, edx
imul edx, edx
sub ecx, eax
movsx eax, r8w
movd xmm0, ecx
mov ecx, dword [r14 + 0x64]
cvtdq2ps xmm0, xmm0
sar ecx, 1
sub ecx, eax
mulss xmm0, xmm0
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm1
addss xmm1, xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x1800655ae
mov byte [r14 + 0x78], bpl
call qword [sym.imp.USER32.dll_ReleaseCapture]
jmp 0x1800655c7
cmp byte [r14 + 0x78], bpl
jne 0x180065517
mov rcx, qword [r14 + 0x10]
call qword [sym.imp.USER32.dll_SetCapture]
mov byte [r14 + 0x78], 1
mov r9d, 0x101
xor r8d, r8d
xor edx, edx
mov rcx, r15
call qword [sym.imp.USER32.dll_RedrawWindow]
jmp 0x180065517
mov byte [r14 + 0x78], bpl
jmp 0x180065517