Function at 0x140018600
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rsi, rcx
call fcn.14004c390
call fcn.14004c410
call fcn.14004c490
call fcn.14004c520
mov r12d, dword [rsi + 0x9c4]
xor r15d, r15d
nop word cs:[rax + rax]
mov r13d, r12d
call fcn.14004c5b0
cdqe
lea rcx, [0x140063914]
mov edi, dword [rcx + rax*4]
and edi, r12d
call fcn.14004c630
cdqe
lea rcx, [0x140063920]
xor edi, dword [rcx + rax*4]
call fcn.14004c6a0
cdqe
lea rcx, [0x14006392c]
xor r13d, dword [rcx + rax*4]
or r13d, edi
call fcn.14004c730
cdqe
lea rcx, [0x140063940]
mov rax, qword [rcx + rax*8]
add rax, r15
mov r12d, dword [rsi + rax*4 + 4]
call fcn.14004c7c0
cdqe
lea rcx, [0x140063958]
mov edi, dword [rcx + rax*4]
and edi, r12d
call fcn.14004c830
cdqe
lea rcx, [0x140063964]
mov ebp, dword [rcx + rax*4]
xor ebp, edi
call fcn.14004c8b0
cdqe
lea rcx, [0x140063970]
mov ebx, dword [rcx + rax*4]
and ebx, ebp
call fcn.14004c930
cdqe
lea rcx, [0x14006397c]
mov eax, dword [rcx + rax*4]
xor eax, r12d
and eax, edi
mov edi, eax
or edi, ebx
call fcn.14004c9a0
cdqe
lea rcx, [0x140063988]
mov ebx, dword [rcx + rax*4]
and ebx, r13d
call fcn.14004ca20
cdqe
lea rcx, [0x140063994]
mov r14d, dword [rcx + rax*4]
and r14d, r13d
call fcn.14004ca90
cdqe
lea rcx, [0x1400639a0]
or r14d, dword [rcx + rax*4]
xor r14d, ebx
call fcn.14004cb10
cdqe
lea rcx, [0x1400639ac]
mov ebx, dword [rcx + rax*4]
xor ebx, r14d
call fcn.14004cb90
cdqe
lea rcx, [0x1400639b8]
xor r14d, dword [rcx + rax*4]
and r14d, edi
call fcn.14004cc20
cdqe
lea rcx, [0x1400639c4]
xor edi, dword [rcx + rax*4]
and edi, ebx
or ebp, r13d
call fcn.14004ccb0
cdqe
lea rcx, [0x1400639d0]
and ebp, dword [rcx + rax*4]
call fcn.14004cd20
cdqe
lea rcx, [0x1400639dc]
xor ebp, dword [rcx + rax*4]
or ebp, edi
mov edi, ebp
or edi, r14d
call fcn.14004cd90
cdqe
lea rcx, [0x1400639e8]
movzx ecx, byte [rcx + rax*4]
mov ebp, edi
shr ebp, cl
call fcn.14004ce10
cdqe
lea rcx, [0x1400639f4]
and edi, dword [rcx + rax*4]
call fcn.14004cea0
imul eax, dword [0x1401f2ff0], 0x1341ee87
imul ecx, dword [0x1401f2ff4], 0xf2b5a7e2
add eax, ecx
add eax, 0x35a14336
imul ecx, dword [0x1401f2ff8], 0x2cc5875d
imul edx, dword [0x1401f2ffc], 0x958fc54d
mov r8d, dword [0x1401f3000]
mov r9d, dword [0x1401f3004]
shrd r9d, r8d, 0x1d
xor r9d, 0xf3df5ddd
cmp edi, eax
mov eax, edx
lea edi, [rcx + rax - 0x75f43168]
cmovne edi, r9d
call fcn.14004cf20
cdqe
lea rcx, [0x140063a00]
mov ebx, dword [rcx + rax*4]
and ebx, ebp
call fcn.14004cfb0
cdqe
lea rcx, [0x140063a0c]
xor ebx, dword [rcx + rax*4]
and ebx, edi
call fcn.14004d030
cdqe
lea rcx, [0x140063a18]
xor edi, dword [rcx + rax*4]
and edi, ebp
or edi, ebx
call fcn.14004d0b0
cdqe
lea rcx, [0x140063a30]
mov rax, qword [rcx + rax*8]
add rax, r15
xor edi, dword [rsi + rax*4 + 4]
mov dword [rsi + r15*4 + 4], edi
call fcn.14004d120
cdqe
mov rdi, r15
lea rcx, [0x140063a50]
add rdi, qword [rcx + rax*8]
call fcn.14004d1a0
cdqe
mov r15, rdi
lea rcx, [0x140063a70]
cmp rdi, qword [rcx + rax*8]
jne 0x140018640
mov ebp, dword [rsi + 0xd50]
mov r13d, 0xe3
nop word [rax + rax]
call fcn.14004d220
cdqe
lea rcx, [0x140063a88]
mov edi, dword [rcx + rax*4]
and edi, ebp
call fcn.14004d290
cdqe
mov ebx, edi
lea rcx, [0x140063a94]
xor ebx, dword [rcx + rax*4]
call fcn.14004d310
cdqe
mov edi, ebp
lea rcx, [0x140063aa0]
xor edi, dword [rcx + rax*4]
or edi, ebx
call fcn.14004d3a0
cdqe
lea rcx, [0x140063ab0]
mov rax, qword [rcx + rax*8]
add rax, r13
mov ebp, dword [rsi + rax*4 + 4]
call fcn.14004d410
cdqe
lea rcx, [0x140063ac8]
mov ebx, dword [rcx + rax*4]
and ebx, ebp
call fcn.14004d480
cdqe
lea rcx, [0x140063ad4]
mov r15d, dword [rcx + rax*4]
and r15d, ebp
call fcn.14004d500
cdqe
lea rcx, [0x140063ae0]
mov r12d, dword [rcx + rax*4]
xor r12d, ebp
and r12d, ebx
call fcn.14004d570
cdqe
lea rcx, [0x140063aec]
mov r14d, dword [rcx + rax*4]
xor r14d, edi
call fcn.14004d5e0
cdqe
xor r15d, r12d
lea rcx, [0x140063af8]
and r12d, dword [rcx + rax*4]
call fcn.14004d670
cdqe
lea rcx, [0x140063b04]
xor r15d, dword [rcx + rax*4]
or r15d, r12d
call fcn.14004d700
cdqe
lea rcx, [0x140063b10]
mov eax, dword [rcx + rax*4]
xor eax, edi
mov r12d, eax
and r12d, r15d
call fcn.14004d770
cdqe
lea rcx, [0x140063b1c]
xor r15d, dword [rcx + rax*4]
and r15d, r14d
call fcn.14004d7f0
cdqe
lea rcx, [0x140063b28]
xor edi, dword [rcx + rax*4]
and edi, ebx
or edi, r12d
mov ebx, edi
or ebx, r15d
call fcn.14004d880
cdqe
lea rcx, [0x140063b34]
movzx ecx, byte [rcx + rax*4]
mov edi, ebx
shr edi, cl
call fcn.14004d900
cdqe
lea rcx, [0x140063b40]
and ebx, dword [rcx + rax*4]
call fcn.14004d970
mov eax, dword [0x1401f3008]
mov ecx, dword [0x1401f300c]
shrd ecx, eax, 0x19
xor ecx, 0x7da782
imul eax, dword [0x1401f3010], 0x9a0f2519
imul edx, dword [0x1401f3014], 0x35919c2b
imul r8d, dword [0x1401f3018], 0xeae7a12c
imul r9d, dword [0x1401f301c], 0x2fcc0562
cmp ebx, ecx
mov ecx, edx
lea eax, [rax + rcx - 0x1f6d3da9]
mov ecx, r9d
mov edx, r8d
lea ebx, [rdx + rcx + 0x38a38719]
cmove ebx, eax
call fcn.14004d9f0
cdqe
lea rcx, [0x140063b50]
mov rax, qword [rcx + rax*8]
add rax, r13
xor ebx, dword [rsi + rax*4 + 4]
xor ebx, edi
call fcn.14004da80
cdqe
lea rcx, [0x140063b68]
xor ebx, dword [rcx + rax*4]
mov dword [rsi + r13*4 + 4], ebx
call fcn.14004db10
cdqe
mov rdi, r13
lea rcx, [0x140063b80]
add rdi, qword [rcx + rax*8]
call fcn.14004db90
cdqe
mov r13, rdi
lea rcx, [0x140063ba0]
cmp rdi, qword [rcx + rax*8]
jne 0x1400188b0
mov edi, dword [rsi + 0x1380]
call fcn.14004dc20
cdqe
lea rcx, [0x140063bb8]
and edi, dword [rcx + rax*4]
mov ebx, dword [rsi + 4]
call fcn.14004dca0
cdqe
lea rcx, [0x140063bc4]
mov eax, dword [rcx + rax*4]
and eax, ebx
mov ebp, eax
or ebp, edi
call fcn.14004dd20
cdqe
lea rcx, [0x140063bd0]
movzx ecx, byte [rcx + rax*4]
mov edi, ebp
shr edi, cl
call fcn.14004dd90
cdqe
lea rcx, str.4db4db4db______
and ebp, dword [rcx + rax*4]
call fcn.14004de20
cdqe
lea rcx, [0x140063be8]
and ebx, dword [rcx + rax*4]
or ebx, ebp
call fcn.14004de80
cdqe
lea rcx, [0x140063bf4]
mov ebp, dword [rcx + rax*4]
and ebp, ebx
call fcn.14004df00
cdqe
lea rcx, [0x140063c00]
xor ebp, dword [rcx + rax*4]
call fcn.14004df80
cdqe
lea rcx, [0x140063c0c]
xor ebx, dword [rcx + rax*4]
or ebx, ebp
call fcn.14004e000
cdqe
mov ecx, dword [0x1401f3020]
mov edx, dword [0x1401f3024]
shrd edx, ecx, 0x1c
lea rcx, [0x140063c18]
xor edx, 0x22aae607
mov r8d, dword [0x1401f3028]
mov r9d, dword [0x1401f302c]
shrd r9d, r8d, 9
xor r9d, 0x2941b66e
cmp ebx, dword [rcx + rax*4]
cmove r9d, edx
xor edi, dword [rsi + 0x634]
xor edi, r9d
mov dword [rsi + 0x9c0], edi
call fcn.14004e090
imul eax, dword [0x1401f3030], 0x6152bb4f
imul ecx, dword [0x1401f3034], 0x6f035798
add eax, ecx
add eax, 0xf73599f7
mov dword [rsi], eax
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret