Function at 0x1403745f0
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.1405e04e0
call fcn.1405e0560
call fcn.1405e05f0
call fcn.1405e0670
call fcn.1405e06f0
call fcn.1405e0770
call fcn.1405e07e0
call fcn.1405e0860
call fcn.1405e08e0
cdqe
movabs rcx, 0x50ca1c6d09e3fda8
imul rcx, qword [0x140918c38]
movabs rdx, 0x373f3cbaf5e9085d
imul rdx, qword [0x140918c40]
lea r8, [0x14077aa10]
add rdx, rcx
movabs rcx, 0xa4a78fee8f3a5f5d
add rcx, rdx
cmp rcx, qword [r8 + rax*8]
jne 0x140374cb7
call fcn.1405e15e0
call fcn.1405e1660
call fcn.1405e16e0
call fcn.1405e1760
call fcn.1405e17e0
cdqe
movabs rcx, 0x65f1aac1173306f2
imul rcx, qword [0x140918c50]
movabs rdx, 0x6ef7719f8993e582
imul rdx, qword [0x140918c58]
lea r14, [0x14077abc0]
add rdx, rcx
movabs rcx, 0x49c348cc49e164f
add rcx, rdx
cmp rcx, qword [r14 + rax*8]
je 0x140374a36
mov r15d, 0xe3
nop dword [rax]
call fcn.1405e1870
cdqe
lea rcx, [0x14077abe0]
mov rax, qword [rcx + rax*8]
add rax, r15
mov r13d, dword [rsi + rax*4 + 4]
call fcn.1405e18f0
cdqe
lea rcx, [0x14077abf8]
and r13d, dword [rcx + rax*4]
call fcn.1405e1980
cdqe
lea rcx, [0x14077ac10]
mov rax, qword [rcx + rax*8]
add rax, r15
mov r12d, dword [rsi + rax*4 + 4]
call fcn.1405e1a00
cdqe
lea rcx, [0x14077ac28]
mov ebp, dword [rcx + rax*4]
and ebp, r12d
call fcn.1405e1a80
cdqe
lea rcx, [0x14077ac34]
xor ebp, dword [rcx + rax*4]
call fcn.1405e1b00
cdqe
lea rcx, [0x14077ac40]
mov edi, dword [rcx + rax*4]
and edi, ebp
call fcn.1405e1b90
cdqe
lea rcx, [0x14077ac4c]
mov ebx, dword [rcx + rax*4]
and ebx, r12d
or ebx, edi
call fcn.1405e1c00
cdqe
lea rcx, [0x14077ac58]
xor ebx, dword [rcx + rax*4]
call fcn.1405e1c80
cdqe
lea rcx, [0x14077ac64]
or r13d, dword [rcx + rax*4]
and r13d, ebx
call fcn.1405e1cf0
cdqe
lea rcx, [0x14077ac70]
mov edi, dword [rcx + rax*4]
and edi, r12d
call fcn.1405e1d70
cdqe
lea rcx, [0x14077ac7c]
and ebp, dword [rcx + rax*4]
or ebp, edi
call fcn.1405e1df0
cdqe
lea rcx, [0x14077ac88]
xor ebp, dword [rcx + rax*4]
and ebp, r12d
or ebp, r13d
call fcn.1405e1e60
cdqe
lea rcx, [0x14077ac94]
movzx ecx, byte [rcx + rax*4]
mov r13d, ebp
shr r13d, cl
call fcn.1405e1ef0
cdqe
lea rcx, [0x14077aca0]
and ebp, dword [rcx + rax*4]
call fcn.1405e1f70
imul eax, dword [0x140918c80], 0xb671ad08
imul ecx, dword [0x140918c84], 0xd8e85611
add eax, ecx
add eax, 0xe5104435
imul ecx, dword [0x140918c88], 0x22e409d
imul edx, dword [0x140918c8c], 0x1ca3577e
imul r8d, dword [0x140918c90], 0x9702429f
imul r9d, dword [0x140918c94], 0x6e57de1d
cmp ebp, eax
mov eax, edx
lea eax, [rcx + rax - 0xe81df4e]
mov ecx, r9d
mov edx, r8d
lea r12d, [rdx + rcx + 0x535b1ad4]
cmove r12d, eax
call fcn.1405e1ff0
cdqe
lea rcx, [0x14077acac]
mov edi, dword [rcx + rax*4]
xor edi, r13d
call fcn.1405e2060
cdqe
lea rcx, [0x14077acb8]
mov ebx, dword [rcx + rax*4]
and ebx, edi
call fcn.1405e20e0
cdqe
lea rcx, [0x14077acc4]
and edi, dword [rcx + rax*4]
call fcn.1405e2160
cdqe
lea rcx, [0x14077acd0]
mov eax, dword [rcx + rax*4]
and eax, r13d
mov ebp, eax
or ebp, edi
call fcn.1405e21e0
cdqe
lea rcx, [0x14077acdc]
and r13d, dword [rcx + rax*4]
or r13d, ebx
call fcn.1405e2260
cdqe
lea rcx, [0x14077ace8]
or r13d, dword [rcx + rax*4]
call fcn.1405e22f0
cdqe
lea rcx, [0x14077acf4]
or ebp, dword [rcx + rax*4]
mov edi, ebp
xor edi, r13d
call fcn.1405e2380
cdqe
lea rcx, [0x14077ad00]
mov ebx, dword [rcx + rax*4]
and ebx, r12d
call fcn.1405e2400
cdqe
lea rcx, [0x14077ad0c]
or ebx, dword [rcx + rax*4]
call fcn.1405e2490
cdqe
lea rcx, [0x14077ad18]
and r12d, dword [rcx + rax*4]
xor r12d, ebx
mov ebp, r12d
xor ebp, edi
call fcn.1405e2500
cdqe
lea rcx, [0x14077ad24]
mov r13d, dword [rcx + rax*4]
xor r13d, ebp
call fcn.1405e2580
cdqe
lea rcx, [0x14077ad30]
mov rax, qword [rcx + rax*8]
add rax, r15
mov r12d, dword [rsi + rax*4 + 4]
call fcn.1405e2600
cdqe
lea rcx, [0x14077ad48]
mov edi, dword [rcx + rax*4]
and edi, ebp
call fcn.1405e2680
cdqe
lea rcx, [0x14077ad54]
xor edi, dword [rcx + rax*4]
call fcn.1405e2700
cdqe
lea rcx, [0x14077ad60]
xor ebp, dword [rcx + rax*4]
and ebp, r13d
or ebp, edi
call fcn.1405e2770
cdqe
lea rcx, [0x14077ad6c]
mov edi, dword [rcx + rax*4]
xor edi, r12d
call fcn.1405e27f0
cdqe
lea rcx, [0x14077ad78]
mov eax, dword [rcx + rax*4]
xor eax, ebp
mov ebx, eax
and ebx, edi
call fcn.1405e2860
cdqe
lea rcx, [0x14077ad84]
xor r12d, dword [rcx + rax*4]
and r12d, ebp
or r12d, ebx
mov dword [rsi + r15*4 + 4], r12d
call fcn.1405e28e0
call fcn.1405e2960
call fcn.1405e29f0
call fcn.1405e2a80
call fcn.1405e2b00
cdqe
mov rdi, r15
lea rcx, [0x14077adc0]
add rdi, qword [rcx + rax*8]
call fcn.1405e15e0
call fcn.1405e1660
call fcn.1405e16e0
call fcn.1405e1760
call fcn.1405e17e0
cdqe
mov r15, rdi
cmp rdi, qword [r14 + rax*8]
jne 0x1403746e0
mov edi, dword [rsi + 0x1380]
call fcn.1405e2b90
cdqe
lea rcx, [0x14077add8]
and edi, dword [rcx + rax*4]
mov ebx, dword [rsi + 4]
call fcn.1405e2c20
cdqe
lea rcx, [0x14077ade4]
mov eax, dword [rcx + rax*4]
and eax, ebx
mov ebp, eax
or ebp, edi
call fcn.1405e2ca0
cdqe
lea rcx, [0x14077adf0]
movzx ecx, byte [rcx + rax*4]
mov edi, ebp
shr edi, cl
call fcn.1405e2d40
cdqe
lea rcx, [0x14077adfc]
and ebx, dword [rcx + rax*4]
call fcn.1405e2db0
imul eax, dword [0x140918ca8], 0xc0569b27
imul ecx, dword [0x140918cac], 0xa0c13d90
add eax, ecx
add eax, 0x53927e3d
mov ecx, dword [0x140918cb0]
mov edx, dword [0x140918cb4]
shrd edx, ecx, 3
xor edx, 0xc678cf5a
mov ecx, dword [0x140918cb8]
mov r8d, dword [0x140918cbc]
shrd r8d, ecx, 7
xor r8d, 0xe9990c35
cmp ebx, eax
cmove r8d, edx
mov ebx, r8d
xor ebx, edi
mov edi, dword [rsi + 0x634]
call fcn.1405e2e30
cdqe
lea rcx, [0x14077ae08]
mov ebp, dword [rcx + rax*4]
xor ebp, ebx
call fcn.1405e2eb0
cdqe
lea rcx, [0x14077ae14]
mov r14d, dword [rcx + rax*4]
xor r14d, edi
call fcn.1405e2f30
cdqe
lea rcx, [0x14077ae20]
xor ebx, dword [rcx + rax*4]
and ebx, r14d
call fcn.1405e2fb0
cdqe
lea rcx, [0x14077ae2c]
xor edi, dword [rcx + rax*4]
and edi, ebp
or edi, ebx
mov dword [rsi + 0x9c0], edi
call fcn.1405e3030
imul eax, dword [0x140918cc0], 0x4c9662ae
imul ecx, dword [0x140918cc4], 0xe6a05f92
add eax, ecx
add eax, 0x622dd6cc
mov dword [rsi], eax
mov ebp, dword [0x140cc9f54]
mov ebx, dword [0x140cc9f58]
call fcn.1405e30b0
cdqe
lea rcx, [0x14077ae38]
mov eax, dword [rcx + rax*4]
xor eax, ebp
mov r14d, eax
imul r14d, ebp
call fcn.1405e3140
cdqe
lea rcx, [0x14077ae44]
mov ebp, r14d
and ebp, dword [rcx + rax*4]
call fcn.1405e31c0
imul r14d, dword [0x140918cc8], 0xd32294c4
imul r15d, dword [0x140918ccc], 0xd978a060
call fcn.1405e3230
cdqe
lea rcx, [0x14077ae50]
cmp ebx, dword [rcx + rax*4]
jl 0x140374ca6
mov eax, r15d
mov ecx, r14d
add eax, ecx
add eax, 0xd2aa5790
cmp ebp, eax
je 0x140374ca6
mov dword [rsp + 0x24], edi
lea rdi, [0x14077ae80]
lea r14, [0x14077ae8c]
lea r15, [0x14077ae98]
nop word cs:[rax + rax]
call fcn.1405e3490
imul eax, dword [0x140918cd8], 0xddd69c93
imul ecx, dword [0x140918cdc], 0x37dad6c6
add eax, ecx
add eax, 0x53bc7b64
mov dword [rsi], eax
mov ebp, dword [0x140cc9f54]
mov ebx, dword [0x140cc9f58]
call fcn.1405e3510
cdqe
mov eax, dword [rdi + rax*4]
xor eax, ebp
mov r12d, eax
imul r12d, ebp
call fcn.1405e3580
cdqe
mov ebp, r12d
and ebp, dword [r14 + rax*4]
call fcn.1405e3600
imul r12d, dword [0x140918ce0], 0x235d66c1
imul r13d, dword [0x140918ce4], 0x2feb28f
call fcn.1405e3690
cdqe
cmp ebx, dword [r15 + rax*4]
jl 0x140374c9c
mov eax, r13d
mov ecx, r12d
add eax, ecx
add eax, 0xe3e2c46a
cmp ebp, eax
jne 0x140374c10
mov eax, dword [rsp + 0x24]
mov dword [rsi + 0x9c0], eax
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor r15d, r15d
jmp 0x140374d04
call fcn.1405e1570
cdqe
mov rdi, r15
lea rcx, [0x14077ab80]
add rdi, qword [rcx + rax*8]
call fcn.1405e06f0
call fcn.1405e0770
call fcn.1405e07e0
call fcn.1405e0860
call fcn.1405e08e0
cdqe
mov r15, rdi
lea rcx, [0x14077aa10]
cmp rdi, qword [rcx + rax*8]
je 0x140374677
call fcn.1405e0970
cdqe
lea rcx, [0x14077aa30]
mov rax, qword [rcx + rax*8]
add rax, r15
mov ebx, dword [rsi + rax*4 + 4]
call fcn.1405e09f0
cdqe
lea rcx, [0x14077aa50]
mov rax, qword [rcx + rax*8]
add rax, r15
mov ebp, dword [rsi + rax*4 + 4]
call fcn.1405e0a60
cdqe
lea rcx, [0x14077aa68]
and ebp, dword [rcx + rax*4]
call fcn.1405e0ad0
cdqe
lea rcx, [0x14077aa74]
mov r12d, dword [rcx + rax*4]
and r12d, ebx
call fcn.1405e0b40
cdqe
lea rcx, [0x14077aa80]
or ebx, dword [rcx + rax*4]
call fcn.1405e0bd0
cdqe
lea rcx, [0x14077aa8c]
or ebp, dword [rcx + rax*4]
and ebp, ebx
mov r13d, ebp
or r13d, r12d
call fcn.1405e0c50
cdqe
lea rcx, [0x14077aa98]
movzx ecx, byte [rcx + rax*4]
mov r12d, r13d
shr r12d, cl
call fcn.1405e0cc0
cdqe
lea rcx, [0x14077aaa4]
mov ebx, dword [rcx + rax*4]
and ebx, r13d
call fcn.1405e0d50
cdqe
lea rcx, [0x14077aab0]
xor ebx, dword [rcx + rax*4]
call fcn.1405e0de0
cdqe
lea rcx, [0x14077aabc]
xor r13d, dword [rcx + rax*4]
or r13d, ebx
call fcn.1405e0e60
cdqe
mov ecx, dword [0x140918c60]
mov edx, dword [0x140918c64]
shrd edx, ecx, 2
xor edx, 0x4f236ba6
imul ecx, dword [0x140918c68], 0xcb564037
imul r8d, dword [0x140918c6c], 0x5c67f262
lea r9, [0x14077aac8]
cmp r13d, dword [r9 + rax*4]
mov eax, r8d
lea r13d, [rcx + rax + 0x1c651511]
cmove r13d, edx
call fcn.1405e0ef0
cdqe
lea rcx, [0x14077aad4]
mov ebx, dword [rcx + rax*4]
xor ebx, r12d
call fcn.1405e0f80
cdqe
lea rcx, [0x14077aae0]
mov ebp, dword [rcx + rax*4]
and ebp, ebx
call fcn.1405e1010
cdqe
lea rcx, [0x14077aaec]
and r12d, dword [rcx + rax*4]
or r12d, ebp
xor r12d, r13d
call fcn.1405e1090
cdqe
lea rcx, [0x14077aaf8]
xor r12d, dword [rcx + rax*4]
mov ebp, r12d
and ebp, r13d
mov r12d, ebx
or r12d, r13d
call fcn.1405e1120
cdqe
lea rcx, [0x14077ab04]
and r12d, dword [rcx + rax*4]
xor r12d, ebp
call fcn.1405e1190
cdqe
lea rcx, [0x14077ab10]
mov ebx, dword [rcx + rax*4]
xor ebx, r12d
call fcn.1405e1210
cdqe
lea rcx, [0x14077ab20]
mov rax, qword [rcx + rax*8]
add rax, r15
mov ebp, dword [rsi + rax*4 + 4]
call fcn.1405e1290
cdqe
lea rcx, [0x14077ab38]
mov eax, dword [rcx + rax*4]
xor eax, ebp
mov r13d, eax
and r13d, ebx
call fcn.1405e1310
cdqe
lea rcx, [0x14077ab44]
xor r12d, dword [rcx + rax*4]
and r12d, ebp
or r12d, r13d
mov dword [rsi + r15*4 + 4], r12d
mov ebx, dword [0x140cc9f54]
mov edi, dword [0x140cc9f58]
call fcn.1405e1380
cdqe
lea rcx, [0x14077ab50]
mov eax, dword [rcx + rax*4]
xor eax, ebx
mov r13d, eax
imul r13d, ebx
call fcn.1405e13f0
cdqe
lea rcx, [0x14077ab5c]
and r13d, dword [rcx + rax*4]
call fcn.1405e1480
imul ebp, dword [0x140918c70], 0xb745e074
imul ebx, dword [0x140918c74], 0x959c42f1
call fcn.1405e1500
cdqe
lea rcx, [0x14077ab68]
cmp edi, dword [rcx + rax*4]
jl 0x140374cc0
mov eax, ebx
mov ecx, ebp
add eax, ecx
add eax, 0x7eda3485
cmp r13d, eax
je 0x140374cc0
nop word cs:[rax + rax]
mov dword [rsi + r15*4 + 4], r12d
mov edi, dword [0x140cc9f54]
mov r14d, dword [0x140cc9f58]
call fcn.1405e32b0
cdqe
lea rcx, [0x14077ae5c]
mov eax, dword [rcx + rax*4]
xor eax, edi
mov r13d, eax
imul r13d, edi
call fcn.1405e3330
cdqe
lea rcx, [0x14077ae68]
and r13d, dword [rcx + rax*4]
call fcn.1405e33a0
imul ebp, dword [0x140918cd0], 0xadbb9085
imul ebx, dword [0x140918cd4], 0x6b29a79
call fcn.1405e3420
cdqe
lea rcx, [0x14077ae74]
cmp r14d, dword [rcx + rax*4]
jl 0x140374cc0
mov eax, ebx
mov ecx, ebp
add eax, ecx
add eax, 0xbaee7996
cmp r13d, eax
jne 0x140374f80
jmp 0x140374cc0