Function at 0x140044120
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
mov r9, rdx
mov r8, rcx
mov rdi, qword [rcx]
nop word cs:[rax + rax]
mov eax, dword [0x141dc69e8]
and eax, dword [0x141dc69ec]
add eax, 0x1ab1c891
and eax, 0xdb3918ed
imul eax, eax, 0x39d8d550
cmp eax, 0xe08e6326
ja 0x140044140
test rdi, rdi
je 0x1400448f1
and r9d, 0x3f
lea rcx, [0x141db63c8]
movzx eax, word [rcx + r9*2]
mov esi, eax
shr esi, 0xb
and eax, 0x7ff
nop word cs:[rax + rax]
mov edx, dword [0x141dc69f0]
or edx, dword [0x141dc69f4]
xor edx, 0x16bc31d4
add edx, 0x8d52724a
or edx, 0xd9c3d73e
cmp edx, 0x8c0cc1f9
je 0x140044190
nop word cs:[rax + rax]
mov edx, dword [0x141dc69f8]
add edx, dword [0x141dc69fc]
imul edx, edx, 0xd2ce59bd
xor edx, 0x40622804
or edx, 0x939dc3ab
cmp edx, 0x514973dd
jb 0x1400441c0
movzx edx, ax
cmp edx, 0x51d
jae 0x140044804
movzx ecx, word [rcx + r9*2 + 2]
and ecx, 0x7ff
lea r10, [0x141db644a]
add r10, rax
sub rcx, rax
xor r11d, r11d
lea rbx, [0x141db6966]
xor r14d, r14d
nop dword [rax + rax]
test rcx, rcx
sete al
cmp r10, rbx
sete dl
test r11b, r11b
jne 0x140044220
or al, dl
jne 0x140044464
lea r12, [r10 + 1]
mov r15, r14
or r15, 1
mov eax, dword [0x141dc6a18]
xor edx, edx
div dword [0x141dc6a1c]
add eax, 0x657416c3
and eax, 0x790916e
cmp eax, 0x41b974b8
je 0x140044244
cmp r14, rdi
je 0x14004443c
cmp r14, 0x300
je 0x1400447af
movzx ebp, byte [r10]
mov eax, dword [0x141dc6a28]
sub eax, dword [0x141dc6a2c]
add eax, 0x4c5e271c
xor eax, 0xe3bef324
imul rax, rax, 0x136f8a77
shr rax, 0x3c
cmp eax, 0x32a13286
ja 0x14004427d
movzx r13d, byte [r8 + r14 + 8]
mov eax, dword [0x141dc6a30]
xor edx, edx
div dword [0x141dc6a34]
nop dword [rax]
test r11b, r11b
jne 0x1400442c0
nop word cs:[rax + rax]
mov eax, dword [0x141dc6a38]
sub eax, dword [0x141dc6a3c]
add eax, 0xff92fe78
or eax, 0x6fa62e2f
imul eax, eax, 0x92aafc2
cmp eax, 0xc25a190d
ja 0x1400442d0
cmp r13b, bpl
jne 0x140044433
nop dword [rax]
mov eax, dword [0x141dc6a40]
add eax, dword [0x141dc6a44]
imul rdx, rax, 0x166fcc2b
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1f
imul eax, eax, 0x4941bb7e
cmp eax, 0x4a28a5d2
je 0x140044300
cmp rcx, 1
je 0x140044464
mov eax, dword [0x141dc6a48]
xor edx, edx
div dword [0x141dc6a4c]
nop word cs:[rax + rax]
mov eax, dword [0x141dc6a50]
xor eax, dword [0x141dc6a54]
or eax, 0x25a048
and eax, 0x2fe44c
imul eax, eax, 0x6adc6ed0
cmp eax, 0xabc0cb94
jb 0x140044350
cmp r12, rbx
je 0x140044464
add rcx, 0xfffffffffffffffe
mov eax, dword [0x141dc6a58]
xor edx, edx
div dword [0x141dc6a5c]
mov eax, dword [0x141dc6a60]
and eax, dword [0x141dc6a64]
and eax, 0xabeb2d23
imul eax, eax, 0x76557f6e
add eax, 0xbf865a30
cmp eax, 0xb04a5bc8
jb 0x14004438e
nop word cs:[rax + rax]
mov eax, dword [0x141dc6a68]
sub eax, dword [0x141dc6a6c]
imul eax, eax, 0x59bc2bd2
or eax, 0xaa6ea2c4
cmp eax, 0x22c866a8
je 0x1400443c0
cmp r15, rdi
je 0x14004443c
nop word cs:[rax + rax]
mov eax, dword [0x141dc6a70]
add eax, dword [0x141dc6a74]
and eax, 0x70930390
add eax, 0xce2e9304
xor eax, 0x9efb3d57
cmp eax, 0x833b53a
jb 0x1400443f0
add r14, 2
movzx ebp, byte [r12]
add r10, 2
movzx r13d, byte [r8 + r15 + 8]
test r11b, r11b
jne 0x140044425
cmp r13b, bpl
je 0x140044220
cmp r13b, bpl
sbb rsi, 0
jmp 0x140044464
dec rsi
nop
mov eax, dword [0x141dc6a20]
imul eax, dword [0x141dc6a24]
imul eax, eax, 0xdd35a880
add eax, 0x54c36c00
or eax, 0xcf981fc5
cmp eax, 0x8ad66ffd
jb 0x140044440
lea r14, [rsi + rdi]
nop dword [rax + rax]
mov eax, dword [0x141dc6a80]
xor eax, dword [0x141dc6a84]
or eax, 0xdd1edefa
cmp eax, 0xa36b0bbe
je 0x140044470
xor r10d, r10d
movabs rbx, 0xcccccccccccccccd
mov r15d, 0xef37c55b
nop dword [rax + rax]
mov eax, dword [0x141dc6a98]
and eax, dword [0x141dc6a9c]
add eax, 0xf76ddd15
imul rax, rax, 0x5455f271
shr rax, 0x3e
cmp eax, 0x5ddc5a29
ja 0x1400444a0
cmp rdi, 0x301
jae 0x1400447d9
dec rdi
dec r14
mov eax, dword [0x141dc6ae8]
imul eax, dword [0x141dc6aec]
imul rax, rax, 0xc6db381
shr rax, 0x32
add eax, 0x4fdf84ff
imul rax, rax, 0x5dd37719
shr rax, 0x3c
cmp eax, 0xf2a2215f
je 0x1400444d6
movzx r11d, byte [r8 + rdi + 8]
mov ecx, r9d
shl r11, cl
add r11, r10
mov rax, r11
mul rbx
mov r10, rdx
shr r10, 3
lea rax, [r10 + r10]
lea rcx, [rax + rax*4]
mov rax, r11
sub rax, rcx
cmp r14, 0x300
jae 0x140044540
mov byte [r8 + r14 + 8], al
jmp 0x140044575
test rax, rax
je 0x140044575
mov byte [r8 + 0x30c], 1
nop dword [rax]
mov eax, dword [0x141dc6b08]
mov ecx, dword [0x141dc6b0c]
add eax, ecx
add eax, 0x5650f1ff
and eax, 0x791ba583
imul eax, eax, 0x87dfd514
cmp eax, 0x54cd7157
jb 0x140044550
mov eax, dword [0x141dc6b10]
xor edx, edx
div dword [0x141dc6b14]
mov eax, dword [0x141dc6b18]
xor eax, dword [0x141dc6b1c]
add eax, 0x5eb0e205
xor eax, 0x8b9c3097
imul eax, eax, 0x1015bbc8
cmp eax, 0x485b2f02
je 0x140044583
nop word cs:[rax + rax]
mov eax, dword [0x141dc6b20]
xor eax, dword [0x141dc6b24]
imul rax, r15
shr rax, 0x3f
xor eax, 0x3feb4d01
add eax, 0xae289467
cmp eax, 0xfc5ba6ad
ja 0x1400445b0
test rdi, rdi
jne 0x1400444a0
mov eax, dword [0x141dc6a88]
xor edx, edx
div dword [0x141dc6a8c]
nop dword [rax]
mov eax, dword [0x141dc6a90]
sub eax, dword [0x141dc6a94]
xor eax, 0x26404002
and eax, 0x3e624242
cmp eax, 0x5568c8b9
ja 0x1400445f0
cmp r11, 0xa
jb 0x14004476a
mov rcx, rsi
nop word [rax + rax]
mov eax, dword [0x141dc6ab8]
or eax, dword [0x141dc6abc]
add eax, 0xb1e0e32
imul r9, rax, 0x649c4c89
shr r9, 0x3e
add r9d, 0xfffc342d
mov rax, r10
mul rbx
cmp r9d, 0x42599e87
jb 0x140044620
dec rcx
shr rdx, 3
lea rax, [rdx + rdx]
lea r9, [rax + rax*4]
mov rax, r10
sub rax, r9
cmp rcx, 0x300
jae 0x1400446c0
mov r9d, dword [0x141dc6ad8]
or r9d, dword [0x141dc6adc]
and r9d, 0xccd2333a
cmp r9d, 0x6a2f85f
je 0x140044670
mov byte [r8 + rcx + 8], al
nop word cs:[rax + rax]
mov eax, dword [0x141dc6ae0]
xor eax, dword [str._36GzhLSGy]
imul eax, eax, 0x7dbf6c64
add eax, 0x7d7435e5
cmp eax, 0xf6e74a3a
ja 0x1400446a0
jmp 0x140044700
mov r9d, dword [0x141dc6ac0]
and r9d, dword [0x141dc6ac4]
imul r9d, r9d, 0x6f274c43
and r9d, 0x10d6c781
cmp r9d, 0xfb5ad6c6
je 0x1400446c0
test rax, rax
je 0x140044700
mov byte [r8 + 0x30c], 1
nop word cs:[rax + rax]
mov eax, dword [0x141dc6ac8]
add eax, dword [0x141dc6acc]
imul r9, rax, 0x3e00c1ef
shr r9, 0x20
sub eax, r9d
shr eax, 1
add eax, r9d
shr eax, 0x1f
imul eax, eax, 0x6ac4ff0f
add eax, 0x733a4cfd
cmp eax, 0x1bc80aec
jb 0x140044700
nop word cs:[rax + rax]
mov eax, dword [0x141dc6ad0]
add eax, dword [0x141dc6ad4]
or eax, 0xc18a1881
and eax, 0xe38a9881
cmp eax, 0x73f8972c
je 0x140044740
cmp r10, 0xa
mov r10, rdx
jae 0x140044620
mov rcx, qword [r8]
add rcx, rsi
cmp rcx, 0x300
mov eax, 0x300
cmovb rax, rcx
mov ecx, dword [0x141dc6aa0]
sub ecx, dword [0x141dc6aa4]
or ecx, 0x32be305
add ecx, 0xaafc1e4f
and ecx, 0x6280f38
cmp ecx, 0x7ec9bfb
jne 0x14004487d
jmp 0x1400448a7
ud2
mov eax, dword [0x141dc6af0]
and eax, dword [0x141dc6af4]
add eax, 0x26103801
xor eax, 0x8a803f0
and eax, 0xc9fa07f0
cmp eax, 0xa0364f2
jae 0x1400448fe
jmp 0x140044924
mov eax, dword [0x141dc6a00]
or eax, dword [0x141dc6a04]
add eax, 0xf53f0303
and eax, 0xe9c56ee6
cmp eax, 0xecb97b31
je 0x14004483c
mov eax, dword [0x141dc6a08]
xor eax, dword [str.VR]
imul eax, eax, 0x252d6d21
ud2
ud2
mov ecx, dword [0x141dc6aa8]
sub ecx, dword [0x141dc6aac]
add dword [r8 + 0x308], esi
add ecx, 0x166ba406
xor ecx, 0x37d3d4b1
mov qword [r8], rax
cmp ecx, 0x291b5631
jae 0x1400448ec
mov qword [r8], rax
add dword [r8 + 0x308], esi
jmp 0x14004487d
cmp byte [r8 + rax + 7], 0
jne 0x1400448f1
dec rax
mov qword [r8], rax
nop
mov ecx, dword [0x141dc6ab0]
mov edx, dword [0x141dc6ab4]
add ecx, edx
add ecx, 0x43681cbe
cmp ecx, 0x2171f2b1
jb 0x1400448d0
test rax, rax
jne 0x1400448c0
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [0x141dc6af8]
xor edx, edx
div dword [0x141dc6afc]
add eax, 0x6ba258bc
or eax, 0x35cb84fd
and eax, 0xb5cbc6ff
ud2
ud2