Function at 0x14013c3e4
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x488
movaps xmmword [rsp + 0x470], xmm6
mov rbx, rdx
mov rdi, rcx
mov r14d, dword [rdx]
mov ecx, 0x18
mov edx, 8
call fcn.1400235d0
test rax, rax
je 0x14013d96b
mov rsi, rax
xor eax, eax
mov qword [rsi], rax
mov qword [rsi + 8], 4
mov qword [rsi + 0x10], rax
lea r8, [0x1400462bd]
xor ecx, ecx
xor edx, edx
mov r9, rsi
call qword [sym.imp.user32.dll_EnumDisplayMonitors]
test eax, eax
je 0x14013c7e3
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0xa8], rdi
mov qword [rsp + 0x390], rsi
imul r15, qword [rsi + 0x10], 0x68
mov rax, qword [rsi + 8]
add r15, rax
xor r12d, r12d
lea rbx, [rsp + 0x130]
cmp rax, r15
je 0x14013c7ce
mov rbp, rax
mov ecx, 0x1a
lea rdi, [rsp + 0x210]
mov rsi, rax
rep movsd dword [rdi], dword [rsi]
xor r8d, r8d
cmp word [rsp + r8*2 + 0x238], 0
lea r8, [r8 + 1]
jne 0x14013c49d
mov rcx, rbx
lea rdx, [rsp + 0x238]
call fcn.14004622f
mov rcx, rbx
call fcn.140046156
sub rdx, 1
jb 0x14013d92a
mov rsi, rax
lea rax, [rax + rdx*2]
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x138], rsi
mov word [rsp + 0x140], r12w
lea rcx, [rsp + 0xc8]
mov rdx, rbx
call fcn.14017ef26
mov word [rsi], r12w
mov rcx, qword [0x1403ce198]
xor edx, edx
mov r8, rsi
mov r13, qword [sym.imp.kernel32.dll_HeapFree]
call r13
mov rsi, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0xd8]
mov rcx, rsi
call fcn.140143f54
mov edi, eax
cmp qword [rsp + 0xc8], 0
je 0x14013c54d
mov rcx, qword [0x1403ce198]
xor edx, edx
mov r8, rsi
call r13
lea rax, [rbp + 0x68]
cmp edi, r14d
jne 0x14013c47c
lea rbx, [rsp + 0x408]
mov ecx, 0x1a
mov rdi, rbx
mov rsi, rbp
rep movsd dword [rdi], dword [rsi]
lea rbp, [rsp + 0x390]
mov rcx, rbp
call fcn.1400051f0
movups xmm0, xmmword [rbx + 0x28]
movups xmm1, xmmword [rbx + 0x38]
movups xmm2, xmmword [rbx + 0x48]
movups xmm3, xmmword [rbx + 0x58]
movaps xmmword [rbp + 0x30], xmm3
movaps xmmword [rbp + 0x20], xmm2
movaps xmmword [rbp + 0x10], xmm1
mov rdx, qword [rsp + 0x78]
mov eax, dword [rdx + 0xc]
mov ecx, dword [rdx + 0x10]
xorps xmm1, xmm1
cvtsi2ss xmm1, rax
movss xmm2, dword [rdx + 0x14]
mulss xmm1, xmm2
cvttss2si esi, xmm1
movss xmm3, dword [0x1402ade90]
ucomiss xmm1, xmm3
mov eax, 0x7fffffff
cmova esi, eax
xor r14d, r14d
ucomiss xmm1, xmm1
cmovp esi, r14d
xorps xmm1, xmm1
cvtsi2ss xmm1, rcx
mulss xmm1, xmm2
cvttss2si edi, xmm1
ucomiss xmm1, xmm3
movaps xmmword [rbp], xmm0
cmova edi, eax
ucomiss xmm1, xmm1
cmovp edi, r14d
lea rcx, [rsp + 0x390]
mov rdx, rcx
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.gdi32.dll_CreateDCW]
mov rbx, rax
mov rcx, rax
call qword [sym.imp.gdi32.dll_CreateCompatibleDC]
mov r13, rax
mov rcx, rbx
mov edx, esi
mov r8d, edi
call qword [sym.imp.gdi32.dll_CreateCompatibleBitmap]
mov r12, rax
mov rcx, r13
mov rdx, rax
call qword [sym.imp.gdi32.dll_SelectObject]
mov rcx, rbx
mov edx, 4
call qword [sym.imp.gdi32.dll_SetStretchBltMode]
mov dword [rsp + 0x48], edi
mov dword [rsp + 0x40], esi
mov dword [rsp + 0x38], r14d
mov dword [rsp + 0x30], r14d
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], edi
mov dword [rsp + 0x50], 0xcc0020
mov rcx, r13
xor edx, edx
xor r8d, r8d
mov r9d, esi
call qword [sym.imp.gdi32.dll_StretchBlt]
test eax, eax
je 0x14013c807
mov qword [rsp + 0x68], rbx
lea rbx, [rsp + 0x3d8]
mov dword [rbx], 0x28
mov dword [rbx + 4], esi
mov dword [rbx + 8], edi
mov dword [rbx + 0xc], 0x200001
mov r14d, edi
imul r14d, esi
movsxd rbp, r14d
shl rbp, 2
xorps xmm6, xmm6
movups xmmword [rbx + 0x10], xmm6
movups xmmword [rbx + 0x1c], xmm6
mov rcx, rbp
mov dl, 1
call fcn.140034043
mov r15, rax
mov qword [rsp + 0x28], rbx
mov rbx, rdx
mov qword [rsp + 0x20], rdx
mov dword [rsp + 0x30], 0
mov rcx, r13
mov rdx, r12
xor r8d, r8d
mov r9d, edi
call sub.gdi32.dll_GetDIBits
test eax, eax
je 0x14013c833
mov qword [rsp + 0x80], r13
lea r8, [rsp + 0x370]
movaps xmmword [r8 + 0x10], xmm6
movaps xmmword [r8], xmm6
mov qword [rsp + 0xa0], r12
mov rcx, r12
mov edx, 0x20
call sub.gdi32.dll_GetObjectW
movsxd r8, esi
shl r8, 2
mov qword [rsp + 0x130], r8
test esi, esi
je 0x14013d97c
test r14d, r14d
mov r12, qword [sym.imp.kernel32.dll_HeapFree]
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0x208], r15
je 0x14013c875
mov r13, rbx
mov rax, rbp
xor edx, edx
div r8
xor ebx, ebx
test rdx, rdx
setne bl
add rbx, rax
je 0x14013c89d
movabs rax, 0x555555555555556
xor edi, edi
cmp rbx, rax
setb al
jae 0x14013d9de
lea rcx, [rbx*8]
mov dil, al
shl rdi, 3
lea rsi, [rcx + rcx*2]
test rsi, rsi
je 0x14013c8a6
mov rcx, rsi
mov rdx, rdi
mov r14, rbp
mov rbp, r8
call fcn.1400235d0
mov r8, rbp
mov rbp, r14
mov rcx, rax
jmp 0x14013c8a9
lea rcx, [rsp + 0x390]
call fcn.1400051f0
mov rdi, qword [rsp + 0xa8]
mov qword [rdi + 8], 0
movaps xmm6, xmmword [rsp + 0x470]
add rsp, 0x488
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rsi, qword [sym.imp.gdi32.dll_DeleteDC]
mov rcx, rbx
call rsi
mov rcx, r13
call rsi
mov rcx, r12
call qword [sym.imp.gdi32.dll_DeleteObject]
mov rax, qword [rsp + 0xa8]
mov qword [rax + 8], 0
jmp 0x14013c7eb
mov rsi, qword [sym.imp.gdi32.dll_DeleteDC]
mov rcx, qword [rsp + 0x68]
call rsi
mov rcx, r13
call rsi
mov rcx, r12
call qword [sym.imp.gdi32.dll_DeleteObject]
mov rax, qword [rsp + 0xa8]
mov qword [rax + 8], 0
test r15, r15
je 0x14013c7eb
mov rcx, qword [0x1403ce198]
xor edx, edx
mov r8, rbx
jmp 0x14013d430
xor esi, esi
mov qword [rsp + 0xb0], rsi
mov qword [rsp + 0xb8], 8
mov qword [rsp + 0xc0], rsi
mov ebx, 8
jmp 0x14013c988
mov ecx, 8
xor ebx, ebx
jmp 0x14013c8b2
mov rcx, rdi
test rcx, rcx
je 0x14013d9e5
mov qword [rsp + 0xb0], rbx
mov qword [rsp + 0xb8], rcx
mov qword [rsp + 0xc0], 0
mov rax, rbp
xor edx, edx
div r8
xor esi, esi
cmp rdx, 1
sbb rax, 0xffffffffffffffff
cmp rbx, rax
jb 0x14013d43b
lea rax, [rsi + rsi*2]
lea rax, [rax*8 - 0x18]
mov rdi, r13
mov r13, rax
cmp rbp, r8
mov rbx, r8
cmovb rbx, rbp
lea rax, [rdi + rbx]
mov qword [rsp + 0x78], rax
mov r15, rcx
mov rcx, rbx
xor edx, edx
mov r12, rbp
mov rbp, r8
call fcn.140034043
mov qword [rsp + 0x88], rax
mov r14, rdx
mov rcx, rdx
mov rdx, rdi
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
mov rcx, r15
mov r8, rbp
mov rbp, r12
inc rsi
lea rax, [r13 + 0x18]
mov rdx, qword [rsp + 0x88]
mov qword [r15 + r13 + 0x18], rdx
mov qword [r15 + r13 + 0x20], r14
mov qword [r15 + r13 + 0x28], rbx
mov rdi, qword [rsp + 0x78]
sub rbp, rbx
jne 0x14013c8f8
mov rbx, qword [rsp + 0xb8]
mov qword [rsp + 0xc0], rsi
cmp rsi, 2
jae 0x14013c997
mov r12, qword [sym.imp.kernel32.dll_HeapFree]
mov rdi, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x68]
jmp 0x14013ca0a
shr rsi, 1
add rax, rbx
mov r12, qword [sym.imp.kernel32.dll_HeapFree]
mov rdi, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rbx + 0x10]
mov qword [rsp + 0x220], rdx
movups xmm0, xmmword [rbx]
movaps xmmword [rsp + 0x210], xmm0
mov rdx, qword [rax + 0x10]
mov qword [rbx + 0x10], rdx
movups xmm0, xmmword [rax]
movups xmmword [rbx], xmm0
mov rdx, qword [rsp + 0x220]
mov qword [rax + 0x10], rdx
movaps xmm0, xmmword [rsp + 0x210]
movups xmmword [rax], xmm0
add rbx, 0x18
add rax, 0xffffffffffffffe8
dec rsi
jne 0x14013c9b1
mov rbx, qword [rsp + 0xb8]
mov rsi, qword [rsp + 0xc0]
mov rbp, qword [sym.imp.gdi32.dll_DeleteDC]
call rbp
mov rcx, rdi
call rbp
mov rcx, qword [rsp + 0xa0]
call qword [sym.imp.gdi32.dll_DeleteObject]
test rsi, rsi
je 0x14013ca4b
lea rax, [rsi*8]
lea rax, [rax + rax*2]
xor edx, edx
xor ecx, ecx
add rcx, qword [rbx + rdx + 0x10]
add rdx, 0x18
cmp rax, rdx
jne 0x14013ca3b
jmp 0x14013ca4d
xor ecx, ecx
mov r14d, dword [rsp + 0x374]
mov eax, dword [rsp + 0x378]
mov dword [rsp + 0x64], eax
xor edi, edi
xor edx, edx
call fcn.140034043
mov qword [rsp + 0x1c0], rax
mov qword [rsp + 0x1c8], rdx
mov qword [rsp + 0x1d0], 0
test rsi, rsi
je 0x14013cac9
shl rsi, 3
lea rdi, [rsi + rsi*2]
xor ebp, ebp
lea rsi, [rsp + 0x1c0]
mov rdx, qword [rbx + rbp + 8]
mov r8, qword [rbx + rbp + 0x10]
mov rcx, rsi
call fcn.14013b1b2
add rbp, 0x18
cmp rdi, rbp
jne 0x14013ca9c
mov r13, qword [rsp + 0x1c8]
mov rdi, qword [rsp + 0x1d0]
jmp 0x14013cacc
mov r13, rdx
xor ebx, ebx
mov qword [rsp + 0x1a8], rbx
mov qword [rsp + 0x1b0], 1
mov qword [rsp + 0x1b8], rbx
mov rcx, rdi
xor edx, edx
call fcn.140034043
mov r15, rax
mov rbp, rdx
mov rcx, rdx
mov rdx, r13
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
xor ecx, ecx
mov esi, dword [rsp + 0x64]
mov r13, qword [rsp + 0x98]
test bl, 1
je 0x14013cb21
add rcx, 3
jb 0x14013cb65
cmp rcx, rdi
jae 0x14013cb65
cmp rdi, rcx
jbe 0x14013d60f
lea rax, [rcx + 2]
cmp rdi, rax
jbe 0x14013d618
mov al, byte [rbp + rcx]
mov dl, byte [rbp + rcx + 2]
mov byte [rbp + rcx], dl
mov byte [rbp + rcx + 2], al
lea rax, [rcx + 3]
cmp rdi, rax
jbe 0x14013d621
inc rcx
mov byte [rbp + rax], 0xff
mov bl, 1
jmp 0x14013cb16
mov qword [rsp + 0x1a0], r15
mov qword [rsp + 0x120], rbp
lea rax, [rsp + 0x1a8]
lea rdx, [rsp + 0x210]
mov qword [rdx], rax
mov eax, 2
mov qword [rdx + 8], rax
mov qword [rdx + 0x28], rax
mov qword [rdx + 0x48], rax
xor eax, eax
mov qword [rdx + 0x68], rax
mov ecx, 8
mov qword [rdx + 0x70], rcx
xorps xmm0, xmm0
movups xmmword [rdx + 0x78], xmm0
mov qword [rdx + 0x88], rcx
movups xmmword [rdx + 0x90], xmm0
mov qword [rdx + 0xa0], rcx
mov qword [rdx + 0xa8], rax
mov dword [rdx + 0xb0], eax
mov dword [rdx + 0xb8], eax
mov dword [rsp + 0x12c], r14d
mov dword [rdx + 0xc0], r14d
mov dword [rdx + 0xc4], esi
mov cl, 2
mov byte [rdx + 0xd0], cl
mov byte [rdx + 0xed], cl
mov dword [rdx + 0xf0], eax
mov dword [rdx + 0x114], eax
mov dword [rdx + 0x120], eax
mov dword [rdx + 0x144], 0x4010608
mov byte [rdx + 0x148], 0
mov dword [rdx + 0x150], 0x101
lea rbp, [rsp + 0x130]
mov rcx, rbp
call fcn.14013dcfc
mov eax, dword [rbp + 0x3c]
mov r14, qword [rbp]
mov r15, qword [rbp + 8]
mov rbp, qword [rbp + 0x10]
cmp eax, 2
je 0x14013d2ab
mov ecx, dword [rsp + 0x168]
mov dword [rsp + 0x100], ecx
movups xmm0, xmmword [rsp + 0x148]
movups xmm1, xmmword [rsp + 0x158]
movups xmmword [rsp + 0xf0], xmm1
movups xmmword [rsp + 0xe0], xmm0
movups xmm0, xmmword [rsp + 0x170]
movups xmmword [rsp + 0x108], xmm0
mov qword [rsp + 0xc8], r14
mov qword [rsp + 0xd0], r15
mov qword [rsp + 0xd8], rbp
mov dword [rsp + 0x104], eax
cmp byte [rsp + 0x111], 3
mov r13d, 3
jne 0x14013ccd1
cmp byte [rsp + 0x113], 0
jne 0x14013ccd1
mov r15d, 3
jmp 0x14013d290
mov rcx, rbp
shr rcx, 0x38
je 0x14013ccf0
test eax, eax
je 0x14013d281
cmp byte [rsp + 0x101], 2
je 0x14013d28a
mov qword [rsp + 0x118], rbp
lea r14, [rsp + 0xe0]
cmp byte [r14 + 0x21], 2
lea rax, [rsp + 0xec]
lea rcx, [rsp + 0xf0]
lea rdx, [rsp + 0xe4]
cmovne rdx, rcx
mov r15d, dword [rdx]
cmove rax, r14
mov r13d, dword [rax]
lea rbp, [rsp + 0x210]
mov rcx, rbp
mov rdx, r14
call fcn.14007aad6
movzx eax, byte [rbp + 0x13d]
movzx ecx, byte [rbp + 0x13c]
lea rdx, [0x1403a2778]
imul r13, qword [rdx + rax*8]
cmp ecx, 8
je 0x14013cd8d
cmp ecx, 0x10
jne 0x14013cd67
add r13, r13
jmp 0x14013cd8d
cmp cl, 8
ja 0x14013d93d
mov al, 8
movzx eax, al
div cl
movzx ecx, al
mov rax, r13
xor edx, edx
div rcx
cmp rdx, 1
mov r13, rax
sbb r13, 0xffffffffffffffff
lea rcx, [rsp + 0x210]
call fcn.14007abb4
imul r15, r13
cmp r15, rdi
jne 0x14013d27c
mov rcx, r13
mov dl, 1
call fcn.140034043
mov r15, rax
mov rbp, rdx
mov rcx, r13
mov dl, 1
call fcn.140034043
mov r12, rax
mov qword [rsp + 0x70], rdx
movzx eax, byte [rsp + 0x112]
lea rcx, [0x1403a27b0]
mov edx, dword [rcx + rax*4]
xor ebx, ebx
lea rsi, [rsp + 0x228]
mov qword [rsi - 0x18], rbx
mov qword [rsi - 0x10], 1
mov qword [rsi - 8], rbx
mov rcx, rsi
mov r8b, 1
call fcn.14004d647
mov ecx, 0x8000
xor edx, edx
call fcn.140034043
movups xmm0, xmmword [rsi - 0x18]
movups xmm1, xmmword [rsi - 8]
movups xmm2, xmmword [rsi + 8]
movaps xmmword [rsp + 0x130], xmm0
movaps xmmword [rsp + 0x140], xmm1
movaps xmmword [rsp + 0x150], xmm2
mov qword [rsp + 0x160], rax
mov qword [rsp + 0x168], rdx
mov qword [rsp + 0x170], rbx
lea rsi, [rsp + 0x210]
mov rcx, rsi
mov rdx, r14
call fcn.14007aad6
movzx eax, byte [rsi + 0x13d]
lea rcx, [0x1403a27c8]
movzx edx, byte [rsi + 0x13c]
add rdx, 7
shr rdx, 3
imul rdx, qword [rcx + rax*8]
mov qword [rsp + 0xa0], rdx
lea rax, [rdx - 1]
cmp rax, 4
jb 0x14013cea9
cmp qword [rsp + 0xa0], 6
je 0x14013cea9
cmp qword [rsp + 0xa0], 8
jne 0x14013da45
mov qword [rsp + 0x190], r12
mov qword [rsp + 0x198], r15
lea rcx, [rsp + 0x210]
call fcn.14007abb4
mov qword [rsp + 0x1d8], r13
test r13, r13
mov rsi, qword [rsp + 0x120]
je 0x14013d9f9
mov rax, qword [rsp + 0x118]
mov rcx, rax
shr rcx, 0x20
mov qword [rsp + 0x1f0], rcx
shr rax, 0x28
mov qword [rsp + 0x118], rax
mov r12, 0xffffffffffffffff
lea rbx, [rsp + 0x130]
mov qword [rsp + 0x188], rbp
mov qword [rsp + 0x68], rbp
mov r14, qword [rsp + 0x70]
test rdi, rdi
je 0x14013d463
mov rbp, rdi
sub rbp, r13
jb 0x14013d9cf
mov rcx, r14
mov rdx, rsi
mov r8, r13
call sub.VCRUNTIME140.dll_memcpy
cmp byte [rsp + 0x118], 0
mov qword [rsp + 0x200], rsi
mov qword [rsp + 0x1f8], rbp
je 0x14013cf95
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r13
mov rsi, qword [rsp + 0x1f0]
mov ecx, esi
mov rdx, qword [rsp + 0xa0]
mov r8, r13
mov r9, qword [rsp + 0x68]
call fcn.14007af40
mov eax, esi
jmp 0x14013d12c
mov rcx, r13
mov dl, 1
call fcn.140034043
mov qword [rsp + 0x78], rax
mov rbx, rdx
mov rcx, rdx
mov rdx, r14
mov r8, r13
call sub.VCRUNTIME140.dll_memcpy
mov rcx, r13
mov dl, 1
call fcn.140034043
mov qword [rsp + 0x80], rax
mov rsi, rdx
xor eax, eax
xor edi, edi
mov cl, byte [rbx + rax]
mov edx, ecx
sar dl, 7
xor cl, dl
sub cl, dl
movzx ecx, cl
add rdi, rcx
cmovb rdi, r12
inc rax
cmp r13, rax
jne 0x14013cfce
mov qword [rsp + 0x88], rbx
mov dword [rsp + 0x94], 0
lea rbp, [0x14030d8a0]
cmp r13, r13
jne 0x14013d957
mov r14b, byte [rbp]
inc rbp
mov rcx, rsi
mov rdx, qword [rsp + 0x70]
mov r8, r13
call sub.VCRUNTIME140.dll_memcpy
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], r13
mov ecx, r14d
mov rdx, qword [rsp + 0xa0]
mov r8, r13
mov r9, qword [rsp + 0x68]
call fcn.14007af40
xor ecx, ecx
xor eax, eax
mov dl, byte [rsi + rcx]
mov ebx, edx
sar bl, 7
xor dl, bl
sub dl, bl
movzx edx, dl
add rax, rdx
cmovb rax, r12
inc rcx
cmp r13, rcx
jne 0x14013d051
cmp rax, rdi
jae 0x14013d0b0
mov r15, qword [rsp + 0x80]
mov rbx, rsi
mov rcx, qword [rsp + 0x78]
mov qword [rsp + 0x80], rcx
mov rsi, qword [rsp + 0x88]
mov ecx, r14d
mov dword [rsp + 0x94], ecx
mov qword [rsp + 0x78], r15
mov qword [rsp + 0x88], rbx
mov rdi, rax
jmp 0x14013d0bd
mov r15, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x88]
lea rax, [0x14030d8a4]
cmp rbp, rax
jne 0x14013d006
cmp r13, r13
jne 0x14013d9ed
mov r14, qword [rsp + 0x70]
mov rcx, r14
mov rdx, rbx
mov r8, r13
call sub.VCRUNTIME140.dll_memcpy
cmp qword [rsp + 0x80], 0
je 0x14013d106
mov rcx, qword [0x1403ce198]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
test r15, r15
je 0x14013d11d
mov rcx, qword [0x1403ce198]
xor edx, edx
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapFree]
lea rbx, [rsp + 0x130]
mov eax, dword [rsp + 0x94]
mov byte [rsp + 0x210], al
mov r8d, 1
mov rcx, rbx
lea rdx, [rsp + 0x210]
call fcn.14007a710
test rax, rax
jne 0x14013d180
mov rbp, qword [rsp + 0x200]
mov rsi, rbp
add rsi, r13
mov rcx, rbx
mov rdx, r14
mov r8, r13
call fcn.14007a710
mov rdi, qword [rsp + 0x1f8]
mov qword [rsp + 0x68], rbp
test rax, rax
je 0x14013cf23
mov r15, rax
lea rdi, [rsp + 0x130]
mov rcx, rdi
call fcn.14007aaaf
mov r8, qword [rdi + 8]
test r8, r8
mov r12, qword [sym.imp.kernel32.dll_HeapFree]
je 0x14013d1bd
cmp qword [rsp + 0x130], 0
je 0x14013d1bd
mov rcx, qword [0x1403ce198]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rsi, qword [rsp + 0x158]
mov r8, qword [rsi + 0x10060]
mov rcx, qword [0x1403ce198]
xor edx, edx
call r12
mov r8, qword [rsi + 0x10048]
mov rcx, qword [0x1403ce198]
xor edx, edx
call r12
mov r8, qword [rsi + 0x28]
mov rcx, qword [0x1403ce198]
xor edx, edx
call r12
mov r8, qword [rsp + 0x158]
mov rcx, qword [0x1403ce198]
xor edx, edx
call r12
mov r13d, 2
cmp qword [rsp + 0x160], 0
je 0x14013d237
mov r8, qword [rsp + 0x168]
mov rcx, qword [0x1403ce198]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov esi, dword [rsp + 0x64]
cmp qword [rsp + 0x190], 0
je 0x14013d258
mov rcx, qword [0x1403ce198]
xor edx, edx
mov r8, r14
call qword [sym.imp.kernel32.dll_HeapFree]
cmp qword [rsp + 0x198], 0
je 0x14013d290
mov rcx, qword [0x1403ce198]
xor edx, edx
mov r8, qword [rsp + 0x188]
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x14013d290
xor r13d, r13d
jmp 0x14013d290
test r14, r14
je 0x14013ccf0
mov r15d, 7
lea rcx, [rsp + 0xc8]
call fcn.14013dc5d
mov rbp, rdi
mov r14, r13
mov r13, qword [rsp + 0x98]
cmp qword [rsp + 0x1a0], 0
je 0x14013d2cd
mov rcx, qword [0x1403ce198]
xor edx, edx
mov r8, qword [rsp + 0x120]
call qword [sym.imp.kernel32.dll_HeapFree]
cmp qword [rsp + 0x1a8], 0
je 0x14013d2ef
mov r8, qword [rsp + 0x1b0]
mov rcx, qword [0x1403ce198]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov dil, 1
xor ebx, ebx
cmp qword [rsp + 0x1c0], 0
je 0x14013d316
mov r8, qword [rsp + 0x1c8]
mov rcx, qword [0x1403ce198]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
test bl, bl
je 0x14013d33c
mov rax, qword [rsp + 0xa8]
mov qword [rax], r14
mov qword [rax + 8], r15
mov qword [rax + 0x10], rbp
mov ecx, dword [rsp + 0x12c]
mov dword [rax + 0x18], ecx
mov dword [rax + 0x1c], esi
jmp 0x14013d34c
mov rax, qword [rsp + 0xa8]
mov qword [rax + 8], 0
mov rax, qword [rsp + 0xc0]
test rax, rax
je 0x14013d38c
mov rbx, qword [rsp + 0xb8]
shl rax, 3
lea rbp, [rax + rax*2]
xor esi, esi
cmp qword [rbx + rsi], 0
je 0x14013d383
mov r8, qword [rbx + rsi + 8]
mov rcx, qword [0x1403ce198]
xor edx, edx
call r12
add rsi, 0x18
cmp rbp, rsi
jne 0x14013d36b
cmp qword [rsp + 0xb0], 0
je 0x14013d3ae
mov r8, qword [rsp + 0xb8]
mov rcx, qword [0x1403ce198]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
cmp qword [rsp + 0x208], 0
je 0x14013d3cb
mov rcx, qword [0x1403ce198]
xor edx, edx
mov r8, r13
call qword [sym.imp.kernel32.dll_HeapFree]
cmp r14, 2
sete al
and dil, al
cmp dil, 1
jne 0x14013c7eb
mov eax, r15d
and eax, 3
cmp eax, 1
jne 0x14013c7eb
lea rdi, [r15 - 1]
mov rcx, qword [r15 - 1]
mov rax, qword [r15 + 7]
call qword [rax]
mov rax, qword [r15 + 7]
cmp qword [rax + 8], 0
je 0x14013d424
mov r8, qword [rdi]
cmp qword [rax + 0x10], 0x11
jb 0x14013d415
mov r8, qword [r8 - 8]
mov rcx, qword [0x1403ce198]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
mov rcx, qword [0x1403ce198]
xor edx, edx
mov r8, rdi
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x14013c7eb
lea rdi, [rsp + 0xb0]
mov rcx, rdi
xor edx, edx
mov rsi, r8
mov r8, rax
call fcn.1402aa742
mov r8, rsi
mov rcx, qword [rdi + 8]
mov rsi, qword [rdi + 0x10]
jmp 0x14013c8e9
lea rdx, [rsp + 0x210]
lea rsi, [rsp + 0x130]
mov ecx, 9
mov rdi, rdx
rep movsq qword [rdi], qword [rsi]
lea rdi, [rsp + 0x1d8]
mov rcx, rdi
call fcn.14007a9a9
mov r15, qword [rdi]
mov r12, qword [rdi + 8]
test r12, r12
je 0x14013d635
mov rdi, qword [rsp + 0x1e8]
cmp byte [rsp + 0x101], 2
mov esi, dword [rsp + 0x64]
je 0x14013d4d3
cmp byte [rsp + 0xde], 0
mov rbp, qword [rsp + 0xc8]
je 0x14013d65c
test rbp, rbp
jne 0x14013d65c
mov rdx, qword [rsp + 0xd0]
lea rbp, [rsp + 0x210]
mov rcx, rbp
mov r8, r12
mov r9, rdi
call fcn.14013dbd6
mov r13, qword [rbp]
cmp r13, 6
jne 0x14013d647
mov r13, qword [rsp + 0x98]
mov rax, qword [rsp + 0xc8]
inc rax
mov rcx, 0xffffffffffffffff
cmovne rcx, rax
mov qword [rsp + 0xc8], rcx
cmp dword [rsp + 0x104], 1
jne 0x14013d547
mov eax, dword [rsp + 0x108]
cmp eax, dword [rsp + 0xd8]
ja 0x14013d547
mov byte [rsp + 0x101], 2
test r15, r15
mov rbx, qword [rsp + 0x70]
je 0x14013d563
mov rcx, qword [0x1403ce198]
xor edx, edx
mov r8, r12
call qword [sym.imp.kernel32.dll_HeapFree]
cmp qword [rsp + 0x190], 0
mov rsi, qword [rsp + 0x188]
mov rdi, qword [rsp + 0x198]
je 0x14013d590
mov rcx, qword [0x1403ce198]
xor edx, edx
mov r8, rbx
call qword [sym.imp.kernel32.dll_HeapFree]
test rdi, rdi
mov r12, qword [sym.imp.kernel32.dll_HeapFree]
je 0x14013d5ae
mov rcx, qword [0x1403ce198]
xor edx, edx
mov r8, rsi
call qword [sym.imp.kernel32.dll_HeapFree]
lea rax, [rsp + 0x130]
lea rsi, [rsp + 0xc8]
mov ecx, 0xa
mov rdi, rax
rep movsq qword [rdi], qword [rsi]
cmp byte [rax + 0x17], 0
je 0x14013d7cc
cmp dword [rsp + 0x16c], 1
jne 0x14013d7bd
cmp byte [rsp + 0x169], 2
mov r14d, 3
mov r15d, 9
jne 0x14013d8ce
cmp qword [rsp + 0x130], 0
jne 0x14013d7cc
jmp 0x14013d8ce
lea r8, [0x140372758]
jmp 0x14013d62b
lea r8, [0x140372770]
jmp 0x14013d628
lea r8, [0x140372788]
mov rcx, rax
mov rdx, rdi
call fcn.1402a64c0
ud2
mov r13d, 2
mov r12, qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x14013d237
mov rbx, qword [rsp + 0x218]
mov rdi, qword [rsp + 0x220]
jmp 0x14013d897
lea rax, [rsp + 0xe8]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0xc]
lea rdx, [rsp + 0x210]
movups xmmword [rdx + 0xc], xmm1
movaps xmmword [rdx], xmm0
mov r14, qword [rsp + 0xd0]
lea rbx, [rsp + 0x1d8]
mov rcx, rbx
mov r8, r14
call fcn.14013bf14
mov r13, qword [rbx]
cmp r13, 6
jne 0x14013d887
mov ebx, dword [rsp + 0xe8]
inc dword [rsp + 0xd8]
inc ebx
mov dword [rsp + 0xe8], ebx
test rbp, rbp
je 0x14013d8e4
mov eax, 0x7ffffffb
cmp rdi, rax
mov eax, 0x7ffffffb
cmovb rax, rdi
mov qword [rsp + 0x78], rax
lea rcx, [rax + 4]
mov dl, 1
call fcn.140034043
mov qword [rsp + 0x68], rax
mov rbp, rdx
test rdi, rdi
je 0x14013d792
mov rax, rbp
add rax, 4
mov qword [rsp + 0x88], rax
mov r14, r12
mov eax, 0x7ffffffb
cmp rdi, rax
mov esi, 0x7ffffffb
cmovb rsi, rdi
bswap ebx
mov dword [rbp], ebx
cmp rsi, qword [rsp + 0x78]
ja 0x14013da4c
mov rcx, qword [rsp + 0x88]
mov rdx, r14
mov r8, rsi
call sub.VCRUNTIME140.dll_memcpy
lea rax, [rsi + 4]
mov rdx, qword [rsp + 0xd0]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x210]
mov r8d, 0x54416466
mov r9, rbp
call fcn.14013db1b
mov r13, qword [rsp + 0x210]
cmp r13, 6
jne 0x14013d8f7
add r14, rsi
sub rdi, rsi
mov ebx, dword [rsp + 0xe8]
inc ebx
mov dword [rsp + 0xe8], ebx
test rdi, rdi
jne 0x14013d706
cmp qword [rsp + 0x68], 0
mov r13, qword [rsp + 0x98]
je 0x14013d507
mov rcx, qword [0x1403ce198]
xor edx, edx
mov r8, rbp
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x14013d507
cmp qword [rsp + 0x130], 0
je 0x14013d8c2
mov byte [rsp + 0x17c], 1
mov rdx, qword [rsp + 0x138]
mov qword [rsp + 0x20], 0
lea r9, str._rustc_9eb3afe9ebe9c7d2b84b71002d44f4a0edac95e0library_std_srciomod.rs
lea rsi, [rsp + 0x210]
mov rcx, rsi
mov r8d, 0x444e4549
call fcn.14013db1b
mov r14, qword [rsi]
cmp r14, 6
jne 0x14013d875
lea rax, [rsp + 0x210]
lea rsi, [rsp + 0x130]
mov ecx, 0xa
mov rdi, rax
rep movsq qword [rdi], qword [rsi]
mov rcx, rax
call fcn.14013dc5d
mov r14, qword [rsp + 0x1a8]
mov r15, qword [rsp + 0x1b0]
mov rbp, qword [rsp + 0x1b8]
cmp qword [rsp + 0x1a0], 0
je 0x14013d868
mov rcx, qword [0x1403ce198]
xor edx, edx
mov r8, qword [rsp + 0x120]
call qword [sym.imp.kernel32.dll_HeapFree]
mov bl, 1
xor edi, edi
mov esi, dword [rsp + 0x64]
jmp 0x14013d2f4
mov r15, qword [rsp + 0x218]
mov rbp, qword [rsp + 0x220]
jmp 0x14013d8ce
mov rbx, qword [rsp + 0x1e0]
mov rdi, qword [rsp + 0x1e8]
mov r14, qword [rsp + 0x70]
test r15, r15
je 0x14013d8b3
mov rcx, qword [0x1403ce198]
xor edx, edx
mov r8, r12
call qword [sym.imp.kernel32.dll_HeapFree]
mov r15, rbx
mov r12, qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x14013d23b
mov r14d, 3
mov r15d, 9
lea rcx, [rsp + 0x130]
call fcn.14013dc5d
mov esi, dword [rsp + 0x64]
jmp 0x14013d2ab
lea rbp, [rsp + 0x210]
mov rcx, rbp
mov rdx, r14
jmp 0x14013d4e6
mov rbx, qword [rsp + 0x218]
mov rdi, qword [rsp + 0x220]
cmp qword [rsp + 0x68], 0
je 0x14013d921
mov rcx, qword [0x1403ce198]
xor edx, edx
mov r8, rbp
call qword [sym.imp.kernel32.dll_HeapFree]
mov esi, dword [rsp + 0x64]
jmp 0x14013d897
lea r8, str.C:UsersBraVera.cargo_registry_srcgithub.com_1ecc6299db9ec823widestring_0.5.1_srcucstr.rs
mov rcx, rdx
xor edx, edx
call fcn.1402a6550
ud2
lea rcx, [0x14030d650]
lea r8, str.C:UsersBraVera.cargo_registry_srcgithub.com_1ecc6299db9ec823png_0.17.7_srccommon.rsC:UsersBraVera.cargo_registry_srcgithub.com_1ecc6299db9ec823_screenshots_0.3.3_srcimage.rs
mov edx, 0x19
call fcn.1402a6560
ud2
lea r8, str.C:UsersBraVera.cargo_registry_srcgithub.com_1ecc6299db9ec823png_0.17.7_src_filter.rs
mov rcx, r13
mov rdx, r13
call fcn.1402a6a10
ud2
mov ecx, 0x18
mov edx, 8
call fcn.1402a5fb0
ud2
xor eax, eax
lea r9, [rsp + 0x210]
mov qword [r9], rax
lea rcx, [0x140372860]
mov qword [r9 + 0x10], rcx
mov qword [r9 + 0x18], 1
lea rcx, str._rustc_9eb3afe9ebe9c7d2b84b71002d44f4a0edac95e0library_std_srciomod.rs
mov qword [r9 + 0x20], rcx
mov qword [r9 + 0x28], rax
lea rax, str._rustc_9eb3afe9ebe9c7d2b84b71002d44f4a0edac95e0librarycore_src_slicemod.rs
mov qword [rsp + 0x20], rax
lea r8, [0x140379740]
lea rdx, [rsp + 0x130]
mov cl, 1
call fcn.1402a5cc6
ud2
lea r8, str.C:UsersBraVera.cargo_registry_srcgithub.com_1ecc6299db9ec823png_0.17.7_srcencoder.rs
mov rcx, r13
mov rdx, rdi
jmp 0x14013d964
call fcn.14002ff10
ud2
mov rcx, rsi
mov rdx, rdi
jmp 0x14013d975
lea r8, str.C:UsersBraVera.cargo_registry_srcgithub.com_1ecc6299db9ec823png_0.17.7_src_filter.rs
jmp 0x14013d95e
xor eax, eax
lea r9, [rsp + 0x210]
mov qword [r9], rax
lea rcx, [0x140372860]
mov qword [r9 + 0x10], rcx
mov qword [r9 + 0x18], 1
lea rcx, str._rustc_9eb3afe9ebe9c7d2b84b71002d44f4a0edac95e0library_std_srciomod.rs
mov qword [r9 + 0x20], rcx
mov qword [r9 + 0x28], rax
lea rax, str._rustc_9eb3afe9ebe9c7d2b84b71002d44f4a0edac95e0librarycore_src_slicemod.rs
mov qword [rsp + 0x20], rax
lea r8, [0x140379740]
lea rdx, [rsp + 0x1d8]
jmp 0x14013d9c6
call fcn.14007aeec
ud2
lea r8, str.C:UsersBraVera.cargo_registry_srcgithub.com_1ecc6299db9ec823png_0.17.7_srcencoder.rs
mov rcx, rsi
mov rdx, qword [rsp + 0x78]
jmp 0x14013d936