Function at 0x140004040
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x430]
sub rsp, 0x530
mov rax, qword [0x14010a040]
xor rax, rsp
mov qword [rbp + 0x420], rax
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x58], rcx
lea rcx, [rsp + 0x78]
call fcn.140001e00
nop
mov r14, qword [rbp - 0x78]
mov qword [rsp + 0x30], r14
lea rcx, [r14 + 1]
call fcn.1400952e8
mov qword [rsp + 0x58], rax
lea rdx, [rsp + 0x78]
cmp qword [rbp - 0x70], 0xf
cmova rdx, qword [rsp + 0x78]
lea r8, [r14 + 1]
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [r14 + 1]
call fcn.1400952e8
mov qword [rsp + 0x50], rax
lea rdx, [rsp + 0x78]
cmp qword [rbp - 0x70], 0xf
cmova rdx, qword [rsp + 0x78]
lea r8, [r14 + 1]
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
lea rax, vtable.AES.0
mov qword [rbp - 0x60], rax
mov byte [rbp - 0x58], 0
mov qword [rbp + 0x36c], 0
mov dword [rbp + 0x374], 0
lea rdx, [0x1401702e0]
cmp qword [0x1401702f8], 0xf
cmova rdx, qword [0x1401702e0]
lea rbx, [0x140170300]
cmp qword [0x140170318], 0xf
jbe 0x14000413e
mov rbx, qword [0x140170300]
test rbx, rbx
je 0x140004d22
mov eax, reloc.WS2_32.dll_recv
mov dword [rbp + 0x36c], eax
mov dword [rbp + 0x370], eax
movups xmm0, xmmword [rdx]
movups xmmword [rbp + 0x378], xmm0
movsxd r8, eax
lea rcx, [rbp + 0x398]
call sub.VCRUNTIME140.dll_memcpy
mov r12d, dword [rbp + 0x370]
mov ecx, dword [rbp + 0x36c]
cmp ecx, 0x10
je 0x140004192
mov edi, reloc.WS2_32.dll_ntohl
cmp ecx, 0x18
jne 0x1400041b0
mov eax, ntohs
cmp r12d, 0x20
cmovne edi, eax
jmp 0x1400041b0
cmp r12d, 0x10
jne 0x14000419f
mov edi, 0xa
jmp 0x1400041b0
mov edi, reloc.WS2_32.dll_ntohl
mov eax, ntohs
cmp r12d, 0x18
cmove edi, eax
mov dword [rbp + 0x374], edi
mov dword [rsp + 0x20], edi
mov eax, r12d
cdq
and edx, 3
add eax, edx
sar eax, 2
movsxd r15, eax
xor esi, esi
test edi, edi
js 0x14000420a
lea r12, [rbp - 0x54]
test r15d, r15d
jle 0x1400041ef
mov r8, r15
shl r8, 2
xor edx, edx
mov rcx, r12
call sub.VCRUNTIME140.dll_memset
mov edi, dword [rbp + 0x374]
inc esi
add r12, 0x20
cmp esi, edi
jle 0x1400041d3
mov dword [rsp + 0x20], edi
mov r12d, dword [rbp + 0x370]
mov ecx, dword [rbp + 0x36c]
xor esi, esi
test edi, edi
js 0x14000424e
lea r12, [rbp + 0x18c]
test r15d, r15d
jle 0x140004233
mov r8, r15
shl r8, 2
xor edx, edx
mov rcx, r12
call sub.VCRUNTIME140.dll_memset
mov edi, dword [rbp + 0x374]
inc esi
add r12, 0x20
cmp esi, edi
jle 0x140004217
mov dword [rsp + 0x20], edi
mov r12d, dword [rbp + 0x370]
mov ecx, dword [rbp + 0x36c]
lea esi, [rdi + 1]
imul esi, r15d
mov eax, ecx
cdq
and edx, 3
add eax, edx
sar eax, 2
movsxd r13, eax
lea r9, [rbp + 0x3b8]
test eax, eax
jle 0x1400042c7
mov r10d, r13d
nop dword [rax]
nop word [rax + rax]
movzx r8d, byte [rbx]
movzx eax, byte [rbx + 1]
movzx ecx, byte [rbx + 2]
movzx edx, byte [rbx + 3]
lea rbx, [rbx + 4]
shl r8d, 8
or r8d, eax
shl r8d, 8
or r8d, ecx
shl r8d, 8
or r8d, edx
mov dword [r9], r8d
lea r9, [r9 + 4]
sub r10, 1
jne 0x140004280
mov edi, dword [rbp + 0x374]
mov dword [rsp + 0x20], edi
mov r12d, dword [rbp + 0x370]
xor r11d, r11d
xor r10d, r10d
mov rbx, r13
test r13d, r13d
jle 0x140004335
cmp r11d, esi
jge 0x140004507
mov eax, r11d
cdq
idiv r15d
movsxd r8, eax
movsxd r9, edx
lea rcx, [r9 + r8*8]
mov eax, dword [rbp + r10*4 + 0x3b8]
mov dword [rbp + rcx*4 - 0x54], eax
mov eax, dword [rbp + 0x374]
sub eax, r8d
cdqe
lea rcx, [r9 + rax*8]
mov eax, dword [rbp + r10*4 + 0x3b8]
mov dword [rbp + rcx*4 + 0x18c], eax
inc r10
inc r11d
cmp r10, rbx
jl 0x1400042d5
mov edi, dword [rbp + 0x374]
mov dword [rsp + 0x20], edi
mov r12d, dword [rbp + 0x370]
cmp r11d, esi
jge 0x140004518
lea rdi, [0x1400e8950]
lea r12, [0x140000000]
nop dword [rax]
mov r10d, dword [rbp + r13*4 + 0x3b4]
movzx edx, byte [rdi]
lea rdi, [rdi + 1]
movsxd r8, r10d
mov rax, r8
sar rax, 0x10
movzx ecx, al
movsx r9d, byte [rcx + r12 + 0xe73f0]
xor r9d, edx
shl r9d, 8
mov rax, r8
sar rax, 8
movzx ecx, al
movzx eax, byte [rcx + r12 + 0xe73f0]
xor r9d, eax
shl r9d, 8
movzx eax, r8b
movzx eax, byte [rax + r12 + 0xe73f0]
xor r9d, eax
shl r9d, 8
mov eax, r10d
shr rax, 0x18
movzx eax, byte [rax + r12 + 0xe73f0]
xor r9d, eax
xor dword [rbp + 0x3b8], r9d
mov ecx, 1
cmp r13d, 8
je 0x140004400
cmp rcx, rbx
jge 0x1400044ab
nop dword [rax + rax]
mov eax, dword [rbp + rcx*4 + 0x3b4]
xor dword [rbp + rcx*4 + 0x3b8], eax
inc rcx
cmp rcx, rbx
jl 0x1400043e0
xor r10d, r10d
jmp 0x1400044b3
mov eax, dword [rbp + rcx*4 + 0x3b4]
xor dword [rbp + rcx*4 + 0x3b8], eax
inc rcx
cmp rcx, 4
jl 0x140004400
mov eax, dword [rbp + 0x3c4]
movsxd rdx, eax
mov ecx, eax
shr rcx, 0x18
movsx r8d, byte [rcx + r12 + 0xe73f0]
shl r8d, 8
mov rax, rdx
sar rax, 0x10
movzx ecx, al
movzx eax, byte [rcx + r12 + 0xe73f0]
xor r8d, eax
shl r8d, 8
mov rax, rdx
sar rax, 8
movzx ecx, al
movzx eax, byte [rcx + r12 + 0xe73f0]
xor r8d, eax
shl r8d, 8
movzx eax, dl
movzx eax, byte [rax + r12 + 0xe73f0]
xor r8d, eax
xor dword [rbp + 0x3c8], r8d
mov ecx, 5
cmp rbx, rcx
jle 0x1400044ab
nop word [rax + rax]
mov eax, dword [rbp + rcx*4 + 0x3b4]
xor dword [rbp + rcx*4 + 0x3b8], eax
inc rcx
cmp rcx, rbx
jl 0x140004490
xor r10d, r10d
jmp 0x1400044b3
xor r10d, r10d
test r13d, r13d
jle 0x1400044fe
cmp r11d, esi
jge 0x140004507
mov eax, r11d
cdq
idiv r15d
movsxd r8, eax
movsxd r9, edx
lea rcx, [r9 + r8*8]
mov eax, dword [rbp + r10*4 + 0x3b8]
mov dword [rbp + rcx*4 - 0x54], eax
mov eax, dword [rbp + 0x374]
sub eax, r8d
cdqe
lea rcx, [r9 + rax*8]
mov eax, dword [rbp + r10*4 + 0x3b8]
mov dword [rbp + rcx*4 + 0x18c], eax
inc r10
inc r11d
cmp r10, rbx
jl 0x1400044b3
cmp r11d, esi
jl 0x140004350
mov edi, dword [rbp + 0x374]
mov dword [rsp + 0x20], edi
mov r12d, dword [rbp + 0x370]
mov esi, 1
cmp edi, esi
jle 0x1400045c0
lea rbx, [rbp + 0x1ac]
nop dword [rax]
test r15d, r15d
jle 0x1400045a7
mov r10, rbx
mov r11, r15
lea rdi, [0x140000000]
nop dword [rax]
nop word [rax + rax]
mov eax, dword [r10]
movsxd r9, eax
mov edx, eax
shr rdx, 0x18
mov rax, r9
sar rax, 0x10
movzx ecx, al
mov r8d, dword [rdi + rdx*4 + 0xe8d70]
xor r8d, dword [rdi + rcx*4 + 0xe74f0]
mov rax, r9
sar rax, 8
movzx ecx, al
xor r8d, dword [rdi + rcx*4 + 0xe7cf0]
movzx eax, r9b
xor r8d, dword [rdi + rax*4 + 0xe8970]
mov dword [r10], r8d
lea r10, [r10 + 4]
sub r11, 1
jne 0x140004550
mov edi, dword [rbp + 0x374]
inc esi
add rbx, 0x20
cmp esi, edi
jl 0x140004530
mov dword [rsp + 0x20], edi
mov r12d, dword [rbp + 0x370]
mov byte [rbp - 0x58], 1
mov r14, qword [rsp + 0x30]
test r14, r14
je 0x140004d22
movsxd rcx, r12d
xor edx, edx
mov rax, r14
div rcx
test rdx, rdx
jne 0x140004d22
xor esi, esi
mov dword [rsp + 0x28], esi
mov rbx, qword [rsp + 0x58]
mov qword [rsp + 0x38], rbx
mov r13, qword [rsp + 0x50]
mov qword [rsp + 0x48], r13
test rax, rax
je 0x140004d22
nop dword [rax]
mov r8, rbx
cmp byte [rbp - 0x58], 0
je 0x140004c97
cmp r12d, 0x10
jne 0x1400049df
movzx r8d, byte [rbx]
movzx eax, byte [rbx + 1]
movzx ecx, byte [rbx + 2]
movzx edx, byte [rbx + 3]
shl r8d, 8
or r8d, eax
shl r8d, 8
or r8d, ecx
shl r8d, 8
or r8d, edx
mov eax, dword [rbp + 0x18c]
xor eax, r8d
mov dword [rsp + 0x24], eax
movzx r8d, byte [rbx + 4]
movzx eax, byte [rbx + 5]
movzx ecx, byte [rbx + 6]
movzx edx, byte [rbx + 7]
shl r8d, 8
or r8d, eax
shl r8d, 8
or r8d, ecx
shl r8d, 8
or r8d, edx
mov esi, dword [rbp + 0x190]
xor esi, r8d
movzx r8d, byte [rbx + 8]
movzx eax, byte [rbx + 9]
movzx ecx, byte [rbx + 0xa]
movzx edx, byte [rbx + 0xb]
shl r8d, 8
or r8d, eax
shl r8d, 8
or r8d, ecx
shl r8d, 8
or r8d, edx
mov r14d, dword [rbp + 0x194]
xor r14d, r8d
movzx r8d, byte [rbx + 0xc]
movzx eax, byte [rbx + 0xd]
movzx ecx, byte [rbx + 0xe]
movzx edx, byte [rbx + 0xf]
shl r8d, 8
or r8d, eax
shl r8d, 8
or r8d, ecx
shl r8d, 8
or r8d, edx
mov r15d, dword [rbp + 0x198]
xor r15d, r8d
cmp edi, 1
jle 0x140004846
lea r13, [rbp + 0x1b4]
dec edi
mov r12d, dword [rsp + 0x24]
nop
movsxd r9, r15d
movsxd r10, r14d
movsxd r11, esi
mov edx, r12d
shr rdx, 0x18
mov rax, r10
sar rax, 8
movzx ecx, al
lea r8, [0x140000000]
mov ebx, dword [r8 + rdx*4 + 0xe84f0]
xor ebx, dword [r8 + rcx*4 + 0xe6ff0]
mov rax, r9
sar rax, 0x10
movzx ecx, al
xor ebx, dword [r8 + rcx*4 + 0xe5ff0]
movzx eax, r11b
xor ebx, dword [r8 + rax*4 + 0xe80f0]
xor ebx, dword [r13 - 8]
movsxd r8, r12d
mov edx, esi
shr rdx, 0x18
mov rax, r9
sar rax, 8
movzx ecx, al
lea r12, [0x140000000]
mov esi, dword [r12 + rdx*4 + 0xe84f0]
xor esi, dword [r12 + rcx*4 + 0xe6ff0]
mov rax, r8
sar rax, 0x10
movzx ecx, al
xor esi, dword [r12 + rcx*4 + 0xe5ff0]
movzx eax, r10b
xor esi, dword [r12 + rax*4 + 0xe80f0]
xor esi, dword [r13 - 4]
mov edx, r14d
shr rdx, 0x18
mov rax, r11
sar rax, 0x10
movzx ecx, al
mov r14d, dword [r12 + rdx*4 + 0xe84f0]
xor r14d, dword [r12 + rcx*4 + 0xe5ff0]
mov rax, r8
sar rax, 8
movzx ecx, al
xor r14d, dword [r12 + rcx*4 + 0xe6ff0]
movzx eax, r9b
xor r14d, dword [r12 + rax*4 + 0xe80f0]
xor r14d, dword [r13]
mov ecx, r15d
shr rcx, 0x18
sar r10, 0x10
movzx eax, r10b
mov r15d, dword [r12 + rcx*4 + 0xe84f0]
xor r15d, dword [r12 + rax*4 + 0xe5ff0]
sar r11, 8
movzx eax, r11b
xor r15d, dword [r12 + rax*4 + 0xe6ff0]
movzx eax, r8b
xor r15d, dword [r12 + rax*4 + 0xe80f0]
xor r15d, dword [r13 + 4]
mov r12d, ebx
lea r13, [r13 + 0x20]
sub rdi, 1
jne 0x140004700
mov dword [rsp + 0x24], ebx
mov edi, dword [rsp + 0x20]
mov r12d, dword [rbp + 0x370]
mov r13, qword [rsp + 0x48]
movsxd rax, edi
shl rax, 5
lea rbx, [rbp + 0x18c]
add rbx, rax
mov edx, dword [rbx]
movsxd r8, dword [rsp + 0x24]
mov ecx, r8d
shr rcx, 0x18
mov eax, edx
sar eax, 0x18
lea rdi, [0x140000000]
xor al, byte [rcx + rdi + 0xe5ef0]
mov byte [r13], al
movsxd r9, r15d
mov rax, r9
sar rax, 0x10
movzx ecx, al
mov eax, edx
sar eax, 0x10
xor al, byte [rcx + rdi + 0xe5ef0]
mov byte [r13 + 1], al
movsxd r11, r14d
mov rax, r11
sar rax, 8
movzx ecx, al
mov eax, edx
sar eax, 8
xor al, byte [rcx + rdi + 0xe5ef0]
mov byte [r13 + 2], al
movsxd r10, esi
movzx eax, r10b
xor dl, byte [rax + rdi + 0xe5ef0]
mov byte [r13 + 3], dl
mov edx, dword [rbx + 4]
mov ecx, esi
shr rcx, 0x18
mov eax, edx
sar eax, 0x18
xor al, byte [rcx + rdi + 0xe5ef0]
mov byte [r13 + 4], al
mov rax, r8
sar rax, 0x10
movzx ecx, al
mov eax, edx
sar eax, 0x10
xor al, byte [rcx + rdi + 0xe5ef0]
mov byte [r13 + 5], al
mov rax, r9
sar rax, 8
movzx ecx, al
mov eax, edx
sar eax, 8
xor al, byte [rcx + rdi + 0xe5ef0]
mov byte [r13 + 6], al
movzx eax, r11b
xor dl, byte [rax + rdi + 0xe5ef0]
mov byte [r13 + 7], dl
mov edx, dword [rbx + 8]
mov ecx, r14d
shr rcx, 0x18
mov eax, edx
sar eax, 0x18
xor al, byte [rcx + rdi + 0xe5ef0]
mov byte [r13 + 8], al
mov rax, r10
sar rax, 0x10
movzx ecx, al
mov eax, edx
sar eax, 0x10
xor al, byte [rcx + rdi + 0xe5ef0]
mov byte [r13 + 9], al
mov rax, r8
sar rax, 8
movzx ecx, al
mov eax, edx
sar eax, 8
xor al, byte [rcx + rdi + 0xe5ef0]
mov byte [r13 + 0xa], al
movzx eax, r9b
xor dl, byte [rax + rdi + 0xe5ef0]
mov byte [r13 + 0xb], dl
mov edx, dword [rbx + 0xc]
mov ecx, r15d
shr rcx, 0x18
mov eax, edx
sar eax, 0x18
xor al, byte [rcx + rdi + 0xe5ef0]
mov byte [r13 + 0xc], al
sar r11, 0x10
movzx ecx, r11b
mov eax, edx
sar eax, 0x10
xor al, byte [rcx + rdi + 0xe5ef0]
mov byte [r13 + 0xd], al
sar r10, 8
movzx ecx, r10b
mov eax, edx
sar eax, 8
xor al, byte [rcx + rdi + 0xe5ef0]
mov byte [r13 + 0xe], al
movzx eax, r8b
xor dl, byte [rax + rdi + 0xe5ef0]
mov byte [r13 + 0xf], dl
jmp 0x140004c89
mov eax, r12d
cdq
and edx, 3
add eax, edx
sar eax, 2
movsxd rbx, eax
xor eax, eax
cmp ebx, 4
je 0x1400049fe
cmp ebx, 6
setne al
inc rax
shl rax, 5
lea rcx, [0x140000000]
mov r15d, dword [rax + rcx + 0xe88fc]
mov dword [rsp + 0x40], r15d
mov r14d, dword [rax + rcx + 0xe8904]
mov r11d, dword [rax + rcx + 0xe890c]
mov dword [rsp + 0x20], r11d
lea r9, [rbp + 0x3f8]
xor r10d, r10d
test ebx, ebx
jle 0x140004a8f
nop dword [rax]
movzx edx, byte [r8]
movzx eax, byte [r8 + 1]
movzx ecx, byte [r8 + 2]
shl edx, 8
or edx, eax
shl edx, 8
or edx, ecx
shl edx, 8
mov dword [r9], edx
movzx eax, byte [r8 + 3]
lea r8, [r8 + 4]
mov rcx, r9
add r9, 4
or edx, eax
xor edx, dword [rbp + r10*4 + 0x18c]
mov dword [rcx], edx
inc r10
cmp r10, rbx
jl 0x140004a40
mov edi, dword [rbp + 0x374]
mov r12d, dword [rbp + 0x370]
mov dword [rsp + 0x24], 1
cmp edi, 1
jle 0x140004bb2
lea eax, [rbx*4]
cdqe
mov qword [rsp + 0x60], rax
mov r13, 0xfffffffffffffdb4
xor r10d, r10d
test ebx, ebx
jle 0x140004b6a
mov ecx, r15d
mov r11d, r14d
sub r11d, r15d
mov edi, dword [rsp + 0x20]
sub edi, r15d
lea r12, [rbp + 0x3f8]
add r12, r13
lea r15, [0x140000000]
lea eax, [rcx + r11]
cdq
idiv ebx
movsxd rax, edx
mov edx, dword [rbp + rax*4 + 0x3f8]
sar rdx, 8
movzx r8d, dl
lea eax, [rcx + rdi]
cdq
idiv ebx
movsxd rax, edx
movzx edx, byte [rbp + rax*4 + 0x3f8]
mov r9d, dword [r15 + r8*4 + 0xe6ff0]
xor r9d, dword [r15 + rdx*4 + 0xe80f0]
mov eax, ecx
cdq
idiv ebx
movsxd rax, edx
mov edx, dword [rbp + rax*4 + 0x3f8]
sar rdx, 0x10
movzx eax, dl
xor r9d, dword [r15 + rax*4 + 0xe5ff0]
movzx eax, byte [rbp + r10*4 + 0x3fb]
xor r9d, dword [r15 + rax*4 + 0xe84f0]
xor r9d, dword [r12 + r10*4]
mov dword [rbp + r10*4 + 0x3d8], r9d
inc ecx
inc r10
cmp r10, rbx
jl 0x140004ae1
mov r15d, dword [rsp + 0x40]
mov rax, qword [rsp + 0x60]
mov r8, rax
lea rdx, [rbp + 0x3d8]
lea rcx, [rbp + 0x3f8]
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [rsp + 0x24]
inc ecx
mov dword [rsp + 0x24], ecx
add r13, 0x20
mov edi, dword [rbp + 0x374]
cmp ecx, edi
mov rax, qword [rsp + 0x60]
jl 0x140004ab5
mov r12d, dword [rbp + 0x370]
mov r11d, dword [rsp + 0x20]
mov r13, qword [rsp + 0x48]
xor r10d, r10d
test ebx, ebx
jle 0x140004c89
movsxd rax, edi
mov r9, r13
sub r15d, r14d
sub r11d, r14d
shl rax, 5
lea rdi, [rbp + 0x18c]
add rdi, rax
lea r12, [0x140000000]
nop
mov r8d, dword [rdi + r10*4]
movzx ecx, byte [rbp + r10*4 + 0x3fb]
mov eax, r8d
sar eax, 0x18
xor al, byte [rcx + r12 + 0xe5ef0]
mov byte [r9], al
lea eax, [r15 + r14]
cdq
idiv ebx
movsxd rax, edx
mov ecx, dword [rbp + rax*4 + 0x3f8]
sar rcx, 0x10
movzx edx, cl
mov eax, r8d
sar eax, 0x10
xor al, byte [rdx + r12 + 0xe5ef0]
mov byte [r9 + 1], al
mov eax, r14d
cdq
idiv ebx
movsxd rax, edx
mov ecx, dword [rbp + rax*4 + 0x3f8]
sar rcx, 8
movzx edx, cl
mov eax, r8d
sar eax, 8
xor al, byte [rdx + r12 + 0xe5ef0]
mov byte [r9 + 2], al
lea eax, [r11 + r14]
cdq
idiv ebx
movsxd rax, edx
movzx ecx, byte [rbp + rax*4 + 0x3f8]
xor r8b, byte [rcx + r12 + 0xe5ef0]
mov byte [r9 + 3], r8b
lea r9, [r9 + 4]
inc r14d
inc r10
cmp r10, rbx
jl 0x140004be0
mov r12d, dword [rbp + 0x370]
mov rbx, qword [rsp + 0x38]
mov esi, dword [rsp + 0x28]
mov r14, qword [rsp + 0x30]
mov rcx, r13
cmp byte [rbp - 0x58], 0
je 0x140004cd1
test r12d, r12d
jle 0x140004cd1
lea r8, [rbp + 0x398]
sub r8, r13
mov edx, r12d
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [r8 + rcx]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x140004cc0
movsxd r8, r12d
mov rdx, rbx
lea rcx, [rbp + 0x398]
call sub.VCRUNTIME140.dll_memcpy
movsxd r12, dword [rbp + 0x370]
add rbx, r12
mov qword [rsp + 0x38], rbx
add r13, r12
mov qword [rsp + 0x48], r13
inc esi
mov dword [rsp + 0x28], esi
xor edx, edx
mov rax, r14
div r12
mov rcx, rax
movsxd rax, esi
cmp rax, rcx
jae 0x140004d22
mov edi, dword [rbp + 0x374]
mov dword [rsp + 0x20], edi
jmp 0x140004610
mov rbx, qword [rsp + 0x50]
movzx r9d, byte [rbx + r14 - 1]
lea edx, [r14 - 1]
movsx rax, r9b
mov r8, r14
sub r8, rax
movsxd rax, edx
cmp rax, r8
jb 0x140004d8e
lea rcx, [rax + rbx]
cmp byte [rcx], r9b
jne 0x140004d5e
mov byte [rcx], 0
dec edx
dec rcx
movsxd rax, edx
cmp rax, r8
jae 0x140004d47
jmp 0x140004d8e
mov r8, r14
xor edx, edx
mov rcx, rbx
call sub.VCRUNTIME140.dll_memset
lea rdx, [0x1400edd7c]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140012250
lea rdx, [0x140012430]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
xorps xmm0, xmm0
mov rdi, qword [rsp + 0x70]
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], 0
mov qword [rdi + 0x18], 0
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rbx + r8], 0
jne 0x140004db0
mov rdx, rbx
mov rcx, rdi
call fcn.140001970
mov rcx, qword [rsp + 0x58]
call fcn.140094c70
mov rcx, rbx
call fcn.140094c70
nop
mov rdx, qword [rbp - 0x70]
cmp rdx, 0xf
jbe 0x140004e17
inc rdx
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004e12
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140004e12
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140094c70
mov rax, rdi
mov rcx, qword [rbp + 0x420]
xor rcx, rsp
call fcn.140094c50
mov rbx, qword [rsp + 0x580]
add rsp, 0x530
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret