Function at 0x140149ab0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
movdqa xmmword [rsp + 0x50], xmm7
movdqa xmmword [rsp + 0x40], xmm6
mov r12, rcx
mov rdi, qword [rcx]
lea rax, [rdi + 5]
cmp rax, qword [rcx + 8]
jae 0x140149b18
lea rdx, [0x1401936c0]
mov r8d, 6
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
je 0x140149c99
lea rdx, str._:_:__
mov r8d, 6
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
je 0x140149d37
mov rax, qword [r12 + 0x30]
movsxd rdi, dword [rax + 0x14]
lea ecx, [rdi + 1]
mov dword [rax + 0x14], ecx
mov rcx, qword [r12 + 0x30]
movsxd r14, dword [rcx + 0x10]
movsxd rbp, dword [r12 + 0x28]
cmp edi, ebp
jge 0x140149bc8
mov rax, qword [rcx + 0x18]
test rax, rax
je 0x140149c3c
mov rcx, qword [rcx + 0x20]
test rcx, rcx
je 0x140149c3c
mov rdx, rdi
shl rdx, 5
lea ebp, [rdi + 7]
test edi, edi
cmovns ebp, edi
sar ebp, 3
movsxd rbp, ebp
imul r14, rbp
add rcx, r14
mov qword [rax + rdx], rcx
and dil, 7
mov ebp, 1
mov ecx, edi
shl ebp, cl
mov byte [rax + rdx + 8], bpl
mov byte [rax + rdx + 9], 0
pxor xmm0, xmm0
movdqu xmmword [rax + rdx + 0x10], xmm0
mov rcx, qword [r12]
mov rbp, qword [r12 + 8]
cmp rcx, rbp
jae 0x140149cf4
cmp byte [rcx], 0x5e
jne 0x140149cf4
add rcx, 1
mov qword [r12], rcx
mov dword [rsp + 0x34], 0
jmp 0x140149cfa
mov eax, ebp
add rbp, 8
mov dword [r12 + 0x28], ebp
cmp eax, 0xfffffff8
jl 0x140149c3c
mov rdx, rbp
shl rdx, 5
mov rcx, qword [rcx + 0x18]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
test rax, rax
je 0x140149c3c
shr rbp, 3
imul rbp, r14
mov rcx, qword [r12 + 0x30]
mov qword [rcx + 0x18], rax
mov rax, qword [r12 + 0x30]
mov rcx, qword [rax + 0x20]
mov rdx, rbp
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
test rax, rax
je 0x140149c3c
mov r8d, edi
mov rcx, qword [r12 + 0x30]
mov qword [rcx + 0x20], rax
test r8d, r8d
jle 0x14014a510
cmp r8d, 1
jne 0x14014a49f
xor ebx, ebx
jmp 0x14014a4ec
mov rax, qword [r12 + 0x30]
mov rcx, qword [rax + 0x18]
mov rsi, qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
call rsi
mov rax, qword [r12 + 0x30]
mov qword [rax + 0x18], 0
mov rax, qword [r12 + 0x30]
mov rcx, qword [rax + 0x20]
call rsi
mov rax, qword [r12 + 0x30]
mov qword [rax + 0x20], 0
cmp dword [r12 + 0x10], 0
jne 0x140149c84
mov dword [r12 + 0x10], 0xc
lea rax, [0x14019e8d8]
mov qword [r12], rax
mov qword [r12 + 8], rax
jmp 0x14014a9ae
cmp dword [r12 + 0x10], 0
jne 0x14014a711
mov eax, dword [r12 + 0x20]
cmp dword [r12 + 0x24], eax
jl 0x14014a6b5
lea ecx, [rax + 1]
shr ecx, 0x1f
add ecx, eax
add ecx, 1
sar ecx, 1
lea edi, [rcx + rcx*2]
cmp eax, edi
jge 0x14014a6b5
cmp eax, 0xfffffffd
jg 0x14014a691
mov dword [r12 + 0x10], 0xc
lea rax, [0x14019e8d8]
mov qword [r12], rax
mov qword [r12 + 8], rax
jmp 0x14014a6b5
mov bl, 1
mov dword [rsp + 0x34], ebx
lea r15, [rax + rdx]
lea r14, [rax + rdx]
add r14, 8
cmp rcx, rbp
jae 0x140149da8
mov bl, byte [rcx]
cmp bl, 0x2d
je 0x140149d92
cmp bl, 0x5d
jne 0x140149da8
add rcx, 1
mov qword [r12], rcx
mov cl, byte [r14]
mov rbp, qword [r15]
or byte [rbp + 0x5d], cl
add byte [r14 + 1], 0x5d
jmp 0x140149da8
cmp dword [r12 + 0x10], 0
jne 0x14014a711
mov eax, dword [r12 + 0x20]
cmp dword [r12 + 0x24], eax
jl 0x14014a6f4
lea ecx, [rax + 1]
shr ecx, 0x1f
add ecx, eax
add ecx, 1
sar ecx, 1
lea edi, [rcx + rcx*2]
cmp eax, edi
jge 0x14014a6f4
cmp eax, 0xfffffffd
jg 0x14014a6d0
mov dword [r12 + 0x10], 0xc
lea rax, [0x14019e8d8]
mov qword [r12], rax
mov qword [r12 + 8], rax
jmp 0x14014a6f4
add rcx, 1
mov qword [r12], rcx
mov cl, byte [r14]
mov rbp, qword [r15]
or byte [rbp + 0x2d], cl
add byte [r14 + 1], 0x2d
mov rbp, qword [r12]
mov r13, qword [r12 + 8]
cmp rbp, r13
jae 0x14014a557
add rax, rdx
add rax, 0x10
mov qword [rsp + 0x38], rax
lea rsi, [r12 + 0x10]
mov qword [rsp + 0x28], rsi
jmp 0x140149df2
mov rbp, qword [r12]
mov r13, qword [r12 + 8]
cmp rbp, r13
jae 0x14014a557
movsx ecx, byte [rbp]
cmp ecx, 0x5d
je 0x14014a557
lea rax, [rbp + 1]
cmp rax, r13
jae 0x140149e11
cmp cl, 0x2d
je 0x14014a533
cmp ecx, 0x5b
je 0x140149e90
cmp ecx, 0x2d
je 0x14014a609
cmp rax, r13
jae 0x140149f10
cmp cl, 0x5b
jne 0x140149f10
cmp byte [rax], 0x2e
jne 0x140149f10
add rbp, 2
mov qword [r12], rbp
mov rcx, r12
mov edx, 0x2e
call fcn.14014b850
mov ebx, eax
mov rax, qword [r12]
mov r13, qword [r12 + 8]
cmp rax, r13
jae 0x140149f4e
lea rcx, [rax + 1]
cmp rcx, r13
jae 0x140149f4e
cmp byte [rax], 0x2e
jne 0x140149f4e
cmp byte [rcx], 0x5d
jne 0x140149f4e
add rax, 2
mov qword [r12], rax
jmp 0x140149f17
cmp rax, r13
jae 0x140149f10
movsx edx, byte [rax]
cmp edx, 0x3d
je 0x140149ff1
cmp edx, 0x3a
jne 0x140149e1f
add rbp, 2
mov qword [r12], rbp
cmp rbp, r13
jb 0x140149ed5
cmp dword [rsi], 0
jne 0x140149ec2
mov dword [rsi], 7
lea rbp, [0x14019e8d8]
mov qword [r12], rbp
mov qword [r12 + 8], rbp
mov r13, rbp
movzx ecx, byte [rbp]
cmp ecx, 0x5d
je 0x140149ee7
cmp cl, 0x2d
jne 0x14014a101
cmp dword [rsi], 0
jne 0x140149ef2
mov dword [rsi], 4
lea r13, [0x14019e8d8]
mov qword [r12], r13
mov qword [r12 + 8], r13
mov rbp, r13
jmp 0x14014a13a
mov qword [r12], rax
mov bl, byte [rbp]
cmp rax, r13
jae 0x140149f70
lea rcx, [rax + 1]
cmp rcx, r13
jae 0x140149f70
cmp byte [rax], 0x2d
jne 0x140149f70
cmp byte [rcx], 0x5d
je 0x140149f70
mov qword [r12], rcx
mov dl, byte [rax + 1]
lea rbp, [rax + 2]
cmp dl, 0x2d
jne 0x14014a093
mov qword [r12], rbp
mov al, 0x2d
jmp 0x14014a46d
cmp dword [rsi], 0
jne 0x140149f59
mov dword [rsi], 3
lea rax, [0x14019e8d8]
mov qword [r12], rax
mov qword [r12 + 8], rax
nop dword [rax]
mov eax, ebx
movsx ebp, al
movsx edx, bl
cmp ebp, edx
cmovle ebp, edx
add ebp, 1
mov ecx, ebp
sub ecx, edx
test cl, 1
je 0x140149fa1
mov cl, byte [r14]
mov rdi, qword [r15]
movzx esi, dl
or byte [rdi + rsi], cl
mov rsi, qword [rsp + 0x28]
add byte [r14 + 1], dl
add edx, 1
cmp bl, al
jge 0x140149de0
nop dword [rax]
movzx eax, byte [r14]
mov rcx, qword [r15]
movzx ebx, dl
or byte [rcx + rbx], al
movzx eax, byte [r14 + 1]
add eax, edx
mov byte [r14 + 1], al
lea eax, [rdx + 1]
movzx ecx, byte [r14]
mov rbx, qword [r15]
movzx eax, al
or byte [rbx + rax], cl
movzx eax, byte [r14 + 1]
add eax, edx
add al, 1
mov byte [r14 + 1], al
add edx, 2
cmp ebp, edx
jne 0x140149fb0
jmp 0x140149de0
add rbp, 2
mov qword [r12], rbp
cmp rbp, r13
jb 0x14014a019
cmp dword [rsi], 0
jne 0x14014a009
mov dword [rsi], 7
lea rbp, [0x14019e8d8]
mov qword [r12], rbp
mov qword [r12 + 8], rbp
mov al, byte [rbp]
cmp al, 0x5d
je 0x14014a024
cmp al, 0x2d
jne 0x14014a03f
cmp dword [rsi], 0
jne 0x14014a02f
mov dword [rsi], 3
lea rax, [0x14019e8d8]
mov qword [r12], rax
mov qword [r12 + 8], rax
mov rcx, r12
mov edx, 0x3d
call fcn.14014b850
mov cl, byte [r14]
mov rdx, qword [r15]
movzx eax, al
or byte [rdx + rax], cl
add byte [r14 + 1], al
mov rbp, qword [r12]
mov r13, qword [r12 + 8]
cmp rbp, r13
jae 0x14014a8c3
lea rax, [rbp + 1]
cmp rax, r13
jae 0x14014a71e
cmp byte [rbp], 0x3d
jne 0x14014a71e
cmp byte [rax], 0x5d
je 0x14014a3a4
jmp 0x14014a71e
cmp rbp, r13
jae 0x14014a0f6
cmp dl, 0x5b
jne 0x14014a0f6
cmp byte [rbp], 0x2e
jne 0x14014a0f6
add rax, 3
mov qword [r12], rax
mov rcx, r12
mov edx, 0x2e
call fcn.14014b850
mov rcx, qword [r12]
mov rbp, qword [r12 + 8]
cmp rcx, rbp
jae 0x14014a452
lea rdx, [rcx + 1]
cmp rdx, rbp
jae 0x14014a452
cmp byte [rcx], 0x2e
jne 0x14014a452
cmp byte [rdx], 0x5d
jne 0x14014a452
add rcx, 2
mov qword [r12], rcx
jmp 0x14014a46d
mov qword [r12], rbp
mov al, byte [rcx]
jmp 0x14014a46d
cmp rbp, r13
jae 0x14014a137
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalpha]
test eax, eax
je 0x14014a137
lea rbx, [rbp + 1]
mov qword [r12], rbx
cmp r13, rbx
je 0x14014a13a
movzx ecx, byte [rbx]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalpha]
add rbx, 1
test eax, eax
jne 0x14014a114
add rbx, 0xffffffffffffffff
mov r13, rbx
jmp 0x14014a13a
mov r13, rbp
sub r13, rbp
lea rcx, str.alnum
mov rdx, rbp
mov r8, r13
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
jne 0x14014a165
lea rcx, str.alnum
cmp r13, 5
je 0x14014a315
lea rcx, str.alpha
mov rdx, rbp
mov r8, r13
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
cmp r13, 5
jne 0x14014a18d
lea rcx, str.alpha
test eax, eax
je 0x14014a315
lea rcx, str.blank
mov rdx, rbp
mov r8, r13
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
cmp r13, 5
jne 0x14014a1b5
lea rcx, str.blank
test eax, eax
je 0x14014a315
lea rcx, str.cntrl
mov rdx, rbp
mov r8, r13
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
cmp r13, 5
jne 0x14014a1dd
lea rcx, str.cntrl
test eax, eax
je 0x14014a315
lea rcx, str.digit
mov rdx, rbp
mov r8, r13
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
cmp r13, 5
jne 0x14014a205
lea rcx, str.digit
test eax, eax
je 0x14014a315
lea rcx, str.graph
mov rdx, rbp
mov r8, r13
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
cmp r13, 5
jne 0x14014a22d
lea rcx, str.graph
test eax, eax
je 0x14014a315
lea rcx, str.lower
mov rdx, rbp
mov r8, r13
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
cmp r13, 5
jne 0x14014a255
lea rcx, str.lower
test eax, eax
je 0x14014a315
lea rcx, str.print
mov rdx, rbp
mov r8, r13
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
cmp r13, 5
jne 0x14014a27d
lea rcx, str.print
test eax, eax
je 0x14014a315
lea rcx, str.punct
mov rdx, rbp
mov r8, r13
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
cmp r13, 5
jne 0x14014a2a1
lea rcx, str.punct
test eax, eax
je 0x14014a315
lea rcx, str.space
mov rdx, rbp
mov r8, r13
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
cmp r13, 5
jne 0x14014a2c5
lea rcx, str.space
test eax, eax
je 0x14014a315
lea rcx, str.upper
mov rdx, rbp
mov r8, r13
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
cmp r13, 5
jne 0x14014a2e9
lea rcx, str.upper
test eax, eax
je 0x14014a315
lea rcx, str.xdigit
mov rdx, rbp
mov r8, r13
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
cmp r13, 6
jne 0x14014a47a
lea rcx, str.xdigit
test eax, eax
jne 0x14014a47a
mov rax, qword [rcx + 8]
mov dl, byte [rax]
test dl, dl
je 0x14014a34d
add rax, 1
nop word cs:[rax + rax]
nop dword [rax]
movzx ebx, byte [r14]
mov rbp, qword [r15]
movzx edx, dl
or byte [rbp + rdx], bl
add byte [r14 + 1], dl
movzx edx, byte [rax]
add rax, 1
test dl, dl
jne 0x14014a330
mov rbx, qword [rcx + 0x10]
cmp byte [rbx], 0
mov rdi, qword [rsp + 0x38]
mov rsi, qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
mov r13, qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jne 0x14014a3f6
mov rbp, qword [r12]
mov r13, qword [r12 + 8]
cmp rbp, r13
jae 0x14014a8d0
lea rax, [rbp + 1]
cmp rax, r13
mov rsi, qword [rsp + 0x28]
jae 0x14014a732
cmp byte [rbp], 0x3a
jne 0x14014a732
cmp byte [rax], 0x5d
jne 0x14014a732
add rbp, 2
mov qword [r12], rbp
cmp rbp, r13
jb 0x140149df2
jmp 0x14014a557
mov qword [rdi + 8], rax
mov r8, qword [rdi]
sub r8, rbp
add r8, 1
lea rcx, [rax + rbp]
add rcx, 0xffffffffffffffff
mov rdx, rbx
call fcn.14014e7f0
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
cmp byte [rax + rbx + 1], 0
lea rbx, [rax + rbx + 1]
je 0x14014a36d
mov rbp, qword [rdi]
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
lea rdx, [rax + rbp]
add rdx, 1
mov qword [rdi], rdx
mov rcx, qword [rdi + 8]
call rsi
test rax, rax
jne 0x14014a3c0
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x14014a423
call r13
mov qword [rdi + 8], 0
mov rax, qword [rsp + 0x28]
cmp dword [rax], 0
jne 0x14014a440
mov rax, qword [rsp + 0x28]
mov dword [rax], 0xc
lea rax, [0x14019e8d8]
mov qword [r12], rax
mov qword [r12 + 8], rax
jmp 0x14014a3de
cmp dword [rsi], 0
jne 0x14014a45d
mov dword [rsi], 3
lea rcx, [0x14019e8d8]
mov qword [r12], rcx
mov qword [r12 + 8], rcx
cmp bl, al
jle 0x140149f72
jmp 0x14014a609
cmp dword [rsi], 0
jne 0x14014a48a
mov rax, qword [rsp + 0x28]
mov dword [rax], 4
lea rax, [0x14019e8d8]
mov qword [r12], rax
mov qword [r12 + 8], rax
jmp 0x14014a36d
mov r9d, r8d
and r9d, 0xfffffffe
xor ecx, ecx
xor ebx, ebx
nop word [rax + rax]
mov rsi, qword [r12 + 0x30]
mov eax, ebx
shr eax, 3
imul rax, r14
mov rdx, qword [rsi + 0x20]
add rdx, rax
mov rsi, qword [rsi + 0x18]
mov qword [rsi + rcx], rdx
mov rdx, qword [r12 + 0x30]
add rax, qword [rdx + 0x20]
mov rdx, qword [rdx + 0x18]
mov qword [rdx + rcx + 0x20], rax
add rbx, 2
add rcx, 0x40
cmp r9, rbx
jne 0x14014a4b0
test r8b, 1
je 0x14014a510
mov rax, qword [r12 + 0x30]
mov ecx, ebx
shr ecx, 3
imul rcx, r14
add rcx, qword [rax + 0x20]
mov rax, qword [rax + 0x18]
shl rbx, 5
mov qword [rax + rbx], rcx
mov rax, qword [r12 + 0x30]
sub rbp, r14
add rbp, qword [rax + 0x20]
mov rcx, rbp
xor edx, edx
mov r8, r14
call sub.VCRUNTIME140.dll_memset
mov rcx, qword [r12 + 0x30]
jmp 0x140149b3d
cmp byte [rax], 0x5d
jne 0x14014a609
mov qword [r12], rax
mov al, byte [r14]
mov rcx, qword [r15]
or byte [rcx + 0x2d], al
add byte [r14 + 1], 0x2d
mov rbp, qword [r12]
mov r13, qword [r12 + 8]
cmp rbp, r13
jae 0x14014a8e0
lea rax, [rbp + 1]
mov qword [r12], rax
cmp byte [rbp], 0x5d
jne 0x14014a8e0
cmp dword [r12 + 0x10], 0
jne 0x14014a901
mov rax, qword [r12 + 0x30]
test byte [rax + 0x28], 2
je 0x14014a61d
mov ebp, dword [rax + 0x10]
test ebp, ebp
jle 0x14014a61d
add ebp, 1
jmp 0x14014a5a5
add ebp, 0xffffffff
cmp ebp, 1
jle 0x14014a61d
lea edi, [rbp - 2]
mov r13, qword [r15]
movzx ebx, dil
movzx esi, byte [r14]
test byte [r13 + rbx], sil
je 0x14014a59d
mov ecx, edi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isalpha]
test eax, eax
je 0x14014a59d
mov ecx, ebx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isupper]
test eax, eax
je 0x14014a5dc
mov ecx, ebx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_tolower]
jmp 0x14014a5f4
mov ecx, ebx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_islower]
mov ecx, eax
mov eax, edi
test ecx, ecx
je 0x14014a5f4
mov ecx, ebx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
movsx ecx, al
cmp edi, ecx
je 0x14014a59d
movzx ecx, al
or byte [r13 + rcx], sil
add byte [r14 + 1], al
jmp 0x14014a59d
cmp dword [rsi], 0
jne 0x14014a8e0
mov dword [rsi], 0xb
jmp 0x14014a8e0
cmp byte [rsp + 0x34], 0
jne 0x14014a761
mov rax, qword [r12 + 0x30]
mov r8d, dword [rax + 0x10]
test r8d, r8d
jle 0x14014a74b
lea ecx, [r8 + 1]
mov dl, 1
sub dl, r8b
jmp 0x14014a666
or bl, al
mov byte [rbp + rdi], bl
movzx eax, byte [r14 + 1]
add al, r8b
mov byte [r14 + 1], al
add ecx, 0xffffffff
add dl, 1
cmp ecx, 1
jle 0x14014a746
add r8d, 0xffffffff
lea eax, [rcx - 2]
mov rbp, qword [r15]
movzx edi, al
movzx eax, byte [rbp + rdi]
movzx ebx, byte [r14]
test bl, al
je 0x14014a645
not bl
and al, bl
mov byte [rbp + rdi], al
movzx eax, byte [r14 + 1]
add al, dl
jmp 0x14014a653
mov edx, edi
shl rdx, 2
mov rcx, qword [r12 + 0x18]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
test rax, rax
je 0x14014a89a
mov qword [r12 + 0x18], rax
mov dword [r12 + 0x20], edi
mov rax, qword [r12 + 0x18]
movsxd rcx, dword [r12 + 0x24]
lea edx, [rcx + 1]
mov dword [r12 + 0x24], edx
mov dword [rax + rcx*4], 0x98000000
jmp 0x14014a70d
mov edx, edi
shl rdx, 2
mov rcx, qword [r12 + 0x18]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
test rax, rax
je 0x14014a8ab
mov qword [r12 + 0x18], rax
mov dword [r12 + 0x20], edi
mov rax, qword [r12 + 0x18]
movsxd rcx, dword [r12 + 0x24]
lea edx, [rcx + 1]
mov dword [r12 + 0x24], edx
mov dword [rax + rcx*4], 0xa0000000
mov rdi, qword [r12]
add rdi, 6
mov qword [r12], rdi
jmp 0x14014a9ae
cmp dword [rsi], 0
jne 0x14014a8e0
mov dword [rsi], 3
jmp 0x14014a8e0
cmp dword [rsi], 0
jne 0x14014a8e0
mov dword [rsi], 4
jmp 0x14014a8e0
mov rax, qword [r12 + 0x30]
test byte [rax + 0x28], 8
je 0x14014a761
mov al, byte [r14]
not al
mov rcx, qword [r15]
and byte [rcx + 0xa], al
add byte [r14 + 1], 0xf6
mov r8, qword [r12 + 0x30]
movsxd rsi, dword [r8 + 0x10]
test rsi, rsi
je 0x14014aacd
mov rcx, qword [r15]
mov bl, byte [r14]
mov r11d, 1
cmovne r11, rsi
xor eax, eax
cmp r11, 8
jb 0x14014a8bc
lea rdx, [r11 - 1]
mov ebp, 0
cmp rdx, 0xff
ja 0x14014aa51
mov rbp, r11
and rbp, 0xfffffffffffffff8
movzx eax, bl
movd xmm0, eax
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
lea rax, [rbp - 8]
mov r9, rax
shr r9, 3
add r9, 1
test rax, rax
je 0x14014a9c9
mov rax, r9
and rax, 0xfffffffffffffffe
neg rax
pxor xmm3, xmm3
xor edi, edi
pcmpeqd xmm4, xmm4
movdqa xmm5, xmmword [0x1401936b0]
pxor xmm1, xmm1
pxor xmm2, xmm2
mov edx, edi
and edx, 0xf0
movd xmm7, dword [rcx + rdx]
movd xmm6, dword [rcx + rdx + 4]
pand xmm7, xmm0
pand xmm6, xmm0
pcmpeqb xmm7, xmm3
pxor xmm7, xmm4
punpcklbw xmm7, xmm7
punpcklwd xmm7, xmm7
pand xmm7, xmm5
paddd xmm7, xmm1
pcmpeqb xmm6, xmm3
pxor xmm6, xmm4
punpcklbw xmm6, xmm6
punpcklwd xmm6, xmm6
pand xmm6, xmm5
paddd xmm6, xmm2
movd xmm1, dword [rcx + rdx + 8]
movd xmm2, dword [rcx + rdx + 0xc]
pand xmm1, xmm0
pand xmm2, xmm0
pcmpeqb xmm1, xmm3
pxor xmm1, xmm4
punpcklbw xmm1, xmm1
punpcklwd xmm1, xmm1
pand xmm1, xmm5
paddd xmm1, xmm7
pcmpeqb xmm2, xmm3
pxor xmm2, xmm4
punpcklbw xmm2, xmm2
punpcklwd xmm2, xmm2
pand xmm2, xmm5
paddd xmm2, xmm6
add rdi, 0x10
add rax, 2
jne 0x14014a7f8
jmp 0x14014a9d3
cmp dword [r12 + 0x10], 0
jne 0x140149cdf
jmp 0x140149cd6
cmp dword [r12 + 0x10], 0
jne 0x140149d7d
jmp 0x140149d74
xor ebp, ebp
jmp 0x14014aa51
cmp dword [rsi], 0
jne 0x14014a8e0
mov dword [rsi], 7
jmp 0x14014a8e0
mov rax, qword [rsp + 0x28]
cmp dword [rax], 0
jne 0x14014a8e0
mov dword [rax], 7
cmp dword [r12 + 0x10], 0
jne 0x14014a8f1
mov dword [r12 + 0x10], 7
lea rax, [0x14019e8d8]
mov qword [r12], rax
mov qword [r12 + 8], rax
mov rcx, qword [r12 + 0x30]
movsxd rdi, dword [rcx + 0x14]
shl rdi, 5
add rdi, qword [rcx + 0x18]
movsxd rcx, dword [rcx + 0x10]
test rcx, rcx
je 0x14014a99c
mov r8d, 1
cmovne r8, rcx
cmp ecx, 1
jne 0x14014a932
xor ebp, ebp
jmp 0x14014a983
mov rcx, r8
and rcx, 0xfffffffffffffffe
mov bl, 0xff
xor ebp, ebp
nop dword [rax]
movzx eax, byte [r14]
not al
mov rsi, qword [r15]
mov edx, ebp
and edx, 0xfe
and byte [rsi + rdx], al
movzx eax, byte [r14 + 1]
add al, bl
add al, 1
mov byte [r14 + 1], al
lea eax, [rbp + 1]
movzx edx, byte [r14]
not dl
mov rsi, qword [r15]
movzx eax, al
and byte [rsi + rax], dl
add byte [r14 + 1], bl
add rbp, 2
add bl, 0xfe
cmp rcx, rbp
jne 0x14014a940
test r8b, 1
je 0x14014a99c
mov al, byte [r14]
not al
mov rcx, qword [r15]
movzx edx, bpl
and byte [rcx + rdx], al
sub byte [r14 + 1], dl
add rdi, 0xffffffffffffffe0
cmp rdi, r15
jne 0x14014a9ae
mov rax, qword [r12 + 0x30]
add dword [rax + 0x14], 0xffffffff
movaps xmm6, xmmword [rsp + 0x40]
movaps xmm7, xmmword [rsp + 0x50]
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
pxor xmm1, xmm1
xor edi, edi
pxor xmm2, xmm2
test r9b, 1
je 0x14014aa32
and edi, 0xf8
movd xmm3, dword [rcx + rdi + 4]
pand xmm3, xmm0
pxor xmm4, xmm4
pcmpeqb xmm3, xmm4
pcmpeqd xmm5, xmm5
pxor xmm3, xmm5
punpcklbw xmm3, xmm3
punpcklwd xmm3, xmm3
movdqa xmm6, xmmword [0x1401936b0]
pand xmm3, xmm6
paddd xmm2, xmm3
movd xmm3, dword [rcx + rdi]
pand xmm3, xmm0
pcmpeqb xmm3, xmm4
pxor xmm3, xmm5
punpcklbw xmm3, xmm3
punpcklwd xmm3, xmm3
pand xmm3, xmm6
paddd xmm1, xmm3
paddd xmm1, xmm2
pshufd xmm0, xmm1, 0xee
paddd xmm0, xmm1
pshufd xmm1, xmm0, 0x55
paddd xmm1, xmm0
movd eax, xmm1
cmp r11, rbp
je 0x14014aaa2
mov rdi, rbp
or rdi, 1
test r11b, 1
je 0x14014aa72
and ebp, 0xf8
mov dl, byte [rcx + rbp]
and dl, bl
cmp dl, 1
sbb eax, 0xffffffff
mov rbp, rdi
cmp r11, rdi
je 0x14014aaa2
movzx edx, bpl
movzx edx, byte [rcx + rdx]
and dl, bl
cmp dl, 1
sbb eax, 0xffffffff
lea edx, [rbp + 1]
movzx edx, dl
movzx edx, byte [rcx + rdx]
and dl, bl
cmp dl, 1
sbb eax, 0xffffffff
add rbp, 2
cmp r11, rbp
jne 0x14014aa77
cmp eax, 1
jne 0x14014aacd
xor edx, edx
xor eax, eax
movzx ebp, al
test byte [rcx + rbp], bl
jne 0x14014ab6c
add rax, 1
add edx, 0x1000000
cmp r11, rax
jne 0x14014aaab
xor edx, edx
jmp 0x14014ab6f
movsxd r11, dword [r8 + 0x14]
test r11, r11
jle 0x14014ab64
mov al, byte [r14 + 1]
mov byte [rsp + 0x28], al
mov r13, qword [r8 + 0x18]
shl r11, 5
add r11, r13
test rsi, rsi
mov edi, 1
cmovne rdi, rsi
jmp 0x14014ab10
mov rsi, r9
cmp rax, r9
je 0x14014abfb
add r13, 0x20
cmp r13, r11
jae 0x14014ab64
cmp r13, r15
je 0x14014ab07
mov al, byte [rsp + 0x28]
cmp byte [r13 + 9], al
jne 0x14014ab07
test esi, esi
je 0x14014ac8c
mov r9, rsi
mov r10, qword [r13]
mov cl, byte [r13 + 8]
mov rbp, qword [r15]
mov r8b, byte [r14]
xor eax, eax
nop word [rax + rax]
movzx esi, al
test byte [r10 + rsi], cl
sete bl
test byte [rbp + rsi], r8b
setne dl
cmp bl, dl
je 0x14014aafb
add rax, 1
cmp rdi, rax
jne 0x14014ab40
mov rax, rdi
jmp 0x14014aafb
mov r13, r15
jmp 0x14014ac9e
sar edx, 0x18
mov rcx, r12
call fcn.14014ad50
mov rcx, qword [r12 + 0x30]
movsxd rdi, dword [rcx + 0x14]
shl rdi, 5
add rdi, qword [rcx + 0x18]
movsxd rcx, dword [rcx + 0x10]
test rcx, rcx
je 0x14014a99c
mov r8d, 1
cmovne r8, rcx
cmp ecx, 1
je 0x14014a92e
mov rcx, r8
and rcx, 0xfffffffffffffffe
mov bl, 0xff
xor ebp, ebp
movzx eax, byte [r14]
not al
mov rsi, qword [r15]
mov edx, ebp
and edx, 0xfe
and byte [rsi + rdx], al
movzx eax, byte [r14 + 1]
add al, bl
add al, 1
mov byte [r14 + 1], al
lea eax, [rbp + 1]
movzx edx, byte [r14]
not dl
mov rsi, qword [r15]
movzx eax, al
and byte [rsi + rax], dl
add byte [r14 + 1], bl
add rbp, 2
add bl, 0xfe
cmp rcx, rbp
jne 0x14014abb3
jmp 0x14014a983
not r8b
and byte [rbp], r8b
cmp esi, 2
jb 0x14014ac8c
lea r8, [rdi - 1]
mov ebp, 1
cmp rdi, 2
je 0x14014ac73
mov r9, r8
and r9, 0xfffffffffffffffe
neg r9
mov ebp, 1
mov bl, 0xff
movzx ecx, byte [r14]
mov rdi, qword [r15]
not cl
movzx esi, bpl
and byte [rdi + rsi], cl
add byte [r14 + 1], bl
lea ecx, [rbp + 1]
movzx eax, byte [r14]
mov rdi, qword [r15]
not al
movzx ecx, cl
and byte [rdi + rcx], al
movzx eax, byte [r14 + 1]
add al, bl
add al, 0xff
mov byte [r14 + 1], al
add bl, 0xfe
lea rax, [r9 + rbp]
add rax, 2
add rbp, 2
cmp rax, 1
jne 0x14014ac2b
test r8b, 1
je 0x14014ac8c
mov al, byte [r14]
mov rcx, qword [r15]
not al
movzx ebp, bpl
and byte [rcx + rbp], al
sub byte [r14 + 1], bpl
add r11, 0xffffffffffffffe0
cmp r11, r15
jne 0x14014ac9e
mov rax, qword [r12 + 0x30]
add dword [rax + 0x14], 0xffffffff
cmp dword [r12 + 0x10], 0
jne 0x14014a9ae
mov rax, qword [r12 + 0x30]
sub r13, qword [rax + 0x18]
shr r13, 5
mov eax, dword [r12 + 0x20]
cmp dword [r12 + 0x24], eax
jl 0x14014ad17
lea ecx, [rax + 1]
shr ecx, 0x1f
add ecx, eax
add ecx, 1
sar ecx, 1
lea ebx, [rcx + rcx*2]
cmp eax, ebx
jge 0x14014ad17
cmp eax, 0xfffffffd
jg 0x14014acf7
mov dword [r12 + 0x10], 0xc
lea rax, [0x14019e8d8]
mov qword [r12], rax
mov qword [r12 + 8], rax
jmp 0x14014ad17
mov edx, ebx
shl rdx, 2
mov rcx, qword [r12 + 0x18]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
test rax, rax
je 0x14014ad39
mov qword [r12 + 0x18], rax
mov dword [r12 + 0x20], ebx
or r13d, 0x30000000
mov rax, qword [r12 + 0x18]
movsxd rcx, dword [r12 + 0x24]
lea edx, [rcx + 1]
mov dword [r12 + 0x24], edx
mov dword [rax + rcx*4], r13d
jmp 0x14014a9ae
cmp dword [r12 + 0x10], 0
jne 0x14014ace5
jmp 0x14014acdc