Function at 0x140059810
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
mov r14, rdx
mov rsi, rcx
xorps xmm0, xmm0
movaps xmmword [rsp + 0xe0], xmm0
movaps xmmword [rsp + 0xd0], xmm0
movaps xmmword [rsp + 0xc0], xmm0
movaps xmmword [rsp + 0xb0], xmm0
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0x80], xmm0
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x60], xmm0
movaps xmmword [rsp + 0x50], xmm0
mov r12, qword [rcx + 0xa0]
nop word [rax + rax]
mov eax, dword [0x140214130]
or eax, dword [0x140214134]
mov edx, eax
not edx
and edx, 0x7cfc0042
mov ecx, eax
and ecx, 0x8303ffbd
imul ecx, edx
mov edx, eax
and edx, 0x7cfc0042
or eax, 0x7cfc0042
imul eax, edx
add eax, ecx
mov edx, eax
not edx
mov ecx, eax
and ecx, 0xfde6f744
and edx, 0x21908bb
imul edx, ecx
mov ecx, eax
and ecx, 0x21908ba
or eax, 0x21908bb
imul eax, ecx
add eax, edx
xor eax, 0x40dc4f82
cmp eax, 0xa4f4035
jb 0x140059880
cmp r12, r8
jae 0x140059e00
cmp r12, 0x29
jae 0x14005a1da
lea r9, [rsi + r12*4]
mov qword [rsp + 0x20], r14
lea rax, [r14 + r8*4]
mov qword [rsp + 0x30], rax
xor eax, eax
nop dword [rax]
test al, al
jne 0x140059910
mov eax, r8d
and eax, 1
mov rcx, r8
xor rcx, 1
lea rax, [rcx + rax*2]
mov qword [rsp + 0x28], rax
xor r10d, r10d
mov ebx, 0x8b6a29bd
mov r15d, 0xa495dc0f
mov r13, rsi
xor edi, edi
nop dword [rax]
mov eax, dword [0x1402141c8]
sub eax, dword [0x1402141cc]
xor eax, 0x46044182
or eax, 0x38e9921d
cmp eax, 0x37c4a15c
je 0x140059940
nop dword [rax]
mov rbp, r10
mov eax, dword [0x1402141d0]
mov ecx, dword [0x1402141d4]
mov edx, eax
xor edx, ecx
not ecx
and ecx, eax
add ecx, ecx
sub ecx, edx
imul rax, rcx, 0x4dd23315
shr rax, 0x3e
or eax, 0x47fb9c6c
cmp eax, 0xbd76c5a7
ja 0x140059963
cmp r13, r9
je 0x14005a19b
mov eax, dword [0x1402141d8]
or eax, dword [0x1402141dc]
mov ecx, eax
not ecx
and ecx, 0x973768a8
mov edx, eax
and edx, 0x68c89757
imul edx, ecx
mov ecx, eax
and ecx, 0x973768a8
or eax, 0x973768a8
imul eax, ecx
add eax, edx
imul rax, rax, 0x5cb414eb
shr rax, 0x3e
add eax, 0x93fbd633
cmp eax, 0x86de1c67
jb 0x14005999b
lea r10, [rbp + 1]
mov eax, dword [r13]
add r13, 4
nop word cs:[rax + rax]
mov ecx, dword [0x1402141e0]
mov edx, dword [0x1402141e4]
not ecx
not edx
or edx, ecx
not edx
imul rdx, rbx
shr rdx, 0x3e
not edx
and edx, 0x5081891f
or edx, 0xa2222680
add edx, 0xd794e96f
jae 0x140059a00
nop word cs:[rax + rax]
mov ecx, dword [0x1402141e8]
sub ecx, dword [0x1402141ec]
mov edx, ecx
not edx
or edx, 0x347d691d
add ecx, edx
inc ecx
mov edx, ecx
not edx
and ecx, 0x240d012
or edx, 0x313c0449
and edx, 0xbd3c254d
or edx, ecx
cmp edx, 0x76552ed6
jb 0x140059a40
test rax, rax
je 0x140059960
mov qword [rsp + 0x38], r10
mov qword [rsp + 0x40], r9
mov qword [rsp + 0x48], r8
mov ecx, dword [0x1402141f0]
mov edx, dword [0x1402141f4]
mov r8d, edx
not r8d
and r8d, ecx
xor edx, ecx
add edx, ecx
sub edx, r8d
and edx, 0xfc9eb13a
add edx, 0x525325a7
cmp edx, 0xca97174f
ja 0x140059a92
xor r8d, r8d
xor edx, edx
mov r9, qword [rsp + 0x20]
nop dword [rax]
mov ecx, dword [0x140214200]
mov r10d, dword [0x140214204]
mov r11d, r10d
not r11d
mov r12d, ecx
and r12d, r11d
or r11d, ecx
not r11d
imul r11d, r12d
mov r12d, ecx
and r12d, r10d
or ecx, r10d
imul ecx, r12d
add ecx, r11d
imul ecx, ecx, 0x15172d11
cmp ecx, 0xb427acc9
je 0x140059ad0
movabs rcx, 0xc9ff0b98a6dc219f
lea r11, [rdx + rcx]
add r11, rbp
sub r11, rcx
cmp r11, 0x28
jae 0x14005a2bb
inc rdx
nop word cs:[rax + rax]
mov ecx, dword [0x140214228]
imul ecx, dword [0x14021422c]
or ecx, 0x208500
and ecx, 0xe0e8b518
imul rcx, r15
shr rcx, 0x3e
cmp ecx, 0x6d30b1cc
ja 0x140059b40
mov ecx, dword [r9]
mov r10d, dword [rsp + r11*4 + 0x50]
add r8, r10
mov r10d, ecx
not r10d
and r10d, eax
mov r12d, eax
not r12d
and r12d, ecx
imul r12, r10
mov r10d, ecx
and r10d, eax
or rcx, rax
imul rcx, r10
add rcx, r12
mov r14d, dword [0x140214230]
mov r12d, dword [0x140214234]
mov r10d, r14d
not r10d
and r10d, r12d
not r12d
and r12d, r14d
sub r12d, r10d
imul r10d, r12d, 0x9a98fc0f
add r10d, 0xf4c6fb2a
mov r14d, r10d
not r14d
mov r12d, r10d
and r12d, 0x60ada5e3
and r14d, 0x9f525a1c
imul r14d, r12d
mov r12d, r10d
and r12d, 0x9f525a1c
or r10d, 0x9f525a1c
imul r10d, r12d
add r10d, r14d
cmp r10d, 0x843f600e
jne 0x140059c0d
lea r10d, [r8 + rcx]
mov dword [rsp + r11*4 + 0x50], r10d
add r9, 4
nop word cs:[rax + rax]
mov r10d, dword [0x140214238]
or r10d, dword [0x14021423c]
imul r14, r10, 0x1e03cde5
shr r14, 0x20
sub r10d, r14d
shr r10d, 1
add r10d, r14d
shr r10d, 0x1e
imul r10d, r10d, 0x7a5a1ca0
imul r14, r10, 0x79eeae39
shr r14, 0x3d
lea r10, [r8 + rcx]
mov dword [rsp + r11*4 + 0x50], r10d
cmp r14d, 0x8f6c80a3
ja 0x140059c20
shr r10, 0x20
mov r8, r10
cmp r9, qword [rsp + 0x30]
jne 0x140059ad0
mov r8, qword [rsp + 0x48]
nop word cs:[rax + rax]
mov eax, dword [0x1402141f8]
xor eax, dword [0x1402141fc]
add eax, 0x1dc93717
mov ecx, eax
not ecx
and ecx, 0x9bff4c0e
mov edx, eax
and edx, 0x6400b3f1
imul edx, ecx
mov ecx, eax
and ecx, 0x9bff4c0e
or eax, 0x9bff4c0e
imul eax, ecx
add eax, edx
shr eax, 3
imul rax, rax, 0x2078d47
shr rax, 0x35
cmp eax, 0xa50044a6
ja 0x140059c90
mov rax, r8
test r10d, r10d
je 0x140059dd3
mov eax, dword [0x140214208]
xor edx, edx
div dword [0x14021420c]
mov ecx, eax
and ecx, 0x10380060
xor ecx, 0x80040
and eax, 0x80040
or eax, ecx
or eax, 0xefc7ff9f
cmp eax, 0xea87982
jb 0x140059ce9
lea rcx, [r8 + rbp]
cmp rcx, 0x28
jae 0x14005a419
mov eax, dword [0x140214210]
xor edx, edx
div dword [0x140214214]
imul eax, eax, 0xc58c559c
add eax, 0xdcac2603
mov edx, eax
and edx, 0xa0bca413
or eax, 0xa0bca413
add eax, edx
cmp eax, 0x2708a04
jb 0x140059d26
mov eax, dword [0x140214218]
add eax, dword [0x14021421c]
and eax, 0x7d72afd0
imul eax, eax, 0xd850dd1f
mov edx, 0xa02c947d
imul rax, rdx
shr rax, 0x3f
cmp eax, 0xb9f52e96
je 0x140059dec
mov eax, dword [0x140214220]
mov edx, dword [0x140214224]
mov r11d, edx
not r11d
mov r9d, eax
and r9d, r11d
or r11d, eax
not r11d
imul r11d, r9d
mov r9d, eax
and r9d, edx
or eax, edx
imul eax, r9d
add eax, r11d
add eax, 0x1d1cf024
imul rdx, rax, 0x5a9e7bad
shr rdx, 0x3e
mov dword [rsp + rcx*4 + 0x50], r10d
mov rax, qword [rsp + 0x28]
cmp edx, 0xbb836a02
je 0x140059dec
add rax, rbp
cmp rdi, rax
cmovbe rdi, rax
mov r9, qword [rsp + 0x40]
mov r10, qword [rsp + 0x38]
jmp 0x140059940
mov dword [rsp + rcx*4 + 0x50], r10d
jmp 0x140059d80
mov eax, dword [0x140214138]
mov edx, dword [0x14021413c]
mov ecx, eax
xor ecx, edx
not edx
and edx, eax
add edx, edx
sub edx, ecx
add edx, 0x8e0e1746
or edx, 0x10180287
and edx, 0x111c92af
cmp edx, 0xc6458c2f
ja 0x140059e00
cmp r12, 0x29
jae 0x14005a34e
nop dword [rax]
mov eax, dword [0x140214158]
mov edx, dword [0x14021415c]
mov ecx, edx
not ecx
mov r9d, eax
and r9d, ecx
or ecx, eax
not ecx
imul ecx, r9d
mov r9d, eax
and r9d, edx
or eax, edx
imul eax, r9d
add eax, ecx
add eax, 0xfa910ee5
or eax, 0xe981c7dc
cmp eax, 0xd8d4eda4
je 0x140059e40
lea r13, [r14 + r8*4]
nop word cs:[rax + rax]
mov eax, dword [0x140214160]
xor edx, edx
div dword [0x140214164]
or eax, 0x14bb05a2
and eax, 0x14bb25e2
cmp eax, 0xee733e15
ja 0x140059e90
mov r9, r12
or r9, 1
lea rax, [rsi + r12*4]
nop word [rax + rax]
mov edx, dword [0x140214168]
or edx, dword [0x14021416c]
or edx, 0xf507ef55
add edx, 0x7d505eb7
mov r10d, edx
not r10d
mov r11d, edx
and r11d, 0x3ac04e8a
and r10d, 0x8539b030
imul r10d, r11d
mov r11d, edx
and r11d, 0x45381034
or edx, 0xc539b034
imul edx, r11d
add edx, r10d
cmp edx, 0xb61f6c6
je 0x140059ec0
mov ecx, r12d
and ecx, 1
add rcx, r9
mov qword [rsp + 0x20], rcx
xor r10d, r10d
xor r11d, r11d
xor edi, edi
nop dword [rax + rax]
mov r9d, dword [0x140214170]
imul r9d, dword [0x140214174]
add r9d, 0x4efe57b6
xor r9d, 0x4fbbe381
mov ebx, r9d
and ebx, 0xb8714716
or r9d, 0xb8714716
add r9d, ebx
cmp r9d, 0x716bb38f
jb 0x140059f30
nop dword [rax]
mov rbx, r11
mov r9d, dword [0x140214178]
sub r9d, dword [0x14021417c]
xor r9d, 0x8cf42afc
add r9d, 0x70334d8a
cmp r9d, 0x3a1b2ecb
jb 0x140059f73
cmp r14, r13
je 0x14005a19b
lea r11, [rbx + 1]
mov r15d, dword [r14]
add r14, 4
nop dword [rax]
test r10b, r10b
jne 0x140059fb0
test r15, r15
je 0x140059f70
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x30], r12
xor r9d, r9d
xor r12d, r12d
mov r13, rsi
nop dword [rax]
mov ebp, dword [0x140214188]
mov ecx, dword [0x14021418c]
mov edx, ecx
not edx
mov r8d, ebp
and r8d, edx
or edx, ebp
not edx
imul edx, r8d
mov r8d, ebp
and r8d, ecx
or ebp, ecx
imul ebp, r8d
add ebp, edx
imul ecx, ebp, 0xac210551
add ecx, 0x8c304d16
mov edx, ecx
and edx, 0x6a59a015
add edx, edx
sub ecx, edx
add ecx, 0xea59a015
cmp ecx, 0x24b71376
jb 0x140059fd0
lea rbp, [r12 + rbx]
cmp rbp, 0x28
jae 0x14005a1e9
inc r12
mov ecx, dword [r13]
add r13, 4
mov edx, dword [rsp + rbp*4 + 0x50]
imul rcx, r15
not rdx
sub rdx, r9
sub rdx, rcx
not rdx
mov r9, rdx
shr r9, 0x20
mov dword [rsp + rbp*4 + 0x50], edx
nop word [rax + rax]
test r10b, r10b
jne 0x14005a060
cmp r13, rax
jne 0x140059fd0
mov r12, qword [rsp + 0x30]
mov r13, qword [rsp + 0x28]
nop dword [rax + rax]
mov ebp, dword [0x140214180]
mov r15d, dword [0x140214184]
not ebp
not r15d
and r15d, ebp
not r15d
add r15d, 0x446e4f72
mov ebp, r15d
not ebp
and ebp, 0xf68b7d
and r15d, 0x1097482
sub r15d, ebp
or r15d, 0xfe56d648
cmp r15d, 0xc5b336d8
je 0x14005a080
mov r15, r12
test r9d, r9d
je 0x14005a168
lea r15, [rbx + r12]
nop word cs:[rax + rax]
test r10b, r10b
jne 0x14005a0e0
cmp r15, 0x28
jae 0x14005a2e3
test r10b, r10b
jne 0x14005a0ef
mov dword [rsp + r15*4 + 0x50], r9d
nop dword [rax]
mov ecx, dword [0x140214198]
mov r9d, dword [0x14021419c]
mov edx, ecx
xor edx, r9d
not edx
and edx, r9d
add edx, edx
sub r9d, edx
add r9d, ecx
and r9d, 0x24020d05
mov ecx, r9d
not ecx
lea edx, [r9 + 0x51c1b2ba]
mov r8d, edx
and r8d, 0x11c00e37
and ecx, 0x2e164100
imul ecx, r8d
and edx, 0x6403b188
or r9d, 0x7fd7f3ba
imul r9d, edx
add r9d, ecx
cmp r9d, 0xa2c27d31
ja 0x14005a100
mov r15, qword [rsp + 0x20]
mov ecx, dword [0x140214190]
add ecx, dword [0x140214194]
imul ecx, ecx, 0xdee2d312
xor ecx, 0x50b29ef5
lea r9, [rbx + r15]
cmp rdi, r9
cmova r9, rdi
cmp ecx, 0xba88447a
je 0x14005a168
mov rdi, r9
jmp 0x140059f30
mov eax, dword [0x140214258]
xor edx, edx
div dword [0x14021425c]
mov ecx, eax
xor ecx, 0x10830200
and ecx, 0x1a83d222
xor eax, 0xce40f562
lea eax, [rax + rcx*2]
imul rax, rax, 0x326eb047
shr rax, 0x3d
cmp eax, 0x4744e16a
jbe 0x14005a4d3
jmp 0x14005a522
ud2
mov eax, dword [0x1402141b0]
imul eax, dword [0x1402141b4]
or eax, 0xc1cdd446
imul eax, eax, 0x3e940eb8
add eax, 0x323f02c8
cmp eax, 0x14a87a04
jae 0x14005a210
ud2
mov eax, dword [0x1402141b8]
mov ecx, dword [0x1402141bc]
mov edx, eax
and edx, ecx
add edx, edx
add eax, ecx
sub eax, edx
or eax, 0x2563f2a3
add eax, 0xd68fd986
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x66a7ddd8
and ecx, 0x99582026
imul ecx, edx
mov edx, eax
and edx, 0x99580025
or eax, 0x99582027
imul eax, edx
add eax, ecx
ud2
mov eax, dword [0x140214240]
xor edx, edx
div dword [0x140214244]
or eax, 0x66d5d4c7
add eax, 0xb3bc89b1
cmp eax, 0x9e025793
jbe 0x14005a41b
jmp 0x14005a470
mov eax, dword [0x1402141a0]
sub eax, dword [0x1402141a4]
or eax, 0xf5ddb6db
mov ecx, eax
and ecx, 0x5417cbd6
add ecx, ecx
sub eax, ecx
cmp eax, 0x88667264
jne 0x14005a310
ud2
mov eax, dword [0x1402141a8]
mov ecx, eax
not ecx
or ecx, dword [0x1402141ac]
lea edx, [rax + rcx]
inc edx
add eax, ecx
mov ecx, edx
and ecx, 0x3cd40792
xor edx, 0xc32bf86d
add eax, edx
inc eax
sub eax, ecx
add eax, 0xc129aea5
ud2
mov eax, dword [0x140214140]
or eax, dword [0x140214144]
mov ecx, eax
and ecx, 0xe90ee1ea
or eax, 0xe90ee1ea
add eax, ecx
mov ecx, eax
not ecx
and ecx, 0xcb302d8
mov edx, eax
and edx, 0x34cfd27
imul edx, ecx
mov ecx, eax
and ecx, 0xcb302d8
or eax, 0xcb302d8
imul eax, ecx
add eax, edx
not eax
or eax, 0xf2b7285a
cmp eax, 0xce24899b
jae 0x14005a3a0
ud2
mov eax, dword [0x140214148]
or eax, dword [0x14021414c]
add eax, 0x119ab83
mov ecx, eax
xor ecx, 0x399094f6
xor eax, 0x260309
and eax, 0x21a6077d
mov edx, ecx
and edx, 0xde59f882
imul edx, eax
mov eax, ecx
and eax, 0x21a6077d
or ecx, 0x21a6077d
imul ecx, eax
add ecx, edx
ud2
ud2
mov eax, dword [0x140214248]
mov ecx, dword [0x14021424c]
mov edx, eax
not edx
and edx, ecx
mov r8d, ecx
not r8d
and r8d, eax
imul r8d, edx
mov edx, eax
and edx, ecx
or eax, ecx
imul eax, edx
add eax, r8d
mov ecx, eax
and ecx, 0x3a10bb4
add ecx, ecx
sub eax, ecx
add eax, 0x83a10bb4
and eax, 0xbd4a7712
imul rax, rax, 0x64a25633
shr rax, 0x3e
ud2
ud2
mov eax, dword [0x140214260]
xor edx, edx
div dword [0x140214264]
xor eax, 0x11a20012
or eax, 0xea08caed
mov ecx, eax
and ecx, 0x722f7808
add ecx, ecx
neg ecx
lea ebx, [rax + rcx]
add ebx, 0x722f7808
lea rdx, [rsp + 0x50]
mov r8d, 0xa0
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
mov qword [rsi + 0xa0], rdi
cmp ebx, 0x76c2fb8a
jae 0x14005a53e
lea rdx, [rsp + 0x50]
mov r8d, 0xa0
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
mov qword [rsi + 0xa0], rdi
jmp 0x14005a4d3
mov rax, rsi
add rsp, 0xf8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret