Function at 0x140044050
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x10
mov r11, r8
mov r8, rdx
nop word cs:[rax + rax]
mov eax, dword [0x141dc5bb8]
or eax, dword [0x141dc5bbc]
xor eax, 0x9de9a6ac
imul eax, eax, 0x98ce341a
xor eax, 0x6ccd96a
cmp eax, 0x593bb0e7
jb 0x140044070
cmp r11, 8
mov qword [rsp], r11
jb 0x1400442c1
movabs rax, 0xcfcfcfcfcfcfcfd0
movabs rdx, 0x8080808080808080
movabs rsi, 0x4646464646464646
movabs rbx, 0xf424000000064
movabs r14, 0x271000000001
movabs r15, 0xff000000ff
xor r10d, r10d
mov rdi, r8
nop word cs:[rax + rax]
mov r12, qword [rdi]
lea r13, [r12 + rsi]
add r12, rax
or r13, r12
test r13, rdx
jne 0x1400441d8
mov ebp, dword [0x141dc5be0]
xor ebp, dword [0x141dc5be4]
or ebp, 0x4c42900
and ebp, 0x24fc39ce
add ebp, 0x46098ed1
cmp ebp, 0x5a40b0a3
jb 0x140044106
imul r13, r10, 0x5f5e100
lea r10, [r12 + r12]
lea r10, [r10 + r10*4]
nop dword [rax + rax]
mov ebp, dword [0x141dc5be8]
add ebp, dword [0x141dc5bec]
imul r9, rbp, 0x13e479
shr r9, 0x20
sub ebp, r9d
shr ebp, 1
add ebp, r9d
shr ebp, 0x1f
or ebp, 0xa730a652
cmp ebp, 0xa7748c4d
ja 0x140044140
shr r12, 8
add r10, r12
mov r9, r10
and r9, r15
imul r9, rbx
shr r10, 0x10
and r10, r15
imul r10, r14
add r10, r9
shr r10, 0x20
add r10, r13
add r11, 0xfffffffffffffff8
add rdi, 8
nop
mov r9d, dword [0x141dc5bf0]
sub r9d, dword [0x141dc5bf4]
and r9d, 0x8c0600aa
imul r9d, r9d, 0x8b1bbfcb
cmp r9d, 0xb7937d00
ja 0x1400441a0
cmp r11, 7
ja 0x1400440f0
test r11, r11
je 0x1400442d0
mov r13, qword [rsp]
nop dword [rax]
mov eax, dword [0x141dc5bc0]
sub eax, dword [0x141dc5bc4]
xor eax, 0xda83a2d7
imul rax, rax, 0x36898595
shr rax, 0x3d
cmp eax, 0x36529451
je 0x1400441e0
mov esi, 0xa74fc1b1
xor ebx, ebx
nop word [rax + rax]
mov eax, dword [0x141dc5bc8]
imul eax, dword [0x141dc5bcc]
or eax, 0xc5882399
imul rax, rsi
shr rax, 0x3f
cmp eax, 0x32fe09c3
je 0x140044210
movzx eax, byte [rdi]
lea ebp, [rax - 0x30]
cmp bpl, 9
ja 0x1400442f2
nop word cs:[rax + rax]
mov eax, dword [0x141dc5bd0]
xor edx, edx
div dword [0x141dc5bd4]
add eax, 0x3dcd08f3
and eax, 0xeb4867fa
imul rax, rax, 0x6013a5e9
shr rax, 0x3b
cmp eax, 0xf4052bb1
ja 0x140044250
dec r11
inc rdi
mov eax, dword [0x141dc5bd8]
sub eax, dword [0x141dc5bdc]
xor eax, 0x26f53fb4
add eax, 0x717efb29
and eax, 0x7f2120f8
cmp eax, 0x31e89694
je 0x140044280
add r10, r10
lea rax, [r10 + r10*4]
movzx r10d, bpl
add r10, rax
test r11, r11
jne 0x140044210
xor r11d, r11d
mov rsi, r13
jmp 0x1400442dc
xor r10d, r10d
mov rdi, r8
test r11, r11
jne 0x1400441d8
xor r11d, r11d
mov r13, qword [rsp]
mov rsi, r13
xor ebx, ebx
xor edi, edi
xor r14d, r14d
xor ebp, ebp
cmp rsi, 0x14
jge 0x140044768
jmp 0x140044a31
mov r9, r13
sub r9, r11
lea rsi, [r11 - 1]
nop dword [rax]
mov edx, dword [0x141dc5bf8]
or edx, dword [0x141dc5bfc]
add edx, 0xf2b00f01
cmp edx, 0xb6c0fd07
ja 0x140044300
cmp al, 0x2e
jne 0x140044519
mov eax, 0xd42da1b1
inc rdi
nop word [rax + rax]
mov edx, dword [0x141dc5c00]
and edx, dword [0x141dc5c04]
imul edx, edx, 0x30f3409c
add edx, 0x69626784
imul rdx, rax
shr rdx, 0x3f
cmp edx, 0xa3c790e6
ja 0x140044330
nop dword [rax + rax]
mov eax, dword [0x141dc5c08]
or eax, dword [0x141dc5c0c]
xor eax, 0xd44512ed
imul rax, rax, 0xc1ad3fb
shr rax, 0x3b
or eax, 0xb16f92be
cmp eax, 0x4acd3e0c
jb 0x140044360
nop dword [rax + rax]
mov eax, dword [0x141dc5c10]
xor eax, dword [0x141dc5c14]
xor eax, 0x1121549
or eax, 0xf8a9aaa0
add eax, 0xcf485ff6
cmp eax, 0x8a09df69
jb 0x140044390
mov qword [rsp + 8], r9
cmp rsi, 8
jb 0x140044523
movabs rdx, 0x8080808080808080
movabs r14, 0x4646464646464646
movabs r13, 0x271000000001
movabs rbp, 0xff000000ff
xor ebx, ebx
mov r15, rsi
nop
mov r12, qword [rdi]
lea rax, [r12 + r14]
movabs r9, 0xcfcfcfcfcfcfcfd0
add r12, r9
or rax, r12
test rax, rdx
jne 0x140044472
imul rax, r10, 0x5f5e100
lea r9, [r12 + r12*4]
shr r12, 8
lea r10, [r12 + r9*2]
mov r9, r10
and r9, rbp
movabs r12, 0xf424000000064
imul r9, r12
shr r10, 0x10
and r10, rbp
imul r10, r13
add r10, r9
nop word cs:[rax + rax]
test bl, bl
jne 0x140044450
shr r10, 0x20
add r10, rax
add r15, 0xfffffffffffffff8
add rdi, 8
cmp r15, 7
ja 0x1400443f0
test r15, r15
je 0x14004452f
mov r9, qword [rsp + 8]
mov r14, rdi
add rdi, r15
nop dword [rax]
mov eax, dword [0x141dc5c18]
imul eax, dword [0x141dc5c1c]
add eax, 0x9c2da94c
imul rax, rax, 0x104e4d77
shr rax, 0x3c
add eax, 0x41c0174b
cmp eax, 0xb6f2c91d
ja 0x140044480
movzx eax, byte [r14]
add al, 0xd0
cmp al, 9
ja 0x140044539
dec r15
inc r14
add r10, r10
lea r10, [r10 + r10*4]
movzx eax, al
nop word [rax + rax]
mov edx, dword [0x141dc5c20]
imul edx, dword [0x141dc5c24]
cmp edx, 0x2754bd41
je 0x1400444d0
add r10, rax
nop dword [rax + rax]
mov eax, dword [0x141dc5c28]
xor edx, edx
div dword [0x141dc5c2c]
imul eax, eax, 0x1b20b440
cmp eax, 0x7e5f0cb
ja 0x1400444f0
test r15, r15
jne 0x140044480
xor r15d, r15d
jmp 0x14004453c
xor r14d, r14d
mov r15, r11
xor esi, esi
jmp 0x140044575
mov r15, rsi
test r15, r15
jne 0x140044472
xor r15d, r15d
mov r9, qword [rsp + 8]
jmp 0x14004453c
mov rdi, r14
sub rsi, r15
mov r14, rsi
neg r14
nop word cs:[rax + rax]
mov eax, dword [0x141dc5c30]
xor edx, edx
div dword [0x141dc5c34]
imul eax, eax, 0xdfb6ef89
add eax, 0x8f7ef243
or eax, 0x3b8023e5
cmp eax, 0x25639acf
jbe 0x140044550
add rsi, r9
xor eax, eax
nop word [rax + rax]
test al, al
jne 0x140044580
mov r12b, 2
test rsi, rsi
je 0x140044b17
lea r13, [rdi + 1]
nop word cs:[rax + rax]
mov eax, dword [0x141dc5c38]
xor eax, dword [0x141dc5c3c]
imul rax, rax, 0x50d4ba5
shr rax, 0x3a
or eax, 0x8f411e3c
cmp eax, 0x433be9bc
jb 0x1400445a0
mov rbx, r15
sub rbx, 1
jae 0x1400445d3
xor ebx, ebx
jmp 0x140044756
movzx ebp, byte [rdi]
nop word cs:[rax + rax]
mov eax, dword [0x141dc5c40]
xor edx, edx
div dword [0x141dc5c44]
and eax, 0x12908f51
add eax, 0xf8691608
xor eax, 0x8ef14c23
cmp eax, 0xe0a1bb82
ja 0x1400445e0
or ebp, 0x20
cmp ebp, 0x65
jne 0x140044751
test rbx, rbx
je 0x140044b17
nop dword [rax]
mov eax, dword [0x141dc5c48]
xor eax, dword [0x141dc5c4c]
add eax, 0x7ac8038e
and eax, 0x177d0d93
cmp eax, 0xbafd9e6
je 0x140044620
movzx eax, byte [r13]
movzx ebp, al
cmp ebp, 0x2d
je 0x140044651
mov edx, eax
cmp ebp, 0x2b
jne 0x1400446cb
add r15, 0xfffffffffffffffe
nop word cs:[rax + rax]
mov edx, dword [0x141dc5c50]
and edx, dword [0x141dc5c54]
imul edx, edx, 0xc47bb256
add edx, 0xe67267ad
cmp edx, 0xe68aad06
ja 0x140044660
test r15, r15
je 0x140044b17
movzx edx, byte [rdi + 2]
add rdi, 2
nop word cs:[rax + rax]
mov r9d, dword [0x141dc5c58]
add r9d, dword [0x141dc5c5c]
and r9d, 0x85876be5
imul r9d, r9d, 0xb1f255cc
cmp r9d, 0xbf92ff97
je 0x1400446a0
mov r13, rdi
mov rbx, r15
add dl, 0xd0
nop
mov r9d, dword [0x141dc5c60]
xor r9d, dword [0x141dc5c64]
and r9d, 0xc051040
cmp r9d, 0xc86da09b
je 0x1400446d0
cmp dl, 9
ja 0x140044b17
xor edi, edi
xor edx, edx
xor r15d, r15d
nop
movzx ebp, byte [r13]
add bpl, 0xd0
cmp bpl, 9
ja 0x140044740
nop
test dil, dil
jne 0x140044710
dec rbx
inc r13
lea r9, [r15 + r15]
lea r9, [r9 + r9*4]
movzx r12d, bpl
add r12, r9
cmp r15, 0x10000
cmovl rdx, r12
cmovl r15, r12
test rbx, rbx
jne 0x140044700
xor ebx, ebx
mov rdi, rdx
neg rdi
cmp al, 0x2d
cmovne rdi, rdx
add r14, rdi
jmp 0x140044758
mov ebx, 1
xor edi, edi
mov r13, qword [rsp]
xor ebp, ebp
cmp rsi, 0x14
jl 0x140044a31
add rsi, 0xffffffffffffffed
lea r15, [r8 + 1]
mov rax, r13
mov rdx, r8
nop word cs:[rax + rax]
movzx r12d, byte [rdx]
mov rdx, r15
cmp r12d, 0x2e
je 0x140044793
cmp r12d, 0x30
jne 0x1400447e4
mov r9d, dword [0x141dc5c68]
add r9d, dword [0x141dc5c6c]
and r9d, 0xb3817d8e
imul r9d, r9d, 0xdf8a8322
mov r15d, r12d
sub r15b, 0x2f
movzx r15d, r15b
cmovb r15d, ebp
cmp r9d, 0xb8ed63ba
je 0x140044793
movzx r9d, r15b
sub rsi, r9
lea r15, [rdx + 1]
cmp rax, 1
cmove r15, rdx
je 0x1400447e4
dec rax
test rdx, rdx
jne 0x140044780
test rsi, rsi
jle 0x1400449f0
movabs r14, 0xde0b6b3a763ffff
xor r15d, r15d
xor r10d, r10d
nop dword [rax]
mov eax, dword [0x141dc5c70]
xor eax, dword [0x141dc5c74]
imul eax, eax, 0x8b1d564c
and eax, 0x234c8d8
xor eax, 0xde0f212f
cmp eax, 0x9370713
jb 0x140044800
movzx ebp, byte [r8]
add bpl, 0xd0
cmp bpl, 9
ja 0x1400448fc
mov eax, dword [0x141dc5c78]
xor edx, edx
div dword [0x141dc5c7c]
nop word cs:[rax + rax]
test r15b, r15b
jne 0x140044850
dec r13
inc r8
lea rax, [r10 + r10*4]
movzx edx, bpl
lea r10, [rdx + rax*2]
mov eax, dword [0x141dc5c80]
xor eax, dword [0x141dc5c84]
imul eax, eax, 0x3d6e5eb9
or eax, 0xb4c7f9ca
cmp eax, 0xa7a53a09
jb 0x140044867
cmp r10, r14
ja 0x1400448a0
test r13, r13
jne 0x140044800
nop word cs:[rax + rax]
mov eax, dword [0x141dc5c88]
xor eax, dword [0x141dc5c8c]
and eax, 0x2cb924f9
add eax, 0xdaa3a52d
cmp eax, 0x8e44a476
jb 0x1400448a0
cmp r10, r14
jbe 0x1400448f3
sub r13, r11
nop word cs:[rax + rax]
mov eax, dword [0x141dc5c98]
or eax, dword [0x141dc5c9c]
or eax, 0x3e0de47b
imul eax, eax, 0xbbeaaf29
cmp eax, 0xd48b03c
jbe 0x1400448d0
jmp 0x1400449c3
test r13, r13
je 0x140044b72
dec r13
je 0x1400449bb
inc r8
nop dword [rax + rax]
mov eax, dword [0x141dc5ca0]
or eax, dword [0x141dc5ca4]
or eax, 0x40897010
and eax, 0xe2c97259
xor eax, 0xe44c00e2
cmp eax, 0xb787d8f6
ja 0x140044910
xor edx, edx
mov rax, r13
nop word [rax + rax]
test dl, dl
jne 0x140044940
movzx r11d, byte [r8]
add r11b, 0xd0
cmp r11b, 9
ja 0x1400449bd
dec rax
inc r8
lea r9, [r10 + r10*4]
movzx r10d, r11b
lea r10, [r10 + r9*2]
nop word cs:[rax + rax]
cmp r10, r14
seta r11b
mov r9d, dword [0x141dc5ca8]
and r9d, dword [0x141dc5cac]
or r9d, 0x8a02761b
imul r9d, r9d, 0xc36677db
xor r9d, 0x36e5d64e
test rax, rax
sete bpl
cmp r9d, 0x16163d3
jb 0x140044970
or r11b, bpl
nop dword [rax]
test dl, dl
jne 0x1400449b0
test r11b, r11b
je 0x140044940
jmp 0x1400449bd
xor eax, eax
sub rax, r13
mov r13, rax
mov r14, r13
add r14, rdi
nop dword [rax]
mov eax, dword [0x141dc5cb0]
xor edx, edx
div dword [0x141dc5cb4]
imul eax, eax, 0x48b840d2
add eax, 0x714f6e81
cmp eax, 0x619ca71b
jb 0x1400449d0
mov r8d, 0xdadd567d
mov r9d, 0xdcfa0d99
nop dword [rax]
test rsi, rsi
setg bpl
mov eax, dword [0x141dc5c90]
xor edx, edx
div dword [0x141dc5c94]
imul rax, r8
shr rax, 0x3e
xor eax, 0xbb71d7b3
imul rax, r9
shr rax, 0x3f
cmp eax, 0x32ee224e
ja 0x140044a00
mov r12b, 2
test rbx, rbx
jne 0x140044b17
mov eax, dword [0x141dc5cb8]
or eax, dword [0x141dc5cbc]
mov edx, 0x81b6f231
imul rdx, rax
shr rdx, 0x3e
imul eax, edx, 0x482307a5
xor eax, 0x720b278d
cmp eax, 0xfa19ed1a
jbe 0x140044a6b
mov qword [rcx], r14
mov eax, 0xdd3558f3
mov edx, dword [0x141dc5cc0]
imul edx, dword [0x141dc5cc4]
xor edx, 0x7825a0c7
imul rdx, rax
shr rdx, 0x3f
mov qword [rcx], r14
cmp edx, 0x614223e2
ja 0x140044a70
mov eax, dword [0x141dc5cc8]
xor edx, edx
div dword [0x141dc5ccc]
and eax, 0xb581fdb
imul eax, eax, 0xe88dbf20
cmp eax, 0x4b4429d0
jae 0x140044ac0
mov qword [rcx + 8], r10
mov byte [rcx + 0x10], 0
nop
mov eax, dword [0x141dc5cd0]
xor edx, edx
div dword [0x141dc5cd4]
imul eax, eax, 0xba1b6c5e
add eax, 0xb19f4424
and eax, 0x99895648
mov qword [rcx + 8], r10
mov byte [rcx + 0x10], 0
cmp eax, 0x356fb1f8
ja 0x140044ac0
nop dword [rax]
mov eax, dword [0x141dc5cd8]
xor edx, edx
div dword [0x141dc5cdc]
add eax, 0xa187500
or eax, 0x94b9757e
add eax, 0xc63ec1a3
cmp eax, 0xf4cf2e88
ja 0x140044af0
mov r12d, ebp
mov eax, dword [0x141dc5ce0]
and eax, dword [0x141dc5ce4]
imul eax, eax, 0x1a1414ac
or eax, 0xb2d61589
imul eax, eax, 0xd32baac1
cmp eax, 0xda8e08ca
jbe 0x140044b40
mov byte [rcx + 0x11], r12b
nop
mov eax, dword [0x141dc5ce8]
sub eax, dword [0x141dc5cec]
add eax, 0x9a5cacbf
and eax, 0x410909
mov byte [rcx + 0x11], r12b
cmp eax, 0xc8e7943
je 0x140044b40
add rsp, 0x10
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
ud2