Function at 0x140041f70
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
mov r9, rdx
mov r8, rcx
and r9d, 0x3f
nop word cs:[rax + rax]
mov eax, dword [0x141dc5b20]
add eax, dword [0x141dc5b24]
xor eax, 0x22d44ac6
add eax, 0xd013a7c7
or eax, 0xcb799219
cmp eax, 0x5cd0b8a7
je 0x140041f90
mov r10, qword [r8]
nop word cs:[rax + rax]
mov eax, dword [0x141dc5b28]
xor edx, edx
div dword [0x141dc5b2c]
imul eax, eax, 0x6ea3ae65
or eax, 0x1e52ed46
and eax, 0x7e72ffd6
cmp eax, 0x6c3764b6
ja 0x140041fc0
xor esi, esi
xor r11d, r11d
nop word [rax + rax]
mov eax, dword [0x141dc5b30]
and eax, dword [0x141dc5b34]
add eax, 0x7106580
cmp eax, 0x985ef413
ja 0x140041ff0
cmp rsi, r10
je 0x140042160
mov eax, dword [0x141dc5b48]
xor edx, edx
div dword [0x141dc5b4c]
nop
mov eax, dword [0x141dc5b50]
imul eax, dword [0x141dc5b54]
imul eax, eax, 0x40f52bdb
xor eax, 0x7fe558e9
imul rax, rax, 0x21f2957
shr rax, 0x35
cmp eax, 0x952a06b7
ja 0x140042020
cmp rsi, 0x300
je 0x1400426d2
nop word [rax + rax]
mov eax, dword [0x141dc5b58]
and eax, dword [0x141dc5b5c]
and eax, 0x40646b47
imul rax, rax, 0x2e5ed195
shr rax, 0x3b
add eax, 0x634ec561
cmp eax, 0x5497dde8
jb 0x140042060
add r11, r11
lea rax, [r11 + r11*4]
mov ecx, dword [0x141dc5b60]
and ecx, dword [0x141dc5b64]
imul edi, ecx, 0xd523852a
and edi, 0xd1b99cac
add edi, 0xa739c9c4
movzx r11d, byte [r8 + rsi + 8]
add r11, rax
mov rdx, r11
mov ecx, r9d
shr rdx, cl
cmp edi, 0x1ee3814b
jb 0x14004208f
mov rcx, rsi
or rcx, 1
test rdx, rdx
jne 0x1400421ea
nop word [rax + rax]
mov eax, dword [0x141dc5b68]
and eax, dword [0x141dc5b6c]
imul eax, eax, 0xa37f53f8
add eax, 0x71a14143
cmp eax, 0xb077bb63
jb 0x1400420e0
cmp rcx, r10
je 0x140042160
mov eax, dword [0x141dc5b70]
xor edx, edx
div dword [0x141dc5b74]
mov eax, dword [0x141dc5b78]
or eax, dword [0x141dc5b7c]
and eax, 0x6e47372c
imul eax, eax, 0xf1f91cf1
add eax, 0x42f4898
cmp eax, 0x92b5270a
ja 0x140042111
add r11, r11
lea rax, [r11 + r11*4]
movzx r11d, byte [r8 + rcx + 8]
add r11, rax
add rsi, 2
mov rax, r11
mov ecx, r9d
shr rax, cl
test rax, rax
je 0x140041ff0
jmp 0x1400421ed
mov eax, dword [0x141dc5b38]
sub eax, dword [0x141dc5b3c]
and eax, 0xaf01d95b
add eax, 0xc02be64e
cmp eax, 0x65c199e3
jb 0x140042160
test r11, r11
je 0x140042220
nop word cs:[rax + rax]
mov eax, dword [0x141dc5b40]
imul eax, dword [0x141dc5b44]
xor eax, 0x17728178
imul rax, rax, 0x52cee0d1
shr rax, 0x3e
imul edx, eax, 0xca592acc
mov rax, r11
mov ecx, r9d
shr rax, cl
cmp edx, 0xa6b97805
ja 0x140042190
mov rsi, r10
test rax, rax
jne 0x1400421ed
nop dword [rax]
add r11, r11
lea r11, [r11 + r11*4]
inc rsi
mov rax, r11
mov ecx, r9d
shr rax, cl
test rax, rax
je 0x1400421d0
jmp 0x1400421ed
mov rsi, rcx
mov eax, dword [r8 + 0x308]
sub eax, esi
inc eax
mov dword [r8 + 0x308], eax
cmp eax, 0xfffff801
jge 0x140042230
mov qword [r8], 0
mov dword [r8 + 0x308], 0
mov byte [r8 + 0x30c], 0
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
mov eax, dword [0x141dc5b98]
sub eax, dword [0x141dc5b9c]
add eax, 0x5e014fce
xor eax, 0x607a1648
mov rdi, 0xffffffffffffffff
mov ecx, r9d
shl rdi, cl
cmp eax, 0xc324d4bb
jb 0x140042230
not rdi
sub r10, rsi
jbe 0x140042407
xor ebx, ebx
mov r14d, 0xd29258d1
nop
cmp rsi, 0x300
jae 0x14004272e
mov eax, dword [0x141dc5c40]
xor edx, edx
div dword [0x141dc5c44]
nop dword [rax + rax]
mov eax, dword [0x141dc5c48]
sub eax, dword [0x141dc5c4c]
xor eax, 0xb2a4c4c9
add eax, 0xac6ad321
imul rax, r14
shr rax, 0x3e
mov r15, r11
mov ecx, r9d
shr r15, cl
cmp eax, 0xde5f1c08
je 0x140042290
mov eax, dword [0x141dc5c50]
xor edx, edx
div dword [0x141dc5c54]
imul eax, eax, 0x53733c04
imul rax, rax, 0x7c8be02b
shr rax, 0x3c
or eax, 0xbe1ce9c1
cmp eax, 0x5c1e0143
jae 0x1400422f0
mov byte [r8 + rbx + 8], r15b
nop
mov ecx, dword [0x141dc5c58]
imul ecx, dword [0x141dc5c5c]
and ecx, 0x2088
movzx eax, byte [r8 + rsi + 8]
mov byte [r8 + rbx + 8], r15b
cmp ecx, 0x8a1aedff
ja 0x1400422f0
inc rsi
and r11, rdi
inc rbx
lea rcx, [r11 + r11*4]
lea r11, [rax + rcx*2]
cmp rbx, r10
jne 0x140042270
mov eax, dword [0x141dc5ba0]
sub eax, dword [0x141dc5ba4]
add eax, 0x8909db63
or eax, 0xc580cf20
imul eax, eax, 0xaf452c2c
cmp eax, 0x11df2d18
je 0x140042330
test r11, r11
jne 0x14004244b
mov eax, dword [0x141dc5bd0]
xor eax, dword [0x141dc5bd4]
add eax, 0x59d94743
cmp eax, 0x8391ac3c
jae 0x140042380
mov qword [r8], r10
nop word [rax + rax]
mov eax, dword [0x141dc5bd8]
or eax, dword [0x141dc5bdc]
mov qword [r8], r10
cmp eax, 0xe213e70c
je 0x140042380
nop word cs:[rax + rax]
mov eax, dword [0x141dc5be0]
xor edx, edx
div dword [0x141dc5be4]
or eax, 0x14830002
and eax, 0x948bab0a
add eax, 0x9a51cb72
cmp eax, 0x4ae41bd4
jb 0x1400423a0
nop word cs:[rax + rax]
mov eax, dword [0x141dc5be8]
sub eax, dword [0x141dc5bec]
imul eax, eax, 0x865201c
or eax, 0x23398df
imul rax, rax, 0x4c3d340f
shr rax, 0x3e
cmp eax, 0x8022b83e
ja 0x1400423d0
test r10, r10
jne 0x14004254a
jmp 0x140042220
mov eax, dword [0x141dc5ba8]
xor edx, edx
div dword [0x141dc5bac]
nop word cs:[rax + rax]
mov eax, dword [0x141dc5bb0]
mov ecx, dword [0x141dc5bb4]
add eax, ecx
add eax, 0xb3412a15
or eax, 0x4bf26171
cmp eax, 0x3c5ed6e4
jb 0x140042420
test r11, r11
je 0x140042635
xor r10d, r10d
mov esi, 0x9940eb45
mov rbx, r11
mov ecx, r9d
shr rbx, cl
cmp r10, 0x300
jae 0x1400424a0
mov eax, dword [0x141dc5c30]
xor edx, edx
div dword [0x141dc5c34]
mov eax, dword [0x141dc5c38]
mov ecx, dword [0x141dc5c3c]
add eax, ecx
add eax, 0xa6166bcd
imul rax, rax, 0x4a456259
shr rax, 0x3c
cmp eax, 0x6b8689f8
je 0x140042470
mov byte [r8 + r10 + 8], bl
inc r10
jmp 0x140042505
test bl, bl
je 0x140042505
mov eax, dword [0x141dc5c18]
sub eax, dword [0x141dc5c1c]
shr eax, 1
imul rax, rsi
shr rax, 0x3a
xor eax, 0x3136cdc9
imul eax, eax, 0x29091edd
cmp eax, 0x38f252dc
jae 0x1400424e0
mov byte [r8 + 0x30c], 1
nop word cs:[rax + rax]
mov eax, dword [0x141dc5c20]
and eax, dword [0x141dc5c24]
or eax, 0x144200
and eax, 0x417660b
mov byte [r8 + 0x30c], 1
cmp eax, 0x59ae3b19
je 0x1400424e0
and r11, rdi
add r11, r11
lea r11, [r11 + r11*4]
nop
mov eax, dword [0x141dc5c28]
imul eax, dword [str.Db_rl]
imul rcx, rax, 0xd09257b
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
imul eax, eax, 0x8cd6c588
cmp eax, 0x42a55f6c
je 0x140042510
test r11, r11
jne 0x140042450
mov qword [r8], r10
cmp r10, 0x300
ja 0x14004272e
nop word [rax + rax]
mov eax, dword [0x141dc5bf0]
xor edx, edx
div dword [0x141dc5bf4]
imul eax, eax, 0x4fa429bf
add eax, 0x7b464e45
shr eax, 2
imul rax, rax, 0x23bf1567
shr rax, 0x3a
cmp eax, 0xb0d897e8
ja 0x140042560
cmp byte [r8 + r10 + 7], 0
jne 0x140042220
dec r10
mov eax, dword [0x141dc5bf8]
sub eax, dword [0x141dc5bfc]
cmp eax, 0x498fde1a
je 0x14004262d
mov eax, dword [0x141dc5c00]
xor edx, edx
div dword [0x141dc5c04]
add eax, 0x52a31c9d
and eax, 0xe13e6fc9
imul eax, eax, 0xd8b724c4
mov qword [r8], r10
cmp eax, 0x7cc9cb6b
jb 0x14004262d
nop dword [rax + rax]
mov eax, dword [0x141dc5c08]
xor edx, edx
div dword [0x141dc5c0c]
imul eax, eax, 0x9d720710
and eax, 0x5c042b30
cmp eax, 0x35fb43e0
je 0x1400425e0
mov eax, dword [0x141dc5c10]
xor edx, edx
div dword [0x141dc5c14]
add eax, 0xd6400f3a
or eax, 0xa093ac3d
cmp eax, 0xb942c920
jb 0x140042600
test r10, r10
jne 0x140042560
jmp 0x140042220
mov qword [r8], r10
jmp 0x1400425b0
mov eax, dword [0x141dc5bb8]
mov ecx, dword [0x141dc5bbc]
add eax, ecx
add eax, 0x8a0ad7b9
and eax, 0xf4321f86
imul eax, eax, 0xd9735926
cmp eax, 0x659d1c53
jne 0x140042670
mov qword [r8], 0
nop word cs:[rax + rax]
mov eax, dword [0x141dc5bc0]
xor eax, dword [0x141dc5bc4]
and eax, 0x5028140
imul eax, eax, 0x5f81b56c
mov qword [r8], 0
cmp eax, 0x4c21d86f
jb 0x140042670
nop word cs:[rax + rax]
mov eax, dword [0x141dc5bc8]
imul eax, dword [0x141dc5bcc]
add eax, 0x78a884c6
imul rcx, rax, 0xc392ff7
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1e
cmp eax, 0x82dfd6e
jae 0x1400426a0
jmp 0x140042220
mov eax, dword [0x141dc5b80]
and eax, dword [0x141dc5b84]
cmp eax, 0xa58048be
je 0x140042704
mov eax, dword [0x141dc5b88]
sub eax, dword [0x141dc5b8c]
xor eax, 0x17c4ab5f
add eax, 0x34bc0a23
ud2
ud2
ud2