Function at 0x14004b120
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 - 0x40]
sub rsp, 0x140
mov rax, qword [0x1401ae6f8]
xor rax, rsp
mov qword [rbp + 0x38], rax
mov rdi, rdx
mov qword [rsp + 0x28], rdx
mov r15, rcx
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x30], rdx
xor r12d, r12d
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x10], xmm0
mov qword [rbp], rax
lea rdx, [rbp - 0x10]
call fcn.140049590
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x80], rax
lea r8, [0x1401cbbc0]
lea rdx, [rsp + 0x70]
mov rcx, r15
call fcn.140048b50
nop
lea r8, [rsp + 0x70]
lea rdx, [rbp - 0x78]
call fcn.140049fb0
nop
mov r9d, r12d
mov r10, qword [rbp - 8]
mov r8, qword [rbp - 0x10]
cmp r8, r10
je 0x14004b1ed
nop dword [rax + rax]
mov rax, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x70]
sub rax, rdx
dec rax
mov rcx, r12
cmp r9, rax
cmovne rcx, r9
movzx eax, byte [rdx + rcx]
xor byte [r8], al
lea r9, [rcx + 1]
inc r8
cmp r8, r10
jne 0x14004b1c0
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 8], xmm0
mov qword [rbp + 0x18], rax
lea r8, [rbp - 0x10]
lea rdx, [rbp + 8]
call fcn.140049c50
nop
mov rbx, qword [rbp + 8]
cmp rbx, qword [rbp + 0x10]
jne 0x14004b3e3
mov byte [rsp + 0x20], 0
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], r12
mov qword [rdi + 0x18], r12
lea rax, [rsp + 0x20]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x14004b235
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.140016190
nop
test rbx, rbx
je 0x14004b2aa
mov rcx, qword [rbp + 0x18]
sub rcx, rbx
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*2]
shl rdx, 3
mov rax, rbx
cmp rdx, 0x1000
jb 0x14004b2a1
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004bf39
mov rcx, rbx
call fcn.140127cb0
nop
mov rcx, qword [rbp - 0x60]
test rcx, rcx
je 0x14004b2f0
mov rdx, qword [rbp - 0x50]
sub rdx, rcx
cmp rdx, 0x1000
mov rax, rcx
jb 0x14004b2df
mov rcx, qword [rcx - 8]
sub rax, rcx
add rdx, 0x27
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004bfbc
call fcn.140127cb0
xorps xmm0, xmm0
mov qword [rbp - 0x60], r12
movdqu xmmword [rbp - 0x58], xmm0
mov rcx, qword [rbp - 0x78]
test rcx, rcx
je 0x14004b336
mov rdx, qword [rbp - 0x68]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004b325
mov rcx, qword [rcx - 8]
sub rax, rcx
add rdx, 0x27
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004bfbc
call fcn.140127cb0
xorps xmm0, xmm0
mov qword [rbp - 0x78], r12
movdqu xmmword [rbp - 0x70], xmm0
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x14004b37f
mov rdx, qword [rbp - 0x80]
sub rdx, rcx
cmp rdx, 0x1000
mov rax, rcx
jb 0x14004b36c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004c006
call fcn.140127cb0
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], r12
mov qword [rbp - 0x80], r12
mov rcx, qword [rbp - 0x10]
test rcx, rcx
je 0x14004b3b9
mov rdx, qword [rbp]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004b3b4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004c05d
call fcn.140127cb0
mov rax, rdi
mov rcx, qword [rbp + 0x38]
xor rcx, rsp
call fcn.140127920
mov rbx, qword [rsp + 0x198]
add rsp, 0x140
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
xor r9d, r9d
lea r8, [rbp - 0x60]
lea rdx, [rbp + 8]
call fcn.14004a160
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
mov r9, r12
mov qword [rsp + 0x58], r12
mov r8, r12
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], r12
mov ebx, r12d
mov dword [rsp + 0x24], ebx
mov r13, qword [rbp + 0x10]
mov rcx, r13
mov r14, qword [rbp + 8]
sub rcx, r14
movabs rsi, 0x2aaaaaaaaaaaaaab
mov rax, rsi
imul rcx
mov rcx, rdx
sar rcx, 2
mov rax, rcx
shr rax, 0x3f
add rcx, rax
mov qword [rsp + 0x30], rcx
je 0x14004b866
mov rax, r12
mov rdi, rsi
nop word [rax + rax]
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [rbp + 0x20], xmm0
mov qword [rbp + 0x30], rcx
lea rax, [rax + rax*2]
lea rdx, [r14 + rax*8]
lea rcx, [rbp + 0x20]
call fcn.140076df0
nop
mov rcx, qword [rbp + 0x28]
mov r8, qword [rbp + 0x20]
sub rcx, r8
mov rax, rdi
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x14004b828
xor r15d, r15d
nop word [rax + rax]
xorps xmm0, xmm0
xor eax, eax
lea rsi, [r8 + r15]
movdqu xmmword [rbp - 0x48], xmm0
mov qword [rbp - 0x38], rax
mov rbx, qword [rsi + 8]
sub rbx, qword [rsi]
sar rbx, 2
test rbx, rbx
je 0x14004b52d
movabs rax, 0x3fffffffffffffff
cmp rbx, rax
ja 0x14004c064
mov rdx, rbx
call fcn.14000c940
mov rdi, rax
mov qword [rbp - 0x48], rax
mov qword [rbp - 0x40], rax
lea rax, [rax + rbx*4]
mov qword [rbp - 0x38], rax
mov rbx, qword [rsi + 8]
mov rdx, qword [rsi]
sub rbx, rdx
mov r8, rbx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
sar rbx, 2
lea rax, [rdi + rbx*4]
mov qword [rbp - 0x40], rax
movabs rdi, 0x2aaaaaaaaaaaaaab
jmp 0x14004b531
mov rax, qword [rbp - 0x40]
sub rax, qword [rbp - 0x48]
sar rax, 2
cmp rax, 4
jne 0x14004b970
xor r9d, r9d
lea r8, [rbp - 0x78]
lea rdx, [rbp - 0x48]
call fcn.140049940
xor eax, eax
mov dword [rsp + 0x50], eax
xor r9d, r9d
mov r8d, 8
nop dword [rax]
nop word [rax + rax]
lea rcx, [r8 - 8]
mov rax, rcx
shr rax, 5
lea r10, [rsp + 0x50]
lea r10, [r10 + rax*4]
and cl, 0x1f
mov edx, 1
shl edx, cl
mov ecx, dword [r10]
mov rax, qword [rbp - 0x48]
test byte [rax + r9], 8
je 0x14004b5a0
or ecx, edx
jmp 0x14004b5a4
not edx
and ecx, edx
mov dword [r10], ecx
lea rcx, [r8 - 4]
mov rax, rcx
shr rax, 5
lea r10, [rsp + 0x50]
lea r10, [r10 + rax*4]
and cl, 0x1f
mov edx, 1
shl edx, cl
mov ecx, dword [r10]
mov rax, qword [rbp - 0x48]
test byte [rax + r9], 4
je 0x14004b5d7
or ecx, edx
jmp 0x14004b5db
not edx
and ecx, edx
mov dword [r10], ecx
mov rax, r8
shr rax, 5
lea r10, [rsp + 0x50]
lea r10, [r10 + rax*4]
movzx ecx, r8b
and cl, 0x1f
mov eax, 1
shl eax, cl
mov edx, dword [r10]
mov rcx, qword [rbp - 0x48]
test byte [rcx + r9], 2
je 0x14004b60e
or eax, edx
jmp 0x14004b612
not eax
and eax, edx
mov dword [r10], eax
lea rcx, [r8 + 4]
mov rax, rcx
shr rax, 5
lea r10, [rsp + 0x50]
lea r10, [r10 + rax*4]
and cl, 0x1f
mov edx, 1
shl edx, cl
mov ecx, dword [r10]
mov rax, qword [rbp - 0x48]
test byte [rax + r9], 1
je 0x14004b645
or ecx, edx
jmp 0x14004b649
not edx
and ecx, edx
mov dword [r10], ecx
lea rcx, [r8 - 7]
mov rax, rcx
shr rax, 5
lea r10, [rsp + 0x50]
lea r10, [r10 + rax*4]
and cl, 0x1f
mov edx, 1
shl edx, cl
mov ecx, dword [r10]
mov rax, qword [rbp - 0x48]
test byte [rax + r9 + 4], 8
je 0x14004b67d
or ecx, edx
jmp 0x14004b681
not edx
and ecx, edx
mov dword [r10], ecx
lea rcx, [r8 - 3]
mov rax, rcx
shr rax, 5
lea r10, [rsp + 0x50]
lea r10, [r10 + rax*4]
and cl, 0x1f
mov edx, 1
shl edx, cl
mov ecx, dword [r10]
mov rax, qword [rbp - 0x48]
test byte [rax + r9 + 4], 4
je 0x14004b6b5
or ecx, edx
jmp 0x14004b6b9
not edx
and ecx, edx
mov dword [r10], ecx
lea rcx, [r8 + 1]
mov rax, rcx
shr rax, 5
lea r10, [rsp + 0x50]
lea r10, [r10 + rax*4]
and cl, 0x1f
mov edx, 1
shl edx, cl
mov ecx, dword [r10]
mov rax, qword [rbp - 0x48]
test byte [rax + r9 + 4], 2
je 0x14004b6ed
or ecx, edx
jmp 0x14004b6f1
not edx
and ecx, edx
mov dword [r10], ecx
mov rax, qword [rbp - 0x48]
movzx edx, byte [rax + r9 + 4]
lea rcx, [r8 + 5]
mov rax, rcx
shr rax, 5
lea r10, [rsp + 0x50]
lea r10, [r10 + rax*4]
and cl, 0x1f
mov eax, 1
shl eax, cl
mov ecx, dword [r10]
test dl, 1
je 0x14004b728
or ecx, eax
jmp 0x14004b72c
not eax
and ecx, eax
mov dword [r10], ecx
add r8, 2
add r9, 8
lea rax, [r8 - 8]
cmp rax, 4
jb 0x14004b570
mov eax, dword [rsp + 0x50]
movzx ecx, al
shr rax, 8
movzx ebx, al
mov byte [rsp + 0x20], cl
mov rdx, qword [rsp + 0x60]
cmp rdx, qword [rsp + 0x68]
je 0x14004b774
mov byte [rdx], cl
mov rdx, qword [rsp + 0x60]
inc rdx
mov qword [rsp + 0x60], rdx
jmp 0x14004b788
lea r8, [rsp + 0x20]
lea rcx, [rsp + 0x58]
call fcn.1400749b0
mov rdx, qword [rsp + 0x60]
mov byte [rsp + 0x20], bl
cmp rdx, qword [rsp + 0x68]
je 0x14004b79c
mov byte [rdx], bl
inc qword [rsp + 0x60]
jmp 0x14004b7ac
lea r8, [rsp + 0x20]
lea rcx, [rsp + 0x58]
call fcn.1400749b0
nop
mov rcx, qword [rbp - 0x48]
test rcx, rcx
je 0x14004b7f2
mov rax, qword [rbp - 0x38]
sub rax, rcx
sar rax, 2
lea rdx, [rax*4]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004b7ed
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004b9f5
call fcn.140127cb0
inc r12d
add r15, 0x18
mov rcx, qword [rbp + 0x28]
mov r8, qword [rbp + 0x20]
sub rcx, r8
mov rax, rdi
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movsxd rax, r12d
cmp rax, rdx
jb 0x14004b4b0
mov ebx, dword [rsp + 0x24]
lea rcx, [rbp + 0x20]
call fcn.140078580
inc ebx
mov dword [rsp + 0x24], ebx
movsxd rax, ebx
xor r12d, r12d
cmp rax, qword [rsp + 0x30]
jb 0x14004b460
mov r8, qword [rsp + 0x60]
mov r9, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x28]
movabs rsi, 0x2aaaaaaaaaaaaaab
mov r15, qword [rsp + 0x40]
movzx ecx, byte [r8 - 1]
mov rax, r12
test rcx, rcx
je 0x14004b88c
cmp r9, r8
je 0x14004bc10
dec r8
mov qword [rsp + 0x60], r8
inc rax
cmp rax, rcx
jb 0x14004b873
lea r8, [rsp + 0x58]
lea rdx, [rbp - 0x30]
mov rcx, r15
call fcn.140048e20
nop
mov rdx, qword [rbp - 0x20]
test rdx, rdx
jne 0x14004bd05
mov byte [rsp + 0x20], dl
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], r12
mov qword [rdi + 0x18], r12
lea rax, [rsp + 0x20]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x14004b8d0
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.140016190
nop
lea rcx, [rbp - 0x30]
call fcn.14000d000
nop
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x14004b93d
mov rdx, qword [rsp + 0x68]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004b929
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004bebc
call fcn.140127cb0
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], r12
test r14, r14
je 0x14004b2aa
mov rbx, r14
cmp r14, r13
je 0x14004bcb5
mov rcx, rbx
call fcn.140078580
add rbx, 0x18
cmp rbx, r13
jne 0x14004b952
jmp 0x14004bcb5
mov byte [rsp + 0x20], 0
xorps xmm0, xmm0
mov rdi, qword [rsp + 0x28]
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], 0
mov qword [rdi + 0x18], 0
lea rax, [rsp + 0x20]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x14004b9a0
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.140016190
nop
mov rcx, qword [rbp - 0x48]
test rcx, rcx
je 0x14004ba12
mov rax, qword [rbp - 0x38]
sub rax, rcx
sar rax, 2
lea rdx, [rax*4]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004b9fc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004b9fc
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140127cb0
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x48], xmm0
xor r15d, r15d
mov qword [rbp - 0x38], r15
jmp 0x14004ba15
xor r15d, r15d
lea rcx, [rbp + 0x20]
call fcn.140078580
nop
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x14004ba6d
mov rdx, qword [rsp + 0x68]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004ba59
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004ba59
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140127cb0
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x68], r15
test r14, r14
je 0x14004baec
mov rbx, r14
cmp r14, r13
je 0x14004ba91
nop word [rax + rax]
mov rcx, rbx
call fcn.140078580
add rbx, 0x18
cmp rbx, r13
jne 0x14004ba80
mov rcx, qword [rbp + 0x18]
sub rcx, r14
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*2]
shl rdx, 3
mov rax, r14
cmp rdx, 0x1000
jb 0x14004bae3
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004bae3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r14
call fcn.140127cb0
nop
mov rcx, qword [rbp - 0x60]
test rcx, rcx
je 0x14004bb2e
mov rdx, qword [rbp - 0x50]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004bb1d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004bb5f
call fcn.140127cb0
mov qword [rbp - 0x60], r15
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x58], xmm0
mov rcx, qword [rbp - 0x78]
test rcx, rcx
je 0x14004bb77
mov rdx, qword [rbp - 0x68]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004bb66
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004bb66
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140127cb0
mov qword [rbp - 0x78], r15
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x70], xmm0
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x14004bbc3
mov rdx, qword [rbp - 0x80]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004bbb0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004bbb0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140127cb0
mov qword [rsp + 0x70], r15
mov qword [rsp + 0x78], r15
mov qword [rbp - 0x80], r15
mov rcx, qword [rbp - 0x10]
test rcx, rcx
je 0x14004b3b9
mov rdx, qword [rbp]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004b3b4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004b3b4
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
nop word [rax + rax]
mov byte [rsp + 0x20], 0
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], r12
mov qword [rdi + 0x18], r12
lea rax, [rsp + 0x20]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rax + r8], 0
jne 0x14004bc30
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.140016190
nop
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x14004bc93
mov rdx, qword [rsp + 0x68]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004bc7f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004bebc
call fcn.140127cb0
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], r12
test r14, r14
je 0x14004b2aa
mov rbx, r14
cmp r14, r13
je 0x14004bcb5
mov rcx, rbx
call fcn.140078580
add rbx, 0x18
cmp rbx, r13
jne 0x14004bca4
mov rcx, qword [rbp + 0x18]
sub rcx, r14
mov rax, rsi
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*2]
shl rdx, 3
mov rax, r14
cmp rdx, 0x1000
jb 0x14004bcfd
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004bf39
mov rcx, r14
jmp 0x14004b2a4
lea rax, [rbp - 0x30]
cmp qword [rbp - 0x18], 0x10
cmovae rax, qword [rbp - 0x30]
dec rdx
movzx r10d, byte [rdx + rax]
lea rax, [rbp - 0x30]
cmp qword [rbp - 0x18], 0x10
cmovae rax, qword [rbp - 0x30]
mov qword [rbp - 0x20], rdx
mov byte [rax + rdx], 0
mov rdx, qword [rbp - 0x20]
test rdx, rdx
jne 0x14004bdf8
mov byte [rsp + 0x20], dl
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], r12
mov qword [rdi + 0x18], r12
lea rax, [rsp + 0x20]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x14004bd60
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.140016190
nop
lea rcx, [rbp - 0x30]
call fcn.14000d000
nop
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x14004bdcd
mov rdx, qword [rsp + 0x68]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004bdb9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004bebc
call fcn.140127cb0
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], r12
test r14, r14
je 0x14004b2aa
mov rbx, r14
cmp r14, r13
je 0x14004bcb5
mov rcx, rbx
call fcn.140078580
add rbx, 0x18
cmp rbx, r13
jne 0x14004bde2
jmp 0x14004bcb5
lea rax, [rbp - 0x30]
cmp qword [rbp - 0x18], 0x10
cmovae rax, qword [rbp - 0x30]
dec rdx
movzx r9d, byte [rax + rdx]
lea rax, [rbp - 0x30]
cmp qword [rbp - 0x18], 0x10
cmovae rax, qword [rbp - 0x30]
mov qword [rbp - 0x20], rdx
mov byte [rax + rdx], 0
mov rcx, r12
cmp qword [rbp - 0x20], 0
jbe 0x14004be60
nop
lea rax, [rbp - 0x30]
test cl, 1
jne 0x14004be49
cmp qword [rbp - 0x18], 0x10
cmovae rax, qword [rbp - 0x30]
xor byte [rax + rcx], r9b
jmp 0x14004be57
cmp qword [rbp - 0x18], 0x10
cmovae rax, qword [rbp - 0x30]
xor byte [rax + rcx], r10b
inc rcx
cmp rcx, qword [rbp - 0x20]
jb 0x14004be30
movups xmm0, xmmword [rbp - 0x30]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rbp - 0x20]
movups xmmword [rdi + 0x10], xmm1
mov qword [rbp - 0x20], r12
mov qword [rbp - 0x18], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x30], 0
lea rcx, [rbp - 0x30]
call fcn.14000d000
nop
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x14004bed7
mov rdx, qword [rsp + 0x68]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004bec3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004bec3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140127cb0
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], r12
test r14, r14
je 0x14004bf49
mov rbx, r14
cmp r14, r13
je 0x14004bef5
mov rcx, rbx
call fcn.140078580
add rbx, 0x18
cmp rbx, r13
jne 0x14004bee4
mov rcx, qword [rbp + 0x18]
sub rcx, r14
mov rax, rsi
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*2]
shl rdx, 3
mov rax, r14
cmp rdx, 0x1000
jb 0x14004bf40
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004bf40
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r14
call fcn.140127cb0
nop
mov rcx, qword [rbp - 0x60]
test rcx, rcx
je 0x14004bf8b
mov rdx, qword [rbp - 0x50]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004bf7a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004bfbc
call fcn.140127cb0
mov qword [rbp - 0x60], r12
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x58], xmm0
mov rcx, qword [rbp - 0x78]
test rcx, rcx
je 0x14004bfd4
mov rdx, qword [rbp - 0x68]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004bfc3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004bfc3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140127cb0
mov qword [rbp - 0x78], r12
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x70], xmm0
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x14004c020
mov rdx, qword [rbp - 0x80]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004c00d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004c00d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140127cb0
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], r12
mov qword [rbp - 0x80], r12
mov rcx, qword [rbp - 0x10]
test rcx, rcx
je 0x14004b3b9
mov rdx, qword [rbp]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004b3b4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004b3b4
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call fcn.14000c8c0
int3