Function at 0x140022d08
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xf8
movaps xmmword [rsp + 0xe0], xmm6
mov qword [rsp + 0x90], r8
mov qword [rsp + 0x88], rdx
mov qword [rsp + 0xd0], rcx
xorps xmm0, xmm0
movups xmmword [rsp + 0x6c], xmm0
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x50], xmm0
xor eax, eax
lea rcx, [0x1400e7450]
movsxd rdx, dword [rax + rcx]
xor dword [rsp + rdx*4 + 0x50], 0x78c104ba
add rax, 4
cmp rax, 0x28
jne 0x140022d56
mov rax, qword [rsp + 0x88]
cmp qword [rsp + 0x90], rax
mov eax, 0x1b8d9245
mov ecx, 0x6b0c795f
cmovl ecx, eax
mov dword [rsp + 0x4c], ecx
mov eax, 0x47c49478
xor ecx, ecx
mov qword [rsp + 0xb0], rcx
lea rsi, [0x1400e7480]
lea r14, [0x1400e74a8]
lea rbx, [0x1400e7420]
xorps xmm6, xmm6
lea r13, [0x1400e7408]
mov r12d, 0x765675a7
lea rbp, [0x1400e7400]
lea rdi, [0x1400e7498]
xor ecx, ecx
mov qword [rsp + 0xa8], rcx
xor ecx, ecx
mov qword [rsp + 0x98], rcx
xor ecx, ecx
mov qword [rsp + 0xa0], rcx
cmp eax, 0x5fcc2876
jle 0x140022e35
cmp eax, 0x69603051
jle 0x140022e72
cmp eax, 0x69603052
je 0x140022f2c
cmp eax, 0x771e161b
je 0x140022f80
cmp eax, 0x7cbfe930
jne 0x140022ded
mov rax, qword [rsp + 0x30]
mov rax, qword [rax]
mov qword [rsp + 0xb8], rax
mov eax, dword [rsp + 0x60]
mov ecx, 0x5aed4d2e
xor eax, ecx
jmp 0x140022ded
cmp eax, 0x2529ff55
jle 0x140022ea7
cmp eax, 0x47c49478
je 0x140022fa0
cmp eax, 0x5c59b6c3
jne 0x140023489
mov rax, qword [rsp + 0x38]
mov rax, qword [rax]
mov qword [rsp + 0xc0], rax
mov eax, dword [rsp + 0x68]
mov ecx, 0xb4e2b6
xor eax, ecx
jmp 0x140022ded
cmp eax, 0x5fcc2877
je 0x140022fd9
cmp eax, 0x634c96ff
jne 0x140022ded
lea rcx, [0x1400e3128]
call fcn.14001cc6a
mov r15, rax
mov eax, dword [rsp + 0x58]
mov ecx, 0x27c93e93
xor eax, ecx
jmp 0x140022ded
cmp eax, 0x13cd7de5
je 0x1400230b4
cmp eax, 0x1b98f6ac
jne 0x140022ded
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0xb8]
add rax, rcx
mov qword [rsp + 0xd8], rax
mov rax, qword [rsp + 0x40]
cmp byte [rsp + 0x98], 0
jne 0x140022eff
xor ecx, ecx
movsxd rdx, dword [rcx + r14]
xor dword [rsp + rdx*4 + 0x50], 0xe97711d
add rcx, 4
cmp rcx, 8
jne 0x140022ee9
test rax, rax
mov eax, 0x6c320201
mov ecx, 0x44e03c6d
cmove eax, ecx
xor eax, dword [rsp + 0x6c]
mov cl, 1
mov qword [rsp + 0x98], rcx
xor ecx, ecx
mov qword [rsp + 0xc8], rcx
jmp 0x140022ded
mov rax, qword [rsp + 0x38]
cmp byte [rsp + 0xa8], 0
jne 0x140022f53
xor ecx, ecx
movsxd rdx, dword [rcx + rdi]
xor dword [rsp + rdx*4 + 0x50], 0x28a16966
add rcx, 4
cmp rcx, 0x10
jne 0x140022f3d
test rax, rax
mov eax, 0x6fd4cbbf
mov ecx, 0x28158bd0
cmove eax, ecx
xor eax, dword [rsp + 0x64]
mov cl, 1
mov qword [rsp + 0xa8], rcx
xor ecx, ecx
mov qword [rsp + 0xc0], rcx
jmp 0x140022ded
mov rax, qword [rsp + 0x40]
mov rax, qword [rax]
mov qword [rsp + 0xc8], rax
mov eax, dword [rsp + 0x70]
mov ecx, 0x4a774d70
xor eax, ecx
jmp 0x140022ded
cmp byte [rsp + 0xa0], 0
jne 0x140022fc2
xor eax, eax
movsxd rcx, dword [rax + rbx]
xor dword [rsp + rcx*4 + 0x50], 0x7a21c57f
add rax, 4
cmp rax, 0x24
jne 0x140022fac
mov eax, dword [rsp + 0x50]
xor eax, dword [rsp + 0x4c]
mov cl, 1
mov qword [rsp + 0xa0], rcx
jmp 0x140022ded
mov rdx, qword [rsp + 0xd8]
add rdx, qword [rsp + 0xc8]
cmp rdx, 0xfffffffffffffff5
mov rax, 0xfffffffffffffff5
cmovle rdx, rax
lea rsi, [rdx + 0x12]
add rdx, 0x23
lea rcx, [0x1400e0010]
call fcn.14001a438
mov r15, rax
mov qword [rax + 8], rsi
mov qword [rax], 0
movaps xmmword [rsp + 0x20], xmm6
xor eax, eax
movsxd rcx, dword [rax + r13]
xor dword [rsp + rcx*4 + 0x20], 0x78c104ba
add rax, 4
cmp rax, 0xc
jne 0x140023021
mov edx, 0x59f86fa6
xor eax, eax
xor ecx, ecx
cmp edx, 0xe97711d
je 0x14002313e
cmp edx, 0x23b3651a
je 0x140023087
cmp edx, 0x59f86fa6
jne 0x140023040
test cl, cl
jne 0x140023078
xor ecx, ecx
movsxd rdx, dword [rcx + rbp]
xor dword [rsp + rdx*4 + 0x20], 0x7a21c57f
add rcx, 4
cmp rcx, 8
jne 0x140023062
mov edx, dword [rsp + 0x20]
mov ecx, 0x5b7261a0
xor edx, ecx
mov cl, 1
jmp 0x140023040
mov edx, dword [0x1400e317b]
mov dword [r15 + rax + 0x13], edx
mov edx, dword [0x1400e3178]
mov dword [r15 + rax + 0x10], edx
mov rax, qword [r15]
add rax, 6
mov qword [r15], rax
mov edx, dword [rsp + 0x28]
mov ebx, 0xc77b0d8
xor edx, ebx
jmp 0x140023040
mov rcx, qword [rsp + 0xd0]
call fcn.140003751
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x88]
call fcn.140003751
mov qword [rsp + 0x38], rax
mov rcx, qword [rsp + 0x90]
call fcn.140003751
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x30]
cmp byte [rsp + 0xb0], 0
jne 0x140023111
xor ecx, ecx
movsxd rdx, dword [rcx + rsi]
xor dword [rsp + rdx*4 + 0x50], 0x316dbcb9
add rcx, 4
cmp rcx, 0x18
jne 0x1400230fb
test rax, rax
mov eax, 0x7e5f28f5
mov ecx, 0x6b80f197
cmove eax, ecx
xor eax, dword [rsp + 0x5c]
mov cl, 1
mov qword [rsp + 0xb0], rcx
xor ecx, ecx
mov qword [rsp + 0xb8], rcx
jmp 0x140022ded
mov r14, qword [rsp + 0x30]
movaps xmmword [rsp + 0x20], xmm6
xor ecx, ecx
movsxd rdx, dword [rcx + r13]
xor dword [rsp + rdx*4 + 0x20], 0x78c104ba
add rcx, 4
cmp rcx, 0xc
jne 0x14002314a
lea rdi, [r14 + 0x10]
test r14, r14
mov ebx, 0x5b7261a0
cmove ebx, r12d
mov ecx, 0x59f86fa6
xor r12d, r12d
cmp ecx, 0xe97711d
je 0x1400231e4
cmp ecx, 0x23b3651a
je 0x1400231b8
cmp ecx, 0x59f86fa6
jne 0x140023178
test r12b, r12b
jne 0x1400231ad
xor ecx, ecx
movsxd rdx, dword [rcx + rbp]
xor dword [rsp + rdx*4 + 0x20], 0x7a21c57f
add rcx, 4
cmp rcx, 8
jne 0x140023197
mov ecx, dword [rsp + 0x20]
xor ecx, ebx
mov r12b, 1
jmp 0x140023178
lea rcx, [r15 + rax]
add rcx, 0x10
mov r8, qword [r14]
inc r8
mov rdx, rdi
call sub.msvcrt.dll_memcpy
mov rax, qword [r15]
add rax, qword [r14]
mov qword [r15], rax
mov ecx, dword [rsp + 0x28]
mov edx, 0xc77b0d8
xor ecx, edx
jmp 0x140023178
movaps xmmword [rsp + 0x20], xmm6
xor ecx, ecx
movsxd rdx, dword [rcx + r13]
xor dword [rsp + rdx*4 + 0x20], 0x78c104ba
add rcx, 4
cmp rcx, 0xc
jne 0x1400231eb
mov edx, 0x59f86fa6
xor ecx, ecx
mov r12d, 0x765675a7
cmp edx, 0xe97711d
je 0x14002327f
cmp edx, 0x23b3651a
je 0x140023251
cmp edx, 0x59f86fa6
jne 0x14002320e
test cl, cl
jne 0x140023242
xor ecx, ecx
movsxd rdx, dword [rcx + rbp]
xor dword [rsp + rdx*4 + 0x20], 0x7a21c57f
add rcx, 4
cmp rcx, 8
jne 0x14002322c
mov edx, dword [rsp + 0x20]
mov ecx, 0x5b7261a0
xor edx, ecx
mov cl, 1
jmp 0x14002320e
mov dl, byte [0x1400e3448]
mov byte [r15 + rax + 0x18], dl
mov rdx, qword [0x1400e3440]
mov qword [r15 + rax + 0x10], rdx
mov rax, qword [r15]
add rax, 8
mov qword [r15], rax
mov edx, dword [rsp + 0x28]
mov ebx, 0xc77b0d8
xor edx, ebx
jmp 0x14002320e
mov rbx, qword [rsp + 0x38]
movaps xmmword [rsp + 0x20], xmm6
xor ecx, ecx
movsxd rdx, dword [rcx + r13]
xor dword [rsp + rdx*4 + 0x20], 0x78c104ba
add rcx, 4
cmp rcx, 0xc
jne 0x14002328b
lea r14, [rbx + 0x10]
test rbx, rbx
mov edi, 0x5b7261a0
cmove edi, r12d
mov ecx, 0x59f86fa6
xor esi, esi
cmp ecx, 0xe97711d
je 0x140023324
cmp ecx, 0x23b3651a
je 0x1400232f8
cmp ecx, 0x59f86fa6
jne 0x1400232b8
test sil, sil
jne 0x1400232ed
xor ecx, ecx
movsxd rdx, dword [rcx + rbp]
xor dword [rsp + rdx*4 + 0x20], 0x7a21c57f
add rcx, 4
cmp rcx, 8
jne 0x1400232d7
mov ecx, dword [rsp + 0x20]
xor ecx, edi
mov sil, 1
jmp 0x1400232b8
lea rcx, [r15 + rax]
add rcx, 0x10
mov r8, qword [rbx]
inc r8
mov rdx, r14
call sub.msvcrt.dll_memcpy
mov rax, qword [r15]
add rax, qword [rbx]
mov qword [r15], rax
mov ecx, dword [rsp + 0x28]
mov edx, 0xc77b0d8
xor ecx, edx
jmp 0x1400232b8
movaps xmmword [rsp + 0x20], xmm6
xor ecx, ecx
movsxd rdx, dword [rcx + r13]
xor dword [rsp + rdx*4 + 0x20], 0x78c104ba
add rcx, 4
cmp rcx, 0xc
jne 0x14002332b
mov edx, 0x59f86fa6
xor ecx, ecx
cmp edx, 0xe97711d
je 0x1400233b8
cmp edx, 0x23b3651a
je 0x14002338b
cmp edx, 0x59f86fa6
jne 0x140023348
test cl, cl
jne 0x14002337c
xor ecx, ecx
movsxd rdx, dword [rcx + rbp]
xor dword [rsp + rdx*4 + 0x20], 0x7a21c57f
add rcx, 4
cmp rcx, 8
jne 0x140023366
mov edx, dword [rsp + 0x20]
mov ecx, 0x5b7261a0
xor edx, ecx
mov cl, 1
jmp 0x140023348
mov dl, byte [0x1400e3124]
mov byte [r15 + rax + 0x14], dl
mov edx, dword [0x1400e3120]
mov dword [r15 + rax + 0x10], edx
mov rax, qword [r15]
add rax, 4
mov qword [r15], rax
mov edx, dword [rsp + 0x28]
mov ebx, 0xc77b0d8
xor edx, ebx
jmp 0x140023348
mov rbx, qword [rsp + 0x40]
movaps xmmword [rsp + 0x20], xmm6
xor ecx, ecx
movsxd rdx, dword [rcx + r13]
xor dword [rsp + rdx*4 + 0x20], 0x78c104ba
add rcx, 4
cmp rcx, 0xc
jne 0x1400233c4
lea r14, [rbx + 0x10]
test rbx, rbx
mov edi, 0x5b7261a0
cmove edi, r12d
mov ecx, 0x59f86fa6
xor esi, esi
cmp ecx, 0xe97711d
je 0x14002345d
cmp ecx, 0x23b3651a
je 0x140023431
cmp ecx, 0x59f86fa6
jne 0x1400233f1
test sil, sil
jne 0x140023426
xor ecx, ecx
movsxd rdx, dword [rcx + rbp]
xor dword [rsp + rdx*4 + 0x20], 0x7a21c57f
add rcx, 4
cmp rcx, 8
jne 0x140023410
mov ecx, dword [rsp + 0x20]
xor ecx, edi
mov sil, 1
jmp 0x1400233f1
lea rcx, [r15 + rax]
add rcx, 0x10
mov r8, qword [rbx]
inc r8
mov rdx, r14
call sub.msvcrt.dll_memcpy
mov rax, qword [r15]
add rax, qword [rbx]
mov qword [r15], rax
mov ecx, dword [rsp + 0x28]
mov edx, 0xc77b0d8
xor ecx, edx
jmp 0x1400233f1
mov eax, dword [rsp + 0x74]
mov ecx, 0x30929a51
xor eax, ecx
lea rsi, [0x1400e7480]
lea r14, [0x1400e74a8]
lea rbx, [0x1400e7420]
lea rdi, [0x1400e7498]
jmp 0x140022ded
cmp eax, 0x2529ff56
jne 0x140022ded
mov rcx, r15
call fcn.14001d3a8
int3