Function at 0x140219a20
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push r15
lea rbp, [rsp - 0xc0]
sub rsp, 0x1c0
mov rax, qword [0x1406836b8]
xor rax, rsp
mov qword [rbp + 0x28], rax
mov qword [rbp - 0x78], rcx
mov r15, rdx
mov rsi, rcx
test rcx, rcx
jne 0x140219a58
xor eax, eax
jmp 0x14021b51e
test dword [rcx + 4], 0x100
mov ecx, 0xf
mov qword [rsp + 0x1f0], rbx
mov qword [rsp + 0x1b8], rdi
mov qword [rsp + 0x1b0], r12
mov qword [rsp + 0x1a8], r13
movaps xmmword [rsp + 0x190], xmm6
movaps xmmword [rsp + 0x180], xmm7
movaps xmmword [rsp + 0x160], xmm9
movaps xmmword [rsp + 0x150], xmm10
movaps xmmword [rsp + 0x140], xmm11
movaps xmmword [rsp + 0x130], xmm12
je 0x140219ac1
call sym.ErrorReportClient.exe_SfGetSysColor
jmp 0x140219ac7
call qword [sym.imp.USER32.dll_GetSysColor]
xor r12d, r12d
mov edi, eax
test dword [rsi + 4], 0x100
jne 0x140219afd
call sym.ErrorReportClient.exe_XPTheme_GetDefault
test rax, rax
je 0x140219afd
call sym.ErrorReportClient.exe_XPTheme_GetDefault
cmp dword [rax], r12d
je 0x140219afd
mov r9, qword [0x140699300]
cmp qword [r9 + 0x10], r12
je 0x140219b04
lea ebx, [r12 + 1]
jmp 0x140219b07
mov r9, qword [0x140699300]
mov ebx, r12d
mov eax, dword [rsi + 0x290]
sub eax, dword [rsi + 0x288]
mov dword [rbp], eax
mov eax, dword [rsi + 0x294]
sub eax, dword [rsi + 0x28c]
mov dword [rsp + 0x60], ebx
mov qword [rbp - 8], r12
mov dword [rbp + 4], eax
test ebx, ebx
je 0x140219b62
mov rcx, qword [r9 + 0x10]
mov edx, 1
mov r8d, edx
call qword [r9 + 0x108]
test eax, eax
je 0x140219b62
mov rax, qword [0x140699300]
lea r8, [rbp - 8]
mov rcx, qword [rsi + 8]
mov rdx, r15
call qword [rax + 0x200]
jmp 0x140219bc0
mov ecx, 0x12
call qword [sym.imp.GDI32.dll_GetStockObject]
mov rdx, rax
mov rcx, r15
call qword [sym.imp.GDI32.dll_SelectObject]
mov edx, edi
mov rcx, r15
mov rbx, rax
call qword [sym.imp.GDI32.dll_SetDCBrushColor]
mov ecx, dword [rbp + 4]
mov r8d, dword [rbp - 4]
sub ecx, r8d
mov r9d, dword [rbp]
mov edx, dword [rbp - 8]
sub r9d, edx
mov dword [rsp + 0x28], 0xf00021
mov dword [rsp + 0x20], ecx
mov rcx, r15
call qword [sym.imp.GDI32.dll_PatBlt]
mov rdx, rbx
mov rcx, r15
call qword [sym.imp.GDI32.dll_SelectObject]
mov ebx, dword [rsp + 0x60]
cmp dword [rsi + 0x244], r12d
je 0x140219d42
movups xmm0, xmmword [rsi + 0x2e8]
movups xmmword [rbp - 0x58], xmm0
inc dword [rbp - 0x50]
dec dword [rbp - 0x54]
inc dword [rbp - 0x4c]
movd eax, xmm0
dec eax
mov dword [rbp - 0x58], eax
test ebx, ebx
je 0x140219c9b
lea rax, [rbp - 0x58]
mov r9d, 1
mov qword [rsp + 0x28], rax
mov r8d, r9d
lea rax, [rbp - 0x58]
mov rdx, r15
mov qword [rsp + 0x20], rax
mov rax, qword [0x140699300]
mov rcx, qword [rax + 0x10]
call qword [rax + 0xa8]
cmp qword [rsi + 0x4f8], r12
je 0x140219d42
mov ecx, dword [rbp - 0x54]
mov r9d, 0xe
mov eax, dword [rbp - 0x4c]
sub eax, ecx
mov dword [rsp + 0x50], edi
sub eax, 0xe
mov dword [rsp + 0x48], 0xe
cdq
mov dword [rsp + 0x40], 0xe
sub eax, edx
mov dword [rsp + 0x38], r12d
sar eax, 1
mov dword [rsp + 0x30], r12d
lea r8d, [rcx + rax]
mov ecx, dword [rbp - 0x58]
mov eax, dword [rbp - 0x50]
sub eax, ecx
sub eax, 0xe
cdq
sub eax, edx
sar eax, 1
lea edx, [rcx + rax]
mov rcx, qword [rsi + 0x4f0]
mov qword [rsp + 0x28], rcx
mov rcx, r15
mov dword [rsp + 0x20], 0xe
call qword [sym.imp.MSIMG32.dll_TransparentBlt]
jmp 0x140219d42
mov r9d, dword [rsi + 4]
lea rdx, [rbp - 0x58]
and r9d, 0x100
mov r8d, 4
shl r9d, 0x14
mov rcx, r15
or r9d, 0xf
call sym.ErrorReportClient.exe_SfDrawEdge
mov r9d, dword [rbp - 0x58]
mov ecx, dword [rbp - 0x50]
inc r9d
mov r10d, dword [rbp - 0x54]
dec ecx
mov eax, dword [rbp - 0x4c]
inc r10d
dec eax
mov dword [rbp - 0x58], r9d
mov dword [rbp - 0x50], ecx
mov dword [rbp - 0x54], r10d
mov dword [rbp - 0x4c], eax
cmp qword [rsi + 0x4f8], r12
je 0x140219d42
sub eax, r10d
mov dword [rsp + 0x40], 0xcc0020
sub eax, 0xe
mov dword [rsp + 0x38], r12d
cdq
mov dword [rsp + 0x30], r12d
sub eax, edx
sub ecx, r9d
sar eax, 1
lea r8d, [r10 + rax]
lea eax, [rcx - 0xe]
mov rcx, qword [rsi + 0x4f0]
cdq
mov qword [rsp + 0x28], rcx
sub eax, edx
mov dword [rsp + 0x20], 0xe
sar eax, 1
mov rcx, r15
lea edx, [r9 + rax]
mov r9d, 0xe
call qword [sym.imp.GDI32.dll_BitBlt]
lea rax, [rsi + 0x2f8]
movups xmm0, xmmword [rax]
mov qword [rbp - 0x60], rax
movups xmmword [rbp - 0x58], xmm0
inc dword [rbp - 0x50]
dec dword [rbp - 0x54]
inc dword [rbp - 0x4c]
movd eax, xmm0
dec eax
mov dword [rbp - 0x58], eax
test ebx, ebx
je 0x140219e17
lea rax, [rbp - 0x58]
mov r9d, 1
mov qword [rsp + 0x28], rax
mov r8d, r9d
lea rax, [rbp - 0x58]
mov rdx, r15
mov qword [rsp + 0x20], rax
mov rax, qword [0x140699300]
mov rcx, qword [rax + 0x10]
call qword [rax + 0xa8]
cmp qword [rsi + 0x548], r12
je 0x140219ebe
mov ecx, dword [rbp - 0x54]
mov r9d, 0xe
mov eax, dword [rbp - 0x4c]
sub eax, ecx
mov dword [rsp + 0x50], edi
sub eax, 0xe
mov dword [rsp + 0x48], 0xe
cdq
mov dword [rsp + 0x40], 0xe
sub eax, edx
mov dword [rsp + 0x38], r12d
sar eax, 1
mov dword [rsp + 0x30], r12d
lea r8d, [rcx + rax]
mov ecx, dword [rbp - 0x58]
mov eax, dword [rbp - 0x50]
sub eax, ecx
sub eax, 0xe
cdq
sub eax, edx
sar eax, 1
lea edx, [rcx + rax]
mov rcx, qword [rsi + 0x540]
mov qword [rsp + 0x28], rcx
mov rcx, r15
mov dword [rsp + 0x20], 0xe
call qword [sym.imp.MSIMG32.dll_TransparentBlt]
jmp 0x140219ebe
mov r9d, dword [rsi + 4]
lea rdx, [rbp - 0x58]
and r9d, 0x100
mov r8d, 4
shl r9d, 0x14
mov rcx, r15
or r9d, 0xf
call sym.ErrorReportClient.exe_SfDrawEdge
mov r9d, dword [rbp - 0x58]
mov ecx, dword [rbp - 0x50]
inc r9d
mov r10d, dword [rbp - 0x54]
dec ecx
mov eax, dword [rbp - 0x4c]
inc r10d
dec eax
mov dword [rbp - 0x58], r9d
mov dword [rbp - 0x50], ecx
mov dword [rbp - 0x54], r10d
mov dword [rbp - 0x4c], eax
cmp qword [rsi + 0x548], r12
je 0x140219ebe
sub eax, r10d
mov dword [rsp + 0x40], 0xcc0020
sub eax, 0xe
mov dword [rsp + 0x38], r12d
cdq
mov dword [rsp + 0x30], r12d
sub eax, edx
sub ecx, r9d
sar eax, 1
lea r8d, [r10 + rax]
lea eax, [rcx - 0xe]
mov rcx, qword [rsi + 0x540]
cdq
mov qword [rsp + 0x28], rcx
sub eax, edx
mov dword [rsp + 0x20], 0xe
sar eax, 1
mov rcx, r15
lea edx, [r9 + rax]
mov r9d, 0xe
call qword [sym.imp.GDI32.dll_BitBlt]
mov r13d, dword [rsi + 0x2a4]
lea rbx, [rsi + 0x268]
sub r13d, dword [rsi + 0x29c]
lea rdx, [rbp - 0x48]
movss xmm12, dword [0x1404521c4]
lea rcx, [rbp - 0x28]
mov qword [rsp + 0x70], rbx
movd xmm0, r13d
cvtdq2ps xmm0, xmm0
addss xmm0, xmm12
cvttss2si eax, xmm0
movups xmm0, xmmword [rbx]
sub r13d, eax
mov dword [rsp + 0x68], eax
mov dword [rsp + 0x64], r13d
movups xmmword [rbp - 0x48], xmm0
call sym.ErrorReportClient.exe_SFDIBPIXEL_To_SFHSL
movsd xmm1, qword [rbp - 0x18]
xorps xmm6, xmm6
ucomisd xmm6, qword [rbp - 0x20]
movsd xmm9, qword [0x1404538b8]
jp 0x140219f2c
je 0x140219f3d
ucomisd xmm6, xmm1
jp 0x140219f34
je 0x140219f3d
ucomisd xmm9, xmm1
jp 0x140219f4a
jne 0x140219f4a
movsd xmm0, qword [rsi + 0x258]
movsd qword [rbp - 0x28], xmm0
ucomisd xmm6, xmm1
jp 0x140219f52
je 0x140219f5b
ucomisd xmm9, xmm1
jp 0x140219f68
jne 0x140219f68
movsd xmm0, qword [rsi + 0x260]
movsd qword [rbp - 0x20], xmm0
movss xmm11, dword [0x1404541f0]
lea rdx, [rsi + 0x298]
mov edi, dword [rdx]
movss xmm10, dword [0x140453f88]
movsd xmm7, qword [rsp + 0x70]
mov qword [rsp + 0x1a0], r14
movaps xmmword [rsp + 0x170], xmm8
movsd xmm8, qword [rsp + 0x70]
cmp edi, dword [rsi + 0x2a0]
jge 0x14021a15d
mov r13d, dword [rsp + 0x68]
mov r12d, dword [rsi + 0x29c]
test rdx, rdx
je 0x14021a030
mov ecx, dword [rdx]
xorps xmm0, xmm0
mov eax, dword [rdx + 8]
xorps xmm2, xmm2
sub eax, ecx
xorps xmm1, xmm1
cvtsi2sd xmm2, edi
cvtsi2sd xmm0, ecx
mov ecx, dword [rdx + 4]
cvtsi2sd xmm1, r12d
subsd xmm2, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
mov eax, dword [rdx + 0xc]
sub eax, ecx
divsd xmm2, xmm0
xorps xmm0, xmm0
comisd xmm6, xmm2
cvtsi2sd xmm0, ecx
subsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
divsd xmm1, xmm0
jbe 0x14021a013
movaps xmm7, xmm6
jmp 0x14021a01b
movaps xmm7, xmm9
minsd xmm7, xmm2
comisd xmm6, xmm1
jbe 0x14021a027
movaps xmm8, xmm6
jmp 0x14021a030
movaps xmm8, xmm9
minsd xmm8, xmm1
cmp dword [rsi + 0x248], 0
je 0x14021a052
lea rdx, [rbp - 0x28]
movsd qword [rbp - 0x28], xmm7
lea rcx, [rbp - 0x48]
call sym.ErrorReportClient.exe_SFHSL_To_SFDIBPIXEL
movss xmm1, dword [rbp - 0x40]
jmp 0x14021a05e
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm7
movss dword [rbp - 0x40], xmm1
test byte [rsi + 4], 1
lea rdx, [rbp - 0x48]
je 0x14021a098
movss xmm0, dword [rbp - 0x44]
lea rdx, [rbp - 0x38]
addss xmm0, xmm1
addss xmm0, dword [rbp - 0x48]
divss xmm0, xmm11
movss dword [rbp - 0x30], xmm0
movss dword [rbp - 0x34], xmm0
movss dword [rbp - 0x38], xmm0
movss xmm0, dword [rbp - 0x3c]
movss dword [rbp - 0x2c], xmm0
movss xmm0, dword [rdx + 4]
mulss xmm0, xmm10
cvttss2si eax, xmm0
movss xmm0, dword [rdx]
mulss xmm0, xmm10
movzx r14d, al
shl r14d, 8
cvttss2si eax, xmm0
movss xmm0, dword [rdx + 8]
movzx ecx, al
shl ecx, 0x10
or r14d, ecx
mulss xmm0, xmm10
cvttss2si eax, xmm0
movzx ecx, al
or r14d, ecx
mov ecx, 0x12
mov dword [rsp + 0x6c], r14d
call qword [sym.imp.GDI32.dll_GetStockObject]
mov rdx, rax
mov rcx, r15
call qword [sym.imp.GDI32.dll_SelectObject]
mov edx, r14d
mov rcx, r15
mov rbx, rax
call qword [sym.imp.GDI32.dll_SetDCBrushColor]
mov r9d, 1
mov dword [rsp + 0x28], 0xf00021
mov r8d, r12d
mov dword [rsp + 0x20], r13d
mov edx, edi
mov rcx, r15
call qword [sym.imp.GDI32.dll_PatBlt]
mov rdx, rbx
mov rcx, r15
call qword [sym.imp.GDI32.dll_SelectObject]
inc edi
lea rdx, [rsi + 0x298]
cmp edi, dword [rsi + 0x2a0]
jl 0x140219fb2
mov r13d, dword [rsp + 0x64]
lea rbx, [rsi + 0x268]
lea rdx, [rsi + 0x298]
xor r12d, r12d
jmp 0x14021a167
mov r14d, dword [rsp + 0x78]
mov dword [rsp + 0x6c], r14d
movups xmm0, xmmword [rdx]
movups xmmword [rbp - 0x58], xmm0
inc dword [rbp - 0x50]
dec dword [rbp - 0x54]
movd eax, xmm0
dec eax
mov dword [rbp - 0x58], eax
mov eax, 1
sub eax, r13d
add dword [rbp - 0x4c], eax
cmp dword [rsp + 0x60], 0
je 0x14021a1cc
mov qword [rsp + 0x38], r12
lea rax, [rbp - 0x58]
mov dword [rsp + 0x30], 0xf
mov r9d, 1
mov dword [rsp + 0x28], 2
mov r8d, r9d
mov qword [rsp + 0x20], rax
mov rdx, r15
mov rax, qword [0x140699300]
mov rcx, qword [rax + 0x10]
call qword [rax + 0xf0]
jmp 0x14021a1f1
mov r9d, dword [rsi + 4]
lea rdx, [rbp - 0x58]
and r9d, 0x100
mov r8d, 2
shl r9d, 0x14
mov rcx, r15
or r9d, 0xf
call sym.ErrorReportClient.exe_SfDrawEdge
mov r13d, dword [rsi + 0x2b4]
lea rdx, [rbp - 0x48]
sub r13d, dword [rsi + 0x2ac]
lea rcx, [rbp - 0x28]
movd xmm0, r13d
cvtdq2ps xmm0, xmm0
addss xmm0, xmm12
cvttss2si eax, xmm0
movups xmm0, xmmword [rbx]
sub r13d, eax
mov dword [rsp + 0x68], eax
mov dword [rsp + 0x64], r13d
movups xmmword [rbp - 0x48], xmm0
call sym.ErrorReportClient.exe_SFDIBPIXEL_To_SFHSL
ucomisd xmm6, qword [rbp - 0x20]
movsd xmm1, qword [rbp - 0x18]
jp 0x14021a23e
je 0x14021a24f
ucomisd xmm6, xmm1
jp 0x14021a246
je 0x14021a24f
ucomisd xmm9, xmm1
jp 0x14021a25c
jne 0x14021a25c
movsd xmm0, qword [rsi + 0x258]
movsd qword [rbp - 0x28], xmm0
ucomisd xmm6, xmm1
jp 0x14021a264
je 0x14021a26d
ucomisd xmm9, xmm1
jp 0x14021a27a
jne 0x14021a27a
movsd xmm0, qword [rsi + 0x260]
movsd qword [rbp - 0x20], xmm0
lea rdx, [rsi + 0x2a8]
mov edi, dword [rdx]
cmp edi, dword [rsi + 0x2b0]
jge 0x14021a436
mov r13d, dword [rsp + 0x68]
mov r12d, dword [rsi + 0x2ac]
test rdx, rdx
je 0x14021a312
mov ecx, dword [rdx]
xorps xmm0, xmm0
mov eax, dword [rdx + 8]
xorps xmm2, xmm2
sub eax, ecx
xorps xmm1, xmm1
cvtsi2sd xmm2, edi
cvtsi2sd xmm0, ecx
mov ecx, dword [rdx + 4]
cvtsi2sd xmm1, r12d
subsd xmm2, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
mov eax, dword [rdx + 0xc]
sub eax, ecx
divsd xmm2, xmm0
xorps xmm0, xmm0
comisd xmm6, xmm2
cvtsi2sd xmm0, ecx
subsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
divsd xmm1, xmm0
jbe 0x14021a2f5
movaps xmm7, xmm6
jmp 0x14021a2fd
movaps xmm7, xmm9
minsd xmm7, xmm2
comisd xmm6, xmm1
jbe 0x14021a309
movaps xmm8, xmm6
jmp 0x14021a312
movaps xmm8, xmm9
minsd xmm8, xmm1
cmp dword [rsi + 0x248], 0
je 0x14021a334
lea rdx, [rbp - 0x28]
movsd qword [rbp - 0x20], xmm7
lea rcx, [rbp - 0x48]
call sym.ErrorReportClient.exe_SFHSL_To_SFDIBPIXEL
movss xmm0, dword [rbp - 0x44]
jmp 0x14021a340
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm7
movss dword [rbp - 0x44], xmm0
test byte [rsi + 4], 1
lea rdx, [rbp - 0x48]
je 0x14021a376
addss xmm0, dword [rbp - 0x40]
lea rdx, [rbp - 0x38]
addss xmm0, dword [rbp - 0x48]
divss xmm0, xmm11
movss dword [rbp - 0x30], xmm0
movss dword [rbp - 0x34], xmm0
movss dword [rbp - 0x38], xmm0
movss xmm0, dword [rbp - 0x3c]
movss dword [rbp - 0x2c], xmm0
movss xmm0, dword [rdx + 4]
mulss xmm0, xmm10
cvttss2si eax, xmm0
movss xmm0, dword [rdx]
mulss xmm0, xmm10
movzx r14d, al
shl r14d, 8
cvttss2si eax, xmm0
movss xmm0, dword [rdx + 8]
movzx ecx, al
shl ecx, 0x10
or r14d, ecx
mulss xmm0, xmm10
cvttss2si eax, xmm0
movzx ecx, al
or r14d, ecx
mov ecx, 0x12
mov dword [rsp + 0x6c], r14d
call qword [sym.imp.GDI32.dll_GetStockObject]
mov rdx, rax
mov rcx, r15
call qword [sym.imp.GDI32.dll_SelectObject]
mov edx, r14d
mov rcx, r15
mov rbx, rax
call qword [sym.imp.GDI32.dll_SetDCBrushColor]
mov r9d, 1
mov dword [rsp + 0x28], 0xf00021
mov r8d, r12d
mov dword [rsp + 0x20], r13d
mov edx, edi
mov rcx, r15
call qword [sym.imp.GDI32.dll_PatBlt]
mov rdx, rbx
mov rcx, r15
call qword [sym.imp.GDI32.dll_SelectObject]
inc edi
lea rdx, [rsi + 0x2a8]
cmp edi, dword [rsi + 0x2b0]
jl 0x14021a294
mov r13d, dword [rsp + 0x64]
lea rdx, [rsi + 0x2a8]
lea rbx, [rsi + 0x268]
movups xmm0, xmmword [rdx]
movups xmmword [rbp - 0x58], xmm0
inc dword [rbp - 0x50]
dec dword [rbp - 0x54]
movd eax, xmm0
dec eax
mov dword [rbp - 0x58], eax
mov eax, 1
sub eax, r13d
add dword [rbp - 0x4c], eax
cmp dword [rsp + 0x60], 0
je 0x14021a49f
mov qword [rsp + 0x38], 0
lea rax, [rbp - 0x58]
mov dword [rsp + 0x30], 0xf
mov r9d, 1
mov dword [rsp + 0x28], 2
mov r8d, r9d
mov qword [rsp + 0x20], rax
mov rdx, r15
mov rax, qword [0x140699300]
mov rcx, qword [rax + 0x10]
call qword [rax + 0xf0]
jmp 0x14021a4c4
mov r9d, dword [rsi + 4]
lea rdx, [rbp - 0x58]
and r9d, 0x100
mov r8d, 2
shl r9d, 0x14
mov rcx, r15
or r9d, 0xf
call sym.ErrorReportClient.exe_SfDrawEdge
mov eax, dword [rsi + 0x2c4]
lea rdx, [rbp - 0x48]
sub eax, dword [rsi + 0x2bc]
lea rcx, [rbp - 0x28]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, xmm12
cvttss2si r13d, xmm0
movups xmm0, xmmword [rbx]
sub eax, r13d
mov dword [rsp + 0x64], eax
movups xmmword [rbp - 0x48], xmm0
call sym.ErrorReportClient.exe_SFDIBPIXEL_To_SFHSL
ucomisd xmm6, qword [rbp - 0x20]
movsd xmm1, qword [rbp - 0x18]
jp 0x14021a50a
je 0x14021a51b
ucomisd xmm6, xmm1
jp 0x14021a512
je 0x14021a51b
ucomisd xmm9, xmm1
jp 0x14021a528
jne 0x14021a528
movsd xmm0, qword [rsi + 0x258]
movsd qword [rbp - 0x28], xmm0
ucomisd xmm6, xmm1
jp 0x14021a530
je 0x14021a539
ucomisd xmm9, xmm1
jp 0x14021a546
jne 0x14021a546
movsd xmm0, qword [rsi + 0x260]
movsd qword [rbp - 0x20], xmm0
lea rdx, [rsi + 0x2b8]
mov edi, dword [rdx]
cmp edi, dword [rsi + 0x2c0]
jge 0x14021a6fa
nop dword [rax + rax]
mov r12d, dword [rsi + 0x2bc]
test rdx, rdx
je 0x14021a5de
mov ecx, dword [rdx]
xorps xmm0, xmm0
mov eax, dword [rdx + 8]
xorps xmm2, xmm2
sub eax, ecx
xorps xmm1, xmm1
cvtsi2sd xmm2, edi
cvtsi2sd xmm0, ecx
mov ecx, dword [rdx + 4]
cvtsi2sd xmm1, r12d
subsd xmm2, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
mov eax, dword [rdx + 0xc]
sub eax, ecx
divsd xmm2, xmm0
xorps xmm0, xmm0
comisd xmm6, xmm2
cvtsi2sd xmm0, ecx
subsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
divsd xmm1, xmm0
jbe 0x14021a5c1
movaps xmm7, xmm6
jmp 0x14021a5c9
movaps xmm7, xmm9
minsd xmm7, xmm2
comisd xmm6, xmm1
jbe 0x14021a5d5
movaps xmm8, xmm6
jmp 0x14021a5de
movaps xmm8, xmm9
minsd xmm8, xmm1
cmp dword [rsi + 0x248], 0
je 0x14021a600
lea rdx, [rbp - 0x28]
movsd qword [rbp - 0x18], xmm7
lea rcx, [rbp - 0x48]
call sym.ErrorReportClient.exe_SFHSL_To_SFDIBPIXEL
movss xmm1, dword [rbp - 0x48]
jmp 0x14021a60c
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm7
movss dword [rbp - 0x48], xmm1
test byte [rsi + 4], 1
lea rdx, [rbp - 0x48]
je 0x14021a646
movss xmm0, dword [rbp - 0x44]
lea rdx, [rbp - 0x38]
addss xmm0, dword [rbp - 0x40]
addss xmm0, xmm1
divss xmm0, xmm11
movss dword [rbp - 0x30], xmm0
movss dword [rbp - 0x34], xmm0
movss dword [rbp - 0x38], xmm0
movss xmm0, dword [rbp - 0x3c]
movss dword [rbp - 0x2c], xmm0
movss xmm0, dword [rdx + 4]
mulss xmm0, xmm10
cvttss2si eax, xmm0
movss xmm0, dword [rdx + 8]
mulss xmm0, xmm10
movzx r14d, al
shl r14d, 8
cvttss2si eax, xmm0
movss xmm0, dword [rdx]
movzx ecx, al
or r14d, ecx
mulss xmm0, xmm10
cvttss2si eax, xmm0
movzx ecx, al
shl ecx, 0x10
or r14d, ecx
mov ecx, 0x12
mov dword [rsp + 0x6c], r14d
call qword [sym.imp.GDI32.dll_GetStockObject]
mov rdx, rax
mov rcx, r15
call qword [sym.imp.GDI32.dll_SelectObject]
mov edx, r14d
mov rcx, r15
mov rbx, rax
call qword [sym.imp.GDI32.dll_SetDCBrushColor]
mov r9d, 1
mov dword [rsp + 0x28], 0xf00021
mov r8d, r12d
mov dword [rsp + 0x20], r13d
mov edx, edi
mov rcx, r15
call qword [sym.imp.GDI32.dll_PatBlt]
mov rdx, rbx
mov rcx, r15
call qword [sym.imp.GDI32.dll_SelectObject]
inc edi
lea rdx, [rsi + 0x2b8]
cmp edi, dword [rsi + 0x2c0]
jl 0x14021a560
lea rdx, [rsi + 0x2b8]
movups xmm0, xmmword [rdx]
mov edi, dword [rsp + 0x64]
movups xmmword [rbp - 0x58], xmm0
inc dword [rbp - 0x50]
dec dword [rbp - 0x54]
movd eax, xmm0
dec eax
mov dword [rbp - 0x58], eax
mov eax, 1
sub eax, edi
add dword [rbp - 0x4c], eax
cmp dword [rsp + 0x60], 0
je 0x14021a766
mov qword [rsp + 0x38], 0
lea rax, [rbp - 0x58]
mov dword [rsp + 0x30], 0xf
mov r9d, 1
mov dword [rsp + 0x28], 2
mov r8d, r9d
mov qword [rsp + 0x20], rax
mov rdx, r15
mov rax, qword [0x140699300]
mov rcx, qword [rax + 0x10]
call qword [rax + 0xf0]
jmp 0x14021a78b
mov r9d, dword [rsi + 4]
lea rdx, [rbp - 0x58]
and r9d, 0x100
mov r8d, 2
shl r9d, 0x14
mov rcx, r15
or r9d, 0xf
call sym.ErrorReportClient.exe_SfDrawEdge
cmp qword [rsi + 0x458], 0
jne 0x14021a97c
mov r13d, dword [rsi + 0x2c8]
cmp r13d, dword [rsi + 0x2d0]
jge 0x14021a9cd
mov eax, dword [rsi + 0x2d4]
nop dword [rax]
nop word [rax + rax]
mov r12d, dword [rsi + 0x2cc]
cmp r12d, eax
jge 0x14021a966
lea rdi, [rsi + 0x2c8]
test rdi, rdi
je 0x14021a84f
mov ecx, dword [rdi]
xorps xmm0, xmm0
mov eax, dword [rdi + 8]
xorps xmm2, xmm2
sub eax, ecx
xorps xmm1, xmm1
cvtsi2sd xmm2, r13d
cvtsi2sd xmm0, ecx
mov ecx, dword [rdi + 4]
cvtsi2sd xmm1, r12d
subsd xmm2, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
mov eax, dword [rdi + 0xc]
sub eax, ecx
divsd xmm2, xmm0
xorps xmm0, xmm0
comisd xmm6, xmm2
cvtsi2sd xmm0, ecx
subsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
divsd xmm1, xmm0
jbe 0x14021a832
movaps xmm7, xmm6
jmp 0x14021a83a
movaps xmm7, xmm9
minsd xmm7, xmm2
comisd xmm6, xmm1
jbe 0x14021a846
movaps xmm8, xmm6
jmp 0x14021a84f
movaps xmm8, xmm9
minsd xmm8, xmm1
xor eax, eax
comisd xmm6, xmm7
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x30], rax
jbe 0x14021a866
movsd qword [rbp + 8], xmm6
jmp 0x14021a86b
movsd qword [rbp + 8], xmm7
jbe 0x14021a874
movsd qword [rbp + 0x10], xmm6
jmp 0x14021a87a
movsd qword [rbp + 0x10], xmm9
test byte [rsi + 4], 0x80
movaps xmm0, xmm9
subsd xmm0, xmm8
movsd qword [rbp + 0x18], xmm0
je 0x14021a89d
movss xmm0, dword [rbp - 0x3c]
cvtps2pd xmm0, xmm0
movsd qword [rbp + 0x20], xmm0
jmp 0x14021a8a3
movsd qword [rbp + 0x20], xmm9
lea rdx, [rbp + 8]
lea rcx, [rbp - 0x38]
call sym.ErrorReportClient.exe_SFHSL_To_SFRGBAFLOAT
movups xmm1, xmmword [rbp - 0x38]
movaps xmm0, xmm1
shufps xmm0, xmm1, 0x55
mulss xmm0, xmm10
movups xmmword [rbp - 0x48], xmm1
cvttss2si eax, xmm0
movaps xmm0, xmm1
shufps xmm1, xmm1, 0xaa
movzx r14d, al
mulss xmm0, xmm10
shl r14d, 8
mulss xmm1, xmm10
cvttss2si eax, xmm0
movzx ecx, al
shl ecx, 0x10
or r14d, ecx
cvttss2si eax, xmm1
movzx ecx, al
or r14d, ecx
mov ecx, 0x12
mov dword [rsp + 0x6c], r14d
call qword [sym.imp.GDI32.dll_GetStockObject]
mov rdx, rax
mov rcx, r15
call qword [sym.imp.GDI32.dll_SelectObject]
mov edx, r14d
mov rcx, r15
mov rbx, rax
call qword [sym.imp.GDI32.dll_SetDCBrushColor]
mov r9d, 1
mov dword [rsp + 0x28], 0xf00021
mov r8d, r12d
mov dword [rsp + 0x20], 1
mov edx, r13d
mov rcx, r15
call qword [sym.imp.GDI32.dll_PatBlt]
mov rdx, rbx
mov rcx, r15
call qword [sym.imp.GDI32.dll_SelectObject]
mov eax, dword [rsi + 0x2d4]
inc r12d
cmp r12d, eax
jl 0x14021a7d7
inc r13d
cmp r13d, dword [rsi + 0x2d0]
jl 0x14021a7c0
mov edi, dword [rsp + 0x64]
jmp 0x14021a9cd
mov ecx, dword [rsi + 0x2d4]
mov r8d, dword [rsi + 0x2cc]
sub ecx, r8d
mov rax, qword [rsi + 0x450]
mov r9d, dword [rsi + 0x2d0]
mov edx, dword [rsi + 0x2c8]
sub r9d, edx
mov dword [rsp + 0x40], 0xcc0020
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ecx
mov rcx, r15
call qword [sym.imp.GDI32.dll_BitBlt]
lea r12, [rsi + 0x2c8]
movups xmm0, xmmword [r12]
movups xmmword [rbp - 0x58], xmm0
inc dword [rbp - 0x50]
dec dword [rbp - 0x54]
inc dword [rbp - 0x4c]
movd eax, xmm0
dec eax
cmp dword [rsp + 0x60], 0
mov dword [rbp - 0x58], eax
je 0x14021aa37
mov qword [rsp + 0x38], 0
lea rax, [rbp - 0x58]
mov dword [rsp + 0x30], 0xf
mov r9d, 1
mov dword [rsp + 0x28], 2
mov r8d, r9d
mov qword [rsp + 0x20], rax
mov rdx, r15
mov rax, qword [0x140699300]
mov rcx, qword [rax + 0x10]
call qword [rax + 0xf0]
jmp 0x14021aa5c
mov r9d, dword [rsi + 4]
lea rdx, [rbp - 0x58]
and r9d, 0x100
mov r8d, 2
shl r9d, 0x14
mov rcx, r15
or r9d, 0xf
call sym.ErrorReportClient.exe_SfDrawEdge
mov eax, dword [rsi + 4]
movss xmm7, dword [0x1404521c8]
test al, 1
je 0x14021aaa9
movss xmm0, dword [rsi + 0x270]
lea rdx, [rbp - 0x38]
addss xmm0, dword [rsi + 0x26c]
mov dword [rbp - 0x2c], 0x3f800000
mov qword [rsp + 0x70], rdx
addss xmm0, dword [rsi + 0x268]
divss xmm0, xmm11
movss dword [rbp - 0x38], xmm0
movss dword [rbp - 0x34], xmm0
movss dword [rbp - 0x30], xmm0
jmp 0x14021aab0
lea rdx, [rsi + 0x268]
test al, 2
je 0x14021ad0d
mov ecx, dword [rsi + 0x2e0]
lea r13, [rsi + 0x2d8]
sub ecx, dword [r13]
mov eax, 0x66666667
sub ecx, edi
imul ecx
mov edi, edx
sar edi, 1
mov eax, edi
shr eax, 0x1f
add edi, eax
mov dword [rsp + 0x68], edi
lea eax, [rdi + rdi*4]
sub ecx, eax
mov dword [rsp + 0x78], ecx
mov ecx, 0x12
call qword [sym.imp.GDI32.dll_GetStockObject]
mov rdx, rax
mov rcx, r15
call qword [sym.imp.GDI32.dll_SelectObject]
mov r12d, dword [rsi + 0x2dc]
mov qword [rbp - 0x68], rax
cmp r12d, dword [rsi + 0x2e4]
jge 0x14021acf1
nop dword [rax]
mov eax, 0x66666667
imul r12d
mov ebx, edx
sar ebx, 1
mov eax, ebx
shr eax, 0x1f
add ebx, eax
not ebx
and ebx, 1
test r13, r13
je 0x14021ab7d
mov ecx, dword [r13 + 4]
mov eax, dword [r13 + 0xc]
sub eax, ecx
movd xmm1, r12d
cvtdq2pd xmm1, xmm1
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
comisd xmm6, xmm1
jbe 0x14021ab74
movaps xmm8, xmm6
jmp 0x14021ab7d
movaps xmm8, xmm9
minsd xmm8, xmm1
mov rax, qword [rsp + 0x70]
xorps xmm5, xmm5
cvtsd2ss xmm5, xmm8
movaps xmm3, xmm7
subss xmm3, xmm5
movaps xmm1, xmm5
mulss xmm1, xmm12
movaps xmm0, xmm1
movaps xmm2, xmm3
mulss xmm2, dword [rax + 4]
movaps xmm4, xmm3
mulss xmm3, dword [rax]
mulss xmm4, dword [rax + 8]
addss xmm0, xmm2
mulss xmm0, xmm10
cvttss2si eax, xmm0
movaps xmm0, xmm1
addss xmm1, xmm4
addss xmm0, xmm3
movzx edx, al
shl edx, 8
mulss xmm1, xmm10
mulss xmm0, xmm10
cvttss2si eax, xmm0
movaps xmm0, xmm5
movzx ecx, al
addss xmm0, xmm2
shl ecx, 0x10
or edx, ecx
cvttss2si eax, xmm1
mulss xmm0, xmm10
movzx ecx, al
or edx, ecx
mov dword [rsp + 0x7c], edx
cvttss2si eax, xmm0
movaps xmm0, xmm5
addss xmm5, xmm4
movzx r8d, al
addss xmm0, xmm3
shl r8d, 8
mulss xmm5, xmm10
mulss xmm0, xmm10
cvttss2si eax, xmm0
movzx ecx, al
shl ecx, 0x10
or r8d, ecx
cvttss2si eax, xmm5
movzx ecx, al
or r8d, ecx
mov rcx, r15
test ebx, ebx
mov dword [rbp - 0x80], r8d
cmovne edx, r8d
call qword [sym.imp.GDI32.dll_SetDCBrushColor]
xor eax, eax
test edi, edi
jle 0x14021acb0
mov eax, dword [rsp + 0x68]
xor edi, edi
mov r14d, dword [rsp + 0x7c]
mov esi, eax
mov qword [rbp - 0x70], rax
nop
mov edx, dword [r13]
mov r9d, 5
add edx, edi
mov dword [rsp + 0x28], 0xf00021
mov r8d, r12d
mov dword [rsp + 0x20], 1
mov rcx, r15
call qword [sym.imp.GDI32.dll_PatBlt]
mov edx, r14d
xor ebx, 1
mov rcx, r15
cmovne edx, dword [rbp - 0x80]
call qword [sym.imp.GDI32.dll_SetDCBrushColor]
add edi, 5
sub rsi, 1
jne 0x14021ac60
mov rsi, qword [rbp - 0x78]
mov rax, qword [rbp - 0x70]
mov edi, dword [rsp + 0x68]
mov r9d, dword [rsp + 0x78]
lea edx, [rax + rax*4]
add edx, dword [r13]
mov r8d, r12d
mov dword [rsp + 0x28], 0xf00021
mov rcx, r15
mov dword [rsp + 0x20], 1
call qword [sym.imp.GDI32.dll_PatBlt]
inc r12d
cmp r12d, dword [rsi + 0x2e4]
jl 0x14021ab20
mov r14d, dword [rsp + 0x6c]
mov rax, qword [rbp - 0x68]
mov rdx, rax
mov rcx, r15
call qword [sym.imp.GDI32.dll_SelectObject]
mov edi, dword [rsp + 0x64]
lea r12, [rsi + 0x2c8]
jmp 0x14021adc1
test rdx, rdx
je 0x14021ad52
movss xmm0, dword [rdx + 4]
mulss xmm0, xmm10
cvttss2si eax, xmm0
movss xmm0, dword [rdx]
mulss xmm0, xmm10
movzx r14d, al
shl r14d, 8
cvttss2si eax, xmm0
movss xmm0, dword [rdx + 8]
movzx ecx, al
shl ecx, 0x10
or r14d, ecx
mulss xmm0, xmm10
cvttss2si eax, xmm0
movzx ecx, al
or r14d, ecx
mov ecx, 0x12
call qword [sym.imp.GDI32.dll_GetStockObject]
mov rdx, rax
mov rcx, r15
call qword [sym.imp.GDI32.dll_SelectObject]
mov edx, r14d
mov rcx, r15
mov rbx, rax
call qword [sym.imp.GDI32.dll_SetDCBrushColor]
mov ecx, dword [rsi + 0x2e4]
lea r13, [rsi + 0x2d8]
mov r8d, dword [rsi + 0x2dc]
sub ecx, r8d
mov r9d, dword [rsi + 0x2e0]
mov edx, dword [r13]
sub r9d, edx
mov dword [rsp + 0x28], 0xf00021
sub r9d, edi
mov dword [rsp + 0x20], ecx
mov rcx, r15
call qword [sym.imp.GDI32.dll_PatBlt]
mov rdx, rbx
mov rcx, r15
call qword [sym.imp.GDI32.dll_SelectObject]
movups xmm0, xmmword [r13]
movaps xmm12, xmmword [rsp + 0x130]
movaps xmm9, xmmword [rsp + 0x160]
movaps xmm8, xmmword [rsp + 0x170]
movaps xmm7, xmmword [rsp + 0x180]
movaps xmm6, xmmword [rsp + 0x190]
movups xmmword [rbp - 0x58], xmm0
dec dword [rbp - 0x54]
inc dword [rbp - 0x4c]
movd eax, xmm0
dec eax
mov dword [rbp - 0x58], eax
mov eax, 1
sub eax, edi
add dword [rbp - 0x50], eax
cmp dword [rsp + 0x60], 0
je 0x14021ae56
mov qword [rsp + 0x38], 0
lea rax, [rbp - 0x58]
mov dword [rsp + 0x30], 0xf
mov r9d, 1
mov dword [rsp + 0x28], 2
mov r8d, r9d
mov qword [rsp + 0x20], rax
mov rdx, r15
mov rax, qword [0x140699300]
mov rcx, qword [rax + 0x10]
call qword [rax + 0xf0]
jmp 0x14021ae7b
mov r9d, dword [rsi + 4]
lea rdx, [rbp - 0x58]
and r9d, 0x100
mov r8d, 2
shl r9d, 0x14
mov rcx, r15
or r9d, 0xf
call sym.ErrorReportClient.exe_SfDrawEdge
test byte [rsi + 4], 0x40
je 0x14021b436
cmp dword [rsi + 0x308], 0
je 0x14021b436
mov ecx, 0x12
call qword [sym.imp.GDI32.dll_GetStockObject]
mov rdx, rax
mov rcx, r15
call qword [sym.imp.GDI32.dll_SelectObject]
mov edx, 0xffff
mov rcx, r15
mov rdi, rax
call qword [sym.imp.GDI32.dll_SetDCBrushColor]
mov ecx, 0x13
call qword [sym.imp.GDI32.dll_GetStockObject]
mov rdx, rax
mov rcx, r15
call qword [sym.imp.GDI32.dll_SelectObject]
mov edx, 0x4040
mov rcx, r15
mov rbx, rax
call qword [sym.imp.GDI32.dll_SetDCPenColor]
mov r8d, dword [rsi + 0x32c]
mov ecx, dword [rsi + 0x334]
mov eax, ecx
mov r9d, dword [rsi + 0x338]
sub eax, r8d
cdq
mov dword [rbp + 8], r8d
sub eax, edx
mov dword [rbp + 0x18], ecx
sar eax, 1
lea rdx, [rbp + 8]
add eax, r8d
mov dword [rbp + 0xc], r9d
mov dword [rbp + 0x10], eax
mov r8d, 3
mov eax, dword [rsi + 0x330]
mov rcx, r15
mov dword [rbp + 0x14], eax
mov dword [rbp + 0x1c], r9d
call qword [sym.imp.GDI32.dll_Polygon]
mov rdx, rbx
mov rcx, r15
call qword [sym.imp.GDI32.dll_SelectObject]
mov rdx, rdi
mov rcx, r15
call qword [sym.imp.GDI32.dll_SelectObject]
mov eax, dword [rsi + 0x308]
cmp eax, 3
jne 0x14021b043
lea ecx, [rax + 0xf]
call qword [sym.imp.GDI32.dll_GetStockObject]
mov rdx, rax
mov rcx, r15
call qword [sym.imp.GDI32.dll_SelectObject]
xor edx, edx
mov rcx, r15
mov rbx, rax
call qword [sym.imp.GDI32.dll_SetDCBrushColor]
mov r9d, dword [rsi + 0x330]
mov eax, 0x66666667
mov r8d, dword [rsi + 0x338]
mov ecx, r9d
mov r10d, dword [rsi + 0x32c]
sub ecx, r8d
add ecx, ecx
mov dword [rsp + 0x28], 0xf00021
imul ecx
mov eax, 0x66666667
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub ecx, r9d
add ecx, 0xfffffffc
add ecx, r8d
sub r8d, r9d
add r8d, r8d
mov dword [rsp + 0x20], ecx
imul r8d
mov rcx, r15
mov r8d, edx
sar r8d, 1
mov eax, r8d
shr eax, 0x1f
add r8d, eax
mov eax, dword [rsi + 0x334]
sub eax, r10d
add r8d, r9d
cdq
mov r9d, 1
sub eax, edx
sar eax, 1
lea edx, [r10 + rax]
call qword [sym.imp.GDI32.dll_PatBlt]
mov ecx, dword [rsi + 0x32c]
mov r9d, 1
mov eax, dword [rsi + 0x334]
mov r8d, dword [rsi + 0x338]
sub eax, ecx
cdq
mov dword [rsp + 0x28], 0xf00021
sub eax, edx
mov dword [rsp + 0x20], 2
sar eax, 1
sub r8d, 3
lea edx, [rcx + rax]
mov rcx, r15
call qword [sym.imp.GDI32.dll_PatBlt]
jmp 0x14021b2b3
cmp eax, 2
jne 0x14021b143
lea ecx, [rax + 0x10]
call qword [sym.imp.GDI32.dll_GetStockObject]
mov rdx, rax
mov rcx, r15
call qword [sym.imp.GDI32.dll_SelectObject]
xor edx, edx
mov rcx, r15
mov rbx, rax
call qword [sym.imp.GDI32.dll_SetDCBrushColor]
mov r9d, dword [rsi + 0x32c]
mov ecx, dword [rsi + 0x334]
mov r8d, dword [rsi + 0x338]
sub ecx, r9d
sub r8d, 2
lea eax, [rcx + rcx*2]
mov rcx, r15
cdq
and edx, 7
add edx, eax
sar edx, 3
add edx, r9d
xor r9d, r9d
call qword [sym.imp.GDI32.dll_MoveToEx]
mov ecx, dword [rsi + 0x330]
mov r9d, dword [rsi + 0x32c]
mov eax, dword [rsi + 0x338]
sub eax, ecx
cdq
sub eax, edx
sar eax, 1
lea r8d, [rcx + rax]
mov ecx, dword [rsi + 0x334]
sub ecx, r9d
lea eax, [rcx + rcx*2]
mov rcx, r15
cdq
and edx, 7
add edx, eax
sar edx, 3
add edx, r9d
call qword [sym.imp.GDI32.dll_LineTo]
mov ecx, dword [rsi + 0x32c]
mov eax, dword [rsi + 0x334]
mov r8d, dword [rsi + 0x338]
sub eax, ecx
sub r8d, 2
lea eax, [rax + rax*4]
cdq
and edx, 7
add edx, eax
sar edx, 3
add edx, ecx
mov rcx, r15
call qword [sym.imp.GDI32.dll_LineTo]
mov ecx, dword [rsi + 0x330]
mov eax, dword [rsi + 0x338]
mov r9d, dword [rsi + 0x32c]
sub eax, ecx
cdq
sub eax, edx
sar eax, 1
lea r8d, [rcx + rax]
mov ecx, dword [rsi + 0x334]
sub ecx, r9d
lea eax, [rcx + rcx*4]
jmp 0x14021b29e
cmp eax, 1
jne 0x14021b2bf
lea ecx, [rax + 0x11]
call qword [sym.imp.GDI32.dll_GetStockObject]
mov rdx, rax
mov rcx, r15
call qword [sym.imp.GDI32.dll_SelectObject]
xor edx, edx
mov rcx, r15
mov rbx, rax
call qword [sym.imp.GDI32.dll_SetDCBrushColor]
mov r9d, dword [rsi + 0x32c]
mov ecx, dword [rsi + 0x334]
mov r8d, dword [rsi + 0x338]
sub ecx, r9d
sub r8d, 2
lea eax, [rcx + rcx*2]
mov rcx, r15
cdq
and edx, 7
add edx, eax
sar edx, 3
add edx, r9d
xor r9d, r9d
call qword [sym.imp.GDI32.dll_MoveToEx]
mov ecx, dword [rsi + 0x330]
mov r9d, dword [rsi + 0x32c]
mov eax, dword [rsi + 0x338]
sub eax, ecx
cdq
sub eax, edx
sar eax, 1
lea r8d, [rcx + rax]
mov ecx, dword [rsi + 0x334]
sub ecx, r9d
lea eax, [rcx + rcx*2]
mov rcx, r15
cdq
and edx, 7
add edx, eax
sar edx, 3
add edx, r9d
call qword [sym.imp.GDI32.dll_LineTo]
mov ecx, dword [rsi + 0x330]
mov r9d, dword [rsi + 0x32c]
mov eax, dword [rsi + 0x338]
sub eax, ecx
cdq
sub eax, edx
sar eax, 1
lea r8d, [rcx + rax]
mov ecx, dword [rsi + 0x334]
sub ecx, r9d
lea eax, [rcx + rcx*4]
mov rcx, r15
cdq
and edx, 7
add edx, eax
sar edx, 3
add edx, r9d
call qword [sym.imp.GDI32.dll_LineTo]
mov ecx, dword [rsi + 0x330]
mov eax, dword [rsi + 0x338]
mov r9d, dword [rsi + 0x32c]
sub eax, ecx
lea eax, [rax + rax*2]
cdq
and edx, 3
lea r8d, [rdx + rax]
sar r8d, 2
add r8d, ecx
mov ecx, dword [rsi + 0x334]
sub ecx, r9d
lea eax, [rcx + rcx*4]
mov rcx, r15
cdq
and edx, 7
add edx, eax
sar edx, 3
add edx, r9d
call qword [sym.imp.GDI32.dll_LineTo]
mov ecx, dword [rsi + 0x330]
mov r9d, dword [rsi + 0x32c]
mov eax, dword [rsi + 0x338]
sub eax, ecx
lea eax, [rax + rax*2]
cdq
and edx, 3
lea r8d, [rdx + rax]
sar r8d, 2
add r8d, ecx
mov ecx, dword [rsi + 0x334]
sub ecx, r9d
lea eax, [rcx + rcx*2]
cdq
mov rcx, r15
and edx, 7
add edx, eax
sar edx, 3
add edx, r9d
call qword [sym.imp.GDI32.dll_LineTo]
mov rdx, rbx
mov rcx, r15
call qword [sym.imp.GDI32.dll_SelectObject]
test byte [rsi + 4], 1
lea rcx, [rsi + 0x30c]
je 0x14021b2ff
movss xmm0, dword [rsi + 0x314]
addss xmm0, dword [rsi + 0x310]
mov dword [rbp - 0x2c], 0x3f800000
addss xmm0, dword [rcx]
lea rcx, [rbp - 0x38]
divss xmm0, xmm11
movss dword [rbp - 0x38], xmm0
movss dword [rbp - 0x34], xmm0
movss dword [rbp - 0x30], xmm0
test rcx, rcx
je 0x14021b345
movss xmm0, dword [rcx + 4]
mulss xmm0, xmm10
cvttss2si eax, xmm0
movss xmm0, dword [rcx]
mulss xmm0, xmm10
movzx r14d, al
shl r14d, 8
cvttss2si eax, xmm0
movss xmm0, dword [rcx + 8]
movzx edx, al
shl edx, 0x10
mulss xmm0, xmm10
or r14d, edx
cvttss2si eax, xmm0
movzx r8d, al
or r14d, r8d
mov ecx, 0x12
call qword [sym.imp.GDI32.dll_GetStockObject]
mov rdx, rax
mov rcx, r15
call qword [sym.imp.GDI32.dll_SelectObject]
mov edx, r14d
mov rcx, r15
mov rbx, rax
call qword [sym.imp.GDI32.dll_SetDCBrushColor]
mov ecx, dword [rsi + 0x328]
mov r8d, dword [rsi + 0x320]
sub ecx, r8d
mov r9d, dword [rsi + 0x324]
mov edx, dword [rsi + 0x31c]
sub r9d, edx
mov dword [rsp + 0x28], 0xf00021
mov dword [rsp + 0x20], ecx
mov rcx, r15
call qword [sym.imp.GDI32.dll_PatBlt]
mov rdx, rbx
mov rcx, r15
call qword [sym.imp.GDI32.dll_SelectObject]
movups xmm0, xmmword [rsi + 0x31c]
movups xmmword [rbp - 0x58], xmm0
inc dword [rbp - 0x50]
dec dword [rbp - 0x54]
inc dword [rbp - 0x4c]
movd eax, xmm0
dec eax
cmp dword [rsp + 0x60], 0
mov dword [rbp - 0x58], eax
je 0x14021b411
mov qword [rsp + 0x38], 0
lea rax, [rbp - 0x58]
mov dword [rsp + 0x30], 0xf
mov r9d, 1
mov dword [rsp + 0x28], 8
mov r8d, r9d
mov qword [rsp + 0x20], rax
mov rdx, r15
mov rax, qword [0x140699300]
mov rcx, qword [rax + 0x10]
call qword [rax + 0xf0]
jmp 0x14021b436
mov r9d, dword [rsi + 4]
lea rdx, [rbp - 0x58]
and r9d, 0x100
mov r8d, 8
shl r9d, 0x14
mov rcx, r15
or r9d, 0xf
call sym.ErrorReportClient.exe_SfDrawEdge
test byte [rsi + 4], 1
movaps xmm11, xmmword [rsp + 0x140]
movaps xmm10, xmmword [rsp + 0x150]
mov r14, qword [rsp + 0x1a0]
mov rdi, qword [rsp + 0x1b8]
mov rbx, qword [rsp + 0x1f0]
jne case.default.0x14021b48e
mov eax, dword [rsi + 0x250]
dec eax
cmp eax, 7
ja case.default.0x14021b48e
lea rdx, [0x140000000]
cdqe
mov ecx, dword [rdx + rax*4 + 0x21b538]
add rcx, rdx
jmp rcx
lea rax, [rsi + 0x2e8]
jmp 0x14021b4cb
mov rax, qword [rbp - 0x60]
jmp 0x14021b4cb
lea rax, [rsi + 0x298]
jmp 0x14021b4cb
lea rax, [rsi + 0x2a8]
jmp 0x14021b4cb
lea rax, [rsi + 0x2b8]
jmp 0x14021b4cb
mov rax, r13
jmp 0x14021b4cb
mov rax, r12
jmp 0x14021b4cb
lea rax, [rsi + 0x31c]
test rax, rax
je case.default.0x14021b48e
movups xmm0, xmmword [rax]
mov rcx, r15
movups xmmword [rbp - 0x38], xmm0
sub dword [rbp - 0x38], 2
movq rdx, xmm0
shr rdx, 0x20
sub edx, 2
mov dword [rbp - 0x34], edx
mov rdx, qword [rbp - 0x30]
add dword [rbp - 0x30], 2
shr rdx, 0x20
add edx, 2
mov dword [rbp - 0x2c], edx
lea rdx, [rbp - 0x38]
call qword [sym.imp.USER32.dll_DrawFocusRect]
mov r13, qword [rsp + 0x1a8]
mov eax, 1
mov r12, qword [rsp + 0x1b0]
mov rcx, qword [rbp + 0x28]
xor rcx, rsp
call fcn.14039bbb0
add rsp, 0x1c0
pop r15
pop rsi
pop rbp
ret