Function at 0x140004e50
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x440]
sub rsp, 0x540
mov rax, qword [0x14010a040]
xor rax, rsp
mov qword [rbp + 0x430], rax
mov rdi, rdx
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x58], rcx
mov qword [rbp - 0x80], rdx
mov rdx, r8
lea rcx, [rbp - 0x78]
call fcn.140001e00
nop
mov r14, qword [rbp - 0x68]
mov qword [rsp + 0x30], r14
lea rcx, [r14 + 1]
call fcn.1400952e8
mov qword [rsp + 0x58], rax
lea rdx, [rbp - 0x78]
cmp qword [rbp - 0x60], 0xf
cmova rdx, qword [rbp - 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, [rbp - 0x78]
cmp qword [rbp - 0x60], 0xf
cmova rdx, qword [rbp - 0x78]
lea r8, [r14 + 1]
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
lea rax, vtable.AES.0
mov qword [rbp - 0x50], rax
mov byte [rbp - 0x48], 0
mov qword [rbp + 0x37c], 0
mov dword [rbp + 0x384], 0
lea rdx, [0x1401702e0]
cmp qword [0x1401702f8], 0xf
cmova rdx, qword [0x1401702e0]
mov rbx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x140004f44
mov rbx, qword [rdi]
test rbx, rbx
je 0x140005b32
mov eax, reloc.WS2_32.dll_recv
mov dword [rbp + 0x37c], eax
mov dword [rbp + 0x380], eax
movups xmm0, xmmword [rdx]
movups xmmword [rbp + 0x388], xmm0
movsxd r8, eax
lea rcx, [rbp + 0x3a8]
call sub.VCRUNTIME140.dll_memcpy
mov r12d, dword [rbp + 0x380]
mov ecx, dword [rbp + 0x37c]
cmp ecx, 0x10
je 0x140004fa1
mov edi, reloc.WS2_32.dll_ntohl
cmp ecx, 0x18
jne 0x140004fbf
mov eax, ntohs
cmp r12d, 0x20
cmovne edi, eax
jmp 0x140004fbf
cmp r12d, 0x10
jne 0x140004fae
mov edi, 0xa
jmp 0x140004fbf
mov edi, reloc.WS2_32.dll_ntohl
mov eax, ntohs
cmp r12d, 0x18
cmove edi, eax
mov dword [rbp + 0x384], edi
mov dword [rsp + 0x20], edi
mov eax, r12d
cdq
and edx, 3
add eax, edx
sar eax, 2
movsxd r15, eax
xor r13d, r13d
test edi, edi
js 0x14000501c
lea rsi, [rbp - 0x44]
test r15d, r15d
jle 0x140004fff
mov r8, r15
shl r8, 2
xor edx, edx
mov rcx, rsi
call sub.VCRUNTIME140.dll_memset
mov edi, dword [rbp + 0x384]
inc r13d
add rsi, 0x20
cmp r13d, edi
jle 0x140004fe3
mov dword [rsp + 0x20], edi
mov r12d, dword [rbp + 0x380]
mov ecx, dword [rbp + 0x37c]
xor esi, esi
test edi, edi
js 0x140005067
lea r12, [rbp + 0x19c]
nop dword [rax]
test r15d, r15d
jle 0x14000504c
mov r8, r15
shl r8, 2
xor edx, edx
mov rcx, r12
call sub.VCRUNTIME140.dll_memset
mov edi, dword [rbp + 0x384]
inc esi
add r12, 0x20
cmp esi, edi
jle 0x140005030
mov dword [rsp + 0x20], edi
mov r12d, dword [rbp + 0x380]
mov ecx, dword [rbp + 0x37c]
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 + 0x3c8]
test eax, eax
jle 0x1400050d7
mov r10d, r13d
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 0x140005090
mov edi, dword [rbp + 0x384]
mov dword [rsp + 0x20], edi
mov r12d, dword [rbp + 0x380]
xor r11d, r11d
xor r10d, r10d
mov rbx, r13
test r13d, r13d
jle 0x140005145
cmp r11d, esi
jge 0x140005317
mov eax, r11d
cdq
idiv r15d
movsxd r8, eax
movsxd r9, edx
lea rcx, [r9 + r8*8]
mov eax, dword [rbp + r10*4 + 0x3c8]
mov dword [rbp + rcx*4 - 0x44], eax
mov eax, dword [rbp + 0x384]
sub eax, r8d
cdqe
lea rcx, [r9 + rax*8]
mov eax, dword [rbp + r10*4 + 0x3c8]
mov dword [rbp + rcx*4 + 0x19c], eax
inc r10
inc r11d
cmp r10, rbx
jl 0x1400050e5
mov edi, dword [rbp + 0x384]
mov dword [rsp + 0x20], edi
mov r12d, dword [rbp + 0x380]
cmp r11d, esi
jge 0x140005328
lea rdi, [0x1400e8950]
lea r12, [0x140000000]
nop dword [rax]
mov r10d, dword [rbp + r13*4 + 0x3c4]
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 + 0x3c8], r9d
mov ecx, 1
cmp r13d, 8
je 0x140005210
cmp rcx, rbx
jge 0x1400052bb
nop dword [rax + rax]
mov eax, dword [rbp + rcx*4 + 0x3c4]
xor dword [rbp + rcx*4 + 0x3c8], eax
inc rcx
cmp rcx, rbx
jl 0x1400051f0
xor r10d, r10d
jmp 0x1400052c3
mov eax, dword [rbp + rcx*4 + 0x3c4]
xor dword [rbp + rcx*4 + 0x3c8], eax
inc rcx
cmp rcx, 4
jl 0x140005210
mov eax, dword [rbp + 0x3d4]
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 + 0x3d8], r8d
mov ecx, 5
cmp rbx, rcx
jle 0x1400052bb
nop word [rax + rax]
mov eax, dword [rbp + rcx*4 + 0x3c4]
xor dword [rbp + rcx*4 + 0x3c8], eax
inc rcx
cmp rcx, rbx
jl 0x1400052a0
xor r10d, r10d
jmp 0x1400052c3
xor r10d, r10d
test r13d, r13d
jle 0x14000530e
cmp r11d, esi
jge 0x140005317
mov eax, r11d
cdq
idiv r15d
movsxd r8, eax
movsxd r9, edx
lea rcx, [r9 + r8*8]
mov eax, dword [rbp + r10*4 + 0x3c8]
mov dword [rbp + rcx*4 - 0x44], eax
mov eax, dword [rbp + 0x384]
sub eax, r8d
cdqe
lea rcx, [r9 + rax*8]
mov eax, dword [rbp + r10*4 + 0x3c8]
mov dword [rbp + rcx*4 + 0x19c], eax
inc r10
inc r11d
cmp r10, rbx
jl 0x1400052c3
cmp r11d, esi
jl 0x140005160
mov edi, dword [rbp + 0x384]
mov dword [rsp + 0x20], edi
mov r12d, dword [rbp + 0x380]
mov esi, 1
cmp edi, esi
jle 0x1400053d0
lea rbx, [rbp + 0x1bc]
nop dword [rax]
test r15d, r15d
jle 0x1400053b7
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, 8
movzx ecx, al
mov r8d, dword [rdi + rdx*4 + 0xe8d70]
xor r8d, dword [rdi + rcx*4 + 0xe7cf0]
mov rax, r9
sar rax, 0x10
movzx ecx, al
xor r8d, dword [rdi + rcx*4 + 0xe74f0]
movzx eax, r9b
xor r8d, dword [rdi + rax*4 + 0xe8970]
mov dword [r10], r8d
lea r10, [r10 + 4]
sub r11, 1
jne 0x140005360
mov edi, dword [rbp + 0x384]
inc esi
add rbx, 0x20
cmp esi, edi
jl 0x140005340
mov dword [rsp + 0x20], edi
mov r12d, dword [rbp + 0x380]
mov byte [rbp - 0x48], 1
mov r14, qword [rsp + 0x30]
test r14, r14
je 0x140005b32
movsxd rcx, r12d
xor edx, edx
mov rax, r14
div rcx
test rdx, rdx
jne 0x140005b32
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 0x140005b32
nop dword [rax]
mov r8, rbx
cmp byte [rbp - 0x48], 0
je 0x140005aa7
cmp r12d, 0x10
jne 0x1400057ef
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 + 0x19c]
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 + 0x1a0]
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 + 0x1a4]
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 + 0x1a8]
xor r15d, r8d
cmp edi, 1
jle 0x140005656
lea r13, [rbp + 0x1c4]
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, r8
sar rax, 8
movzx ecx, al
mov r14d, dword [r12 + rdx*4 + 0xe84f0]
xor r14d, dword [r12 + rcx*4 + 0xe6ff0]
mov rax, r11
sar rax, 0x10
movzx ecx, al
xor r14d, dword [r12 + rcx*4 + 0xe5ff0]
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 0x140005510
mov dword [rsp + 0x24], ebx
mov edi, dword [rsp + 0x20]
mov r12d, dword [rbp + 0x380]
mov r13, qword [rsp + 0x48]
movsxd rax, edi
shl rax, 5
lea rbx, [rbp + 0x19c]
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 0x140005a99
mov eax, r12d
cdq
and edx, 3
add eax, edx
sar eax, 2
movsxd rbx, eax
xor eax, eax
cmp ebx, 4
je 0x14000580e
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 + 0x408]
xor r10d, r10d
test ebx, ebx
jle 0x14000589f
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 + 0x19c]
mov dword [rcx], edx
inc r10
cmp r10, rbx
jl 0x140005850
mov edi, dword [rbp + 0x384]
mov r12d, dword [rbp + 0x380]
mov dword [rsp + 0x24], 1
cmp edi, 1
jle 0x1400059c2
lea eax, [rbx*4]
cdqe
mov qword [rsp + 0x60], rax
mov r13, 0xfffffffffffffdb4
xor r10d, r10d
test ebx, ebx
jle 0x14000597a
mov ecx, r15d
mov r11d, r14d
sub r11d, r15d
mov edi, dword [rsp + 0x20]
sub edi, r15d
lea r12, [rbp + 0x408]
add r12, r13
lea r15, [0x140000000]
lea eax, [r11 + rcx]
cdq
idiv ebx
movsxd rax, edx
mov edx, dword [rbp + rax*4 + 0x408]
sar rdx, 8
movzx r8d, dl
lea eax, [rdi + rcx]
cdq
idiv ebx
movsxd rax, edx
movzx edx, byte [rbp + rax*4 + 0x408]
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 + 0x408]
sar rdx, 0x10
movzx eax, dl
xor r9d, dword [r15 + rax*4 + 0xe5ff0]
movzx eax, byte [rbp + r10*4 + 0x40b]
xor r9d, dword [r15 + rax*4 + 0xe84f0]
xor r9d, dword [r12 + r10*4]
mov dword [rbp + r10*4 + 0x3e8], r9d
inc ecx
inc r10
cmp r10, rbx
jl 0x1400058f1
mov r15d, dword [rsp + 0x40]
mov rax, qword [rsp + 0x60]
mov r8, rax
lea rdx, [rbp + 0x3e8]
lea rcx, [rbp + 0x408]
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [rsp + 0x24]
inc ecx
mov dword [rsp + 0x24], ecx
add r13, 0x20
mov edi, dword [rbp + 0x384]
cmp ecx, edi
mov rax, qword [rsp + 0x60]
jl 0x1400058c5
mov r12d, dword [rbp + 0x380]
mov r11d, dword [rsp + 0x20]
mov r13, qword [rsp + 0x48]
xor r10d, r10d
test ebx, ebx
jle 0x140005a99
movsxd rax, edi
mov r9, r13
sub r15d, r14d
sub r11d, r14d
shl rax, 5
lea rdi, [rbp + 0x19c]
add rdi, rax
lea r12, [0x140000000]
nop
mov r8d, dword [rdi + r10*4]
movzx ecx, byte [rbp + r10*4 + 0x40b]
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 + 0x408]
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 + 0x408]
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 + 0x408]
xor r8b, byte [rcx + r12 + 0xe5ef0]
mov byte [r9 + 3], r8b
lea r9, [r9 + 4]
inc r14d
inc r10
cmp r10, rbx
jl 0x1400059f0
mov r12d, dword [rbp + 0x380]
mov rbx, qword [rsp + 0x38]
mov esi, dword [rsp + 0x28]
mov r14, qword [rsp + 0x30]
mov rcx, r13
cmp byte [rbp - 0x48], 0
je 0x140005ae1
test r12d, r12d
jle 0x140005ae1
lea r8, [rbp + 0x3a8]
sub r8, r13
mov edx, r12d
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rcx + r8]
xor byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x140005ad0
movsxd r8, r12d
mov rdx, rbx
lea rcx, [rbp + 0x3a8]
call sub.VCRUNTIME140.dll_memcpy
movsxd r12, dword [rbp + 0x380]
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 0x140005b32
mov edi, dword [rbp + 0x384]
mov dword [rsp + 0x20], edi
jmp 0x140005420
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 0x140005b9e
lea rcx, [rax + rbx]
cmp byte [rcx], r9b
jne 0x140005b6e
mov byte [rcx], 0
dec edx
dec rcx
movsxd rax, edx
cmp rax, r8
jae 0x140005b57
jmp 0x140005b9e
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 0x140005bc0
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 - 0x60]
cmp rdx, 0xf
jbe 0x140005c26
inc rdx
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140005c21
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140005c21
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140094c70
mov qword [rbp - 0x68], 0
mov qword [rbp - 0x60], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x78], 0
mov rbx, qword [rsp + 0x78]
mov rdx, qword [rbx + 0x18]
cmp rdx, 0xf
jbe 0x140005c75
inc rdx
mov rcx, qword [rbx]
cmp rdx, 0x1000
jb 0x140005c70
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140005cb5
mov rcx, r8
call fcn.140094c70
mov qword [rbx + 0x10], 0
mov qword [rbx + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rbx], 0
mov rax, rdi
mov rcx, qword [rbp + 0x430]
xor rcx, rsp
call fcn.140094c50
mov rbx, qword [rsp + 0x598]
add rsp, 0x540
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3