Function at 0x140046c30
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xe8
xorps xmm0, 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
movaps xmmword [rsp + 0x40], xmm0
mov r11, rdx
mov rsi, rcx
mov eax, dword [0x141dc60c8]
or eax, dword [0x141dc60cc]
add eax, 0xe9cafb8f
and eax, 0x90800954
cmp eax, 0xb9a45e4c
ja 0x140046c90
mov r10, qword [rsi + 0xa0]
cmp r10, r8
jae 0x140047040
nop dword [rax]
mov eax, dword [0x141dc6180]
or eax, dword [0x141dc6184]
and eax, 0xc9c6323c
imul eax, eax, 0xde62fcbf
imul rax, rax, 0x2e49b691
shr rax, 0x3c
cmp eax, 0x29c912b4
ja 0x140046cc0
cmp r10, 0x29
jae 0x140047526
mov eax, dword [str._nC_R_]
xor edx, edx
div dword [0x141dc619c]
nop word cs:[rax + rax]
mov eax, dword [0x141dc61a0]
xor edx, edx
div dword [0x141dc61a4]
add eax, 0x7b72f28c
or eax, 0xfcf9f60c
imul rax, rax, 0x8c94269
shr rax, 0x3a
cmp eax, 0xca9dfba
ja 0x140046d10
mov eax, 0xa68e0343
nop
mov ecx, dword [0x141dc61a8]
imul ecx, dword [0x141dc61ac]
add ecx, 0x38b516bc
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0x56e6644
ja 0x140046d40
lea rcx, [rsi + r10*4]
lea rax, [r8 + 1]
mov qword [rsp + 0x20], rax
lea rax, [r8*4]
mov qword [rsp + 0x30], rax
xor eax, eax
mov r9, rsi
xor ebx, ebx
nop word cs:[rax + rax]
mov edx, dword [0x141dc61b0]
mov r10d, dword [0x141dc61b4]
add edx, r10d
add edx, 0xb6656fec
and edx, 0x7ef0652c
imul edx, edx, 0x776d53eb
cmp edx, 0x40de2cb7
jb 0x140046d90
nop word [rax + rax]
cmp r9, rcx
je 0x1400473d1
mov r14, rax
nop dword [rax]
mov eax, dword [0x141dc61b8]
add eax, dword [0x141dc61bc]
or eax, 0xff6cad75
and eax, 0xff6efdff
cmp eax, 0x86d29e83
jb 0x140046dd0
lea r15, [r9 + 4]
mov eax, dword [0x141dc61c0]
xor edx, edx
div dword [0x141dc61c4]
nop
mov eax, dword [0x141dc61c8]
xor eax, dword [0x141dc61cc]
xor eax, 0x8010e093
and eax, 0xd010ed93
imul eax, eax, 0xeee2593a
cmp eax, 0x4ec6045
jb 0x140046e00
lea rax, [r14 + 1]
mov r12d, dword [r9]
mov edx, dword [str.Q9zC]
sub edx, dword [0x141dc61d4]
imul edx, edx, 0x827b70a4
add edx, 0x4a617880
xor edx, 0x30118be0
cmp edx, 0x34a379b
jb 0x140046e2a
mov r9, r15
test r12, r12
je 0x140046dc0
mov qword [rsp + 0x28], r8
nop word cs:[rax + rax]
mov edx, dword [0x141dc61d8]
imul edx, dword [0x141dc61dc]
imul edx, edx, 0x6541537b
and edx, 0x8d401808
cmp edx, 0x94fcfc2e
je 0x140046e70
xor r13d, r13d
mov rbp, r14
xor edx, edx
xor r10d, r10d
mov r9, r11
nop
cmp rbp, 0x28
jae 0x140047605
mov r8d, dword [0x141dc6218]
mov edi, dword [0x141dc621c]
add r8d, edi
add r8d, 0x5657f80f
and r8d, 0x16b71285
cmp r8d, 0x303e61d6
je 0x140046eaa
add r9, 4
mov r8d, dword [r11 + r13]
mov edi, dword [rsp + rbp*4 + 0x40]
add rdx, rdi
imul r8, r12
add r8, rdx
mov rdx, r8
shr rdx, 0x20
mov dword [rsp + rbp*4 + 0x40], r8d
mov r8d, dword [0x141dc6220]
and r8d, dword [0x141dc6224]
imul r8, r8, 0x3a773e35
shr r8, 0x3d
imul r8d, r8d, 0xb452ad06
xor r8d, 0x616682f3
cmp r8d, 0x361f0610
jb 0x140046ef3
inc rbp
add r13, 4
inc r10
cmp qword [rsp + 0x30], r13
jne 0x140046ea0
mov r8, qword [rsp + 0x28]
mov r9, r8
test rdx, rdx
mov edi, 0
je 0x140046ff0
nop
mov r9d, dword [0x141dc61e0]
or r9d, dword [0x141dc61e4]
cmp r9d, 0xeee50240
je 0x140046f50
lea r9, [r14 + r8]
mov r10d, dword [0x141dc61e8]
sub r10d, dword [0x141dc61ec]
or r10d, 0x41b99b59
imul r10, r10, 0x40ff01eb
shr r10, 0x3e
cmp r10d, 0xe0a08fe8
ja 0x140046f6b
nop word cs:[rax + rax]
mov r10d, dword [0x141dc61f0]
or r10d, dword [0x141dc61f4]
imul r10d, r10d, 0x7b52b640
add r10d, 0x26f16f10
cmp r10d, 0xe238d3ed
ja 0x140046fa0
cmp r9, 0x28
jae 0x140047465
mov dword [rsp + r9*4 + 0x40], edx
nop word cs:[rax + rax]
test dil, dil
jne 0x140046fe0
mov r9, qword [rsp + 0x20]
nop word [rax + rax]
mov r10d, dword [0x141dc61f8]
imul r10d, dword [0x141dc61fc]
and r10d, 0x69320704
add r10d, 0x6f7d1065
or r10d, 0x7e187a1d
lea rdx, [r9 + r14]
cmp rbx, rdx
cmova rdx, rbx
cmp r10d, 0xf2abf655
jb 0x140046ff0
mov r9, r15
mov rbx, rdx
jmp 0x140046d90
mov eax, dword [0x141dc60d0]
sub eax, dword [0x141dc60d4]
add eax, 0xe7c444b8
or eax, 0x6139f2a7
and eax, 0x633fffaf
cmp eax, 0x541b9823
jb 0x140047040
cmp r10, 0x29
jae 0x140047573
xor r12d, r12d
lea rax, [r10 + 1]
mov qword [rsp + 0x38], rax
lea r8, [r11 + r8*4]
lea rax, [rsi + r10*4]
mov qword [rsp + 0x30], rax
nop word cs:[rax + rax]
mov eax, dword [0x141dc60f0]
xor edx, edx
div dword [0x141dc60f4]
or eax, 0x60aef0d6
add eax, 0x7ca92526
or eax, 0x2d9b26ee
cmp eax, 0xc3c2a304
je 0x140047090
xor edi, edi
mov r14d, 0xa1ff816f
xor ebx, ebx
mov qword [rsp + 0x28], r10
nop word cs:[rax + rax]
mov eax, dword [0x141dc60f8]
imul eax, dword [0x141dc60fc]
or eax, 0x962deecd
xor eax, 0xf4665f27
cmp eax, 0xcba97fc4
ja 0x1400470d0
nop
mov rbp, r12
mov eax, dword [0x141dc6100]
and eax, dword [0x141dc6104]
or eax, 0x7fbddbb3
and eax, 0x7ffddbf3
cmp eax, 0x3a766cbe
jb 0x1400470f3
cmp r11, r8
je 0x1400473d1
lea r13, [r11 + 4]
nop dword [rax]
test dil, dil
jne 0x140047120
lea r12, [rbp + 1]
mov r10d, dword [r11]
nop dword [rax]
mov eax, dword [0x141dc6108]
sub eax, dword [0x141dc610c]
add eax, 0x9c290d39
imul rax, r14
shr rax, 0x3f
xor eax, 0x5d091f5d
cmp eax, 0xea4c86a3
ja 0x140047130
mov r11, r13
test r10, r10
je 0x1400470f0
mov eax, dword [0x141dc6110]
xor edx, edx
div dword [0x141dc6114]
mov qword [rsp + 0x20], r8
mov eax, dword [0x141dc6118]
sub eax, dword [0x141dc611c]
imul eax, eax, 0xa9116c88
add eax, 0xff6998a0
or eax, 0x5e0d8bd8
cmp eax, 0x9a5c508e
je 0x140047170
xor r11d, r11d
xor eax, eax
mov rdx, rsi
jmp 0x1400471b0
shr r9, 0x20
mov r11, r9
cmp rdx, qword [rsp + 0x30]
je 0x1400472ae
nop
mov ecx, dword [0x141dc6128]
sub ecx, dword [0x141dc612c]
imul ecx, ecx, 0xd7dee825
add ecx, 0x7987ac76
cmp ecx, 0x78df0f1e
ja 0x1400471b0
lea rcx, [rax + rbp]
cmp rcx, 0x28
jae 0x140047605
nop
mov r8d, dword [0x141dc6160]
or r8d, dword [0x141dc6164]
and r8d, 0xbd39cdb5
add r8d, 0x3acd1fa7
cmp r8d, 0xa2934db
jb 0x1400471e0
inc rax
mov r8d, dword [rdx]
add rdx, 4
imul r8, r10
mov r9d, dword [rsp + rcx*4 + 0x40]
mov r15d, dword [0x141dc6168]
or r15d, dword [0x141dc616c]
or r15d, 0x286b8c56
and r15d, 0xac6b9c56
cmp r15d, 0x8f6e34bd
je 0x140047218
mov r15d, dword [0x141dc6170]
imul r15d, dword [0x141dc6174]
add r11, r9
or r15d, 0xff7cfff7
imul r9d, r15d, 0x6b2d7ec0
cmp r9d, 0xf871b79d
je 0x1400472a3
mov r9d, dword [0x141dc6178]
and r9d, dword [0x141dc617c]
imul r15d, r9d, 0x670f38f7
mov r9d, 0xda822fcb
imul r15, r9
shr r15, 0x39
and r15d, 0x18
lea r9, [r11 + r8]
mov dword [rsp + rcx*4 + 0x40], r9d
cmp r15d, 0x2b21716d
jbe 0x14004719d
lea r9d, [r11 + r8]
mov dword [rsp + rcx*4 + 0x40], r9d
jmp 0x140047266
mov eax, dword [str.y_rJ_f]
xor edx, edx
div dword [0x141dc6124]
mov r10, qword [rsp + 0x28]
nop word cs:[rax + rax]
test dil, dil
jne 0x1400472d0
mov rax, r10
test r9d, r9d
je 0x140047382
lea rax, [r10 + rbp]
cmp rax, 0x28
jae 0x1400474fe
mov ecx, dword [0x141dc6138]
sub ecx, dword [0x141dc613c]
imul ecx, ecx, 0xfd5a59
mov edx, 0xab6d23df
imul rcx, rdx
shr rcx, 0x3c
add ecx, 0x9e2af178
cmp ecx, 0x778ec2ba
jae 0x140047330
mov dword [rsp + rax*4 + 0x40], r9d
nop word cs:[rax + rax]
mov ecx, dword [0x141dc6140]
or ecx, dword [0x141dc6144]
and ecx, 0x21f37fdc
imul ecx, ecx, 0x5302dc5a
mov dword [rsp + rax*4 + 0x40], r9d
cmp ecx, 0x3e32644c
jb 0x140047330
nop word cs:[rax + rax]
mov eax, dword [0x141dc6148]
xor eax, dword [0x141dc614c]
add eax, 0xcdfc1a74
and eax, 0x881c2020
cmp eax, 0xd50ae58f
ja 0x140047360
mov rax, qword [rsp + 0x38]
mov r8, qword [rsp + 0x20]
nop word [rax + rax]
mov ecx, dword [0x141dc6130]
xor ecx, dword [str._h_b_]
or ecx, 0x618108
and ecx, 0x647f9768
imul rdx, rcx, 0x1fb12543
shr rdx, 0x3a
lea rcx, [rax + rbp]
cmp rbx, rcx
cmova rcx, rbx
cmp edx, 0xf43ad8c9
jae 0x140047390
mov r11, r13
mov rbx, rcx
jmp 0x1400470d0
mov eax, dword [0x141dc6228]
imul eax, dword [0x141dc622c]
xor eax, 0xd07b02ac
or eax, 0x27847c53
cmp eax, 0x805aaa76
jne 0x140047409
lea rdx, [rsp + 0x40]
mov r8d, 0xa0
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
mov qword [rsi + 0xa0], rbx
lea rdi, [rsp + 0x40]
nop
mov ebp, dword [0x141dc6230]
or ebp, dword [0x141dc6234]
add ebp, 0x805c6e41
xor ebp, 0xc2829010
and ebp, 0xc7ba9c15
mov r8d, 0xa0
mov rcx, rsi
mov rdx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov qword [rsi + 0xa0], rbx
cmp ebp, 0x343d1656
jb 0x140047410
mov rax, rsi
add rsp, 0xe8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [0x141dc6200]
and eax, dword [0x141dc6204]
imul rax, rax, 0x7cbaf4b5
shr rax, 0x3e
imul eax, eax, 0x1cdbe9dd
cmp eax, 0xf02e94c0
jbe 0x140047490
ud2
mov eax, dword [0x141dc6208]
or eax, dword [0x141dc620c]
or eax, 0x7febd6eb
imul rcx, rax, 0x2d7d0a5
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1d
and eax, 0xfffffffc
ud2
mov eax, dword [0x141dc6150]
imul eax, dword [0x141dc6154]
imul eax, eax, 0x788c6601
and eax, 0xc65e2651
cmp eax, 0xc4725bc1
jbe 0x140047607
jmp 0x140047626
xor eax, eax
test al, al
je 0x140047530
ud2
mov eax, dword [0x141dc6188]
imul eax, dword [0x141dc618c]
and eax, 0x10af003
ud2
mov eax, dword [0x141dc60d8]
imul eax, dword [str.XD_]
xor eax, 0xa0238889
and eax, 0xa46baeb9
xor eax, 0x57b6adb2
cmp eax, 0xbf07efe2
jbe 0x1400475a0
ud2
mov eax, dword [0x141dc60e0]
mov ecx, dword [0x141dc60e4]
add eax, ecx
add eax, 0x93d2ff93
imul rcx, rax, 0xfc6c969
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
xor eax, 0x44a5b035
ud2
ud2
mov eax, dword [0x141dc6158]
or eax, dword [0x141dc615c]
xor eax, 0x104c0000
and eax, 0x184c0020
ud2
ud2