Function at 0x140044e40
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 eax, dword [0x141dc8d60]
sub eax, dword [0x141dc8d64]
xor eax, 0x20000500
or eax, 0xd78ba0b7
and eax, 0xf7abe7ff
cmp eax, 0x2cde9ee0
je 0x140044e50
cmp r8, 8
mov qword [rsp], rdx
jb 0x140044f59
movabs r11, 0xcfcfcfcfcfcfcfd0
movabs rdi, 0x8080808080808080
movabs r14, 0x4646464646464646
movabs r15, 0xf424000000064
movabs r12, 0x271000000001
mov rbx, rdx
movabs r13, 0xff000000ff
xor r9d, r9d
mov rsi, r8
nop word cs:[rax + rax]
mov rax, qword [rbx]
lea rdx, [rax + r14]
add rax, r11
or rdx, rax
test rdx, rdi
jne 0x14004534e
imul rbp, r9, 0x5f5e100
lea rdx, [rax + rax*4]
shr rax, 8
lea r9, [rax + rdx*2]
mov r10, r9
and r10, r13
imul r10, r15
mov eax, dword [0x141dc8d88]
xor edx, edx
div dword [0x141dc8d8c]
add eax, 0x7deecc76
shr eax, 2
imul rax, rax, 0x21d76583
shr rax, 0x3a
xor eax, 0x53f3edfb
cmp eax, 0x4e160c66
jb 0x140044f03
shr r9, 0x10
and r9, r13
imul r9, r12
add r9, r10
shr r9, 0x20
add r9, rbp
add rsi, 0xfffffffffffffff8
add rbx, 8
cmp rsi, 7
ja 0x140044ed0
jmp 0x140044f62
xor r9d, r9d
mov rsi, r8
mov rbx, rdx
mov r13, qword [rsp]
nop word cs:[rax + rax]
mov eax, dword [0x141dc8d68]
sub eax, dword [0x141dc8d6c]
imul rdx, rax, 0x28f7f47b
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1c
cmp eax, 0x4bebca54
je 0x140044f70
test rsi, rsi
je 0x140045014
movzx eax, byte [rbx]
lea r11d, [rax - 0x30]
cmp r11b, 9
ja 0x140045363
mov eax, dword [0x141dc8d70]
xor edx, edx
div dword [0x141dc8d74]
mov eax, dword [0x141dc8d78]
imul eax, dword [0x141dc8d7c]
imul eax, eax, 0xf2d5dcaa
add eax, 0xdb127ef6
cmp eax, 0xee473cf9
ja 0x140044fbb
dec rsi
inc rbx
mov eax, dword [0x141dc8d80]
imul eax, dword [0x141dc8d84]
add eax, 0x5f969a76
or eax, 0xda1c3abf
xor eax, 0x83883533
cmp eax, 0x70bcff44
ja 0x140044fe0
lea rax, [r9 + r9*4]
movzx edx, r11b
lea r9, [rdx + rax*2]
test rsi, rsi
jne 0x140044f9c
xor esi, esi
nop word cs:[rax + rax]
mov eax, dword [0x141dc8d90]
add eax, dword [0x141dc8d94]
xor eax, 0x85b69d06
imul eax, eax, 0x39c24ca9
imul rax, rax, 0x784d128d
shr rax, 0x3e
cmp eax, 0xb24cd4d0
ja 0x140045020
mov r11, r8
xor edi, edi
xor ebx, ebx
xor r14d, r14d
cmp r11, 0x14
jge 0x140045060
xor eax, eax
jmp 0x14004562c
add r11, 0xffffffffffffffed
nop word cs:[rax + rax]
mov eax, dword [0x141dc8e48]
or eax, dword [0x141dc8e4c]
imul eax, eax, 0xcb222491
xor eax, 0x81ac8140
or eax, 0x4c506a15
cmp eax, 0x5248ac62
jb 0x140045070
lea r15, [r13 + 1]
nop word [rax + rax]
mov eax, dword [0x141dc8e50]
or eax, dword [0x141dc8e54]
add eax, 0x5484e778
xor eax, 0x2e33f1f2
add eax, 0x5060fc20
cmp eax, 0xf49778ff
ja 0x1400450a0
lea rax, [r8 - 1]
xor edx, edx
mov r12, r13
nop dword [rax + rax]
movzx r10d, byte [r12]
mov r12, r15
cmp r10d, 0x2e
je 0x1400450e4
cmp r10d, 0x30
jne 0x140045110
sub r10b, 0x2f
movzx r10d, r10b
cmovb r10d, edx
movzx r10d, r10b
sub r11, r10
lea r15, [r12 + 1]
sub rax, 1
cmovb r15, r12
jb 0x140045110
test r12, r12
jne 0x1400450d0
nop dword [rax + rax]
mov eax, dword [0x141dc8e58]
add eax, dword [0x141dc8e5c]
imul eax, eax, 0x98de2605
and eax, 0x1ef2eb9e
add eax, 0xc2804f42
cmp eax, 0xcc30fa4f
jb 0x140045110
test r11, r11
jle 0x1400455e4
movabs r14, 0xde0b6b3a763ffff
xor r9d, r9d
mov eax, 0xcb5c8b19
nop
mov edx, dword [0x141dc8e60]
imul edx, dword [0x141dc8e64]
add edx, 0xe43b2b74
or edx, 0x8f176732
and edx, 0xdfd77f7a
cmp edx, 0x10f86a22
jb 0x140045150
movzx edx, byte [r13]
add dl, 0xd0
cmp dl, 9
ja 0x140045268
mov r10d, dword [0x141dc8e68]
xor r10d, dword [str.FuY_]
and r10d, 0x2df9ff35
add r10d, 0xbbc5f82e
imul r10, rax
shr r10, 0x3c
cmp r10d, 0x1883d349
ja 0x140045188
dec r8
inc r13
lea r9, [r9 + r9*4]
movzx edx, dl
lea r9, [rdx + r9*2]
cmp r9, r14
ja 0x1400451d0
test r8, r8
jne 0x140045150
mov eax, dword [0x141dc8e70]
xor eax, dword [0x141dc8e74]
and eax, 0xb4766ef7
imul eax, eax, 0x6f1072d5
or eax, 0x7233e145
cmp eax, 0x74a5118c
jb 0x1400451d0
cmp r9, r14
jbe 0x140045240
sub r8, rsi
xor eax, eax
nop dword [rax]
test al, al
jne 0x140045200
nop word cs:[rax + rax]
mov eax, dword [0x141dc8e90]
imul eax, dword [0x141dc8e94]
add eax, 0x1e33a7fc
xor eax, 0xb4880441
and eax, 0xfdcc1c59
cmp eax, 0xb97b2af4
jb 0x140045210
jmp 0x1400455d3
mov eax, dword [0x141dc8e88]
xor edx, edx
div dword [0x141dc8e8c]
or eax, 0xb6fbfb7f
add eax, 0x9db2fe2
cmp eax, 0x8b94fd13
jb 0x140045240
test r8, r8
je 0x140045a04
mov rsi, r8
dec rsi
je 0x1400455a6
inc r13
xor ebp, ebp
mov r8, rsi
nop dword [rax]
mov eax, dword [0x141dc8eb0]
and eax, dword [0x141dc8eb4]
imul rax, rax, 0x736eb8d9
shr rax, 0x3e
or eax, 0xe35c384c
imul eax, eax, 0x31c8485f
cmp eax, 0xa2c3ca51
ja 0x140045280
movzx r15d, byte [r13]
add r15b, 0xd0
cmp r15b, 9
ja 0x1400455a9
nop dword [rax]
mov eax, dword [0x141dc8eb8]
sub eax, dword [0x141dc8ebc]
xor eax, 0x76eddc1c
imul eax, eax, 0xa8d0cc64
add eax, 0x35f6b069
cmp eax, 0x505b411c
jb 0x1400452c0
dec r8
mov eax, dword [0x141dc8ec0]
xor edx, edx
div dword [0x141dc8ec4]
mov eax, dword [0x141dc8ec8]
or eax, dword [0x141dc8ecc]
add eax, 0x6c048004
or eax, 0x81a52351
xor eax, 0xa9233345
cmp eax, 0x12572674
jb 0x1400452f4
inc r13
lea rax, [r9 + r9*4]
movzx edx, r15b
lea r9, [rdx + rax*2]
nop word cs:[rax + rax]
cmp r9, r14
seta al
test r8, r8
sete dl
test bpl, bpl
jne 0x140045330
or al, dl
je 0x140045280
jmp 0x1400455a9
mov r13, qword [rsp]
movzx eax, byte [rbx]
lea r11d, [rax - 0x30]
cmp r11b, 9
jbe 0x140044fad
mov rdx, r8
sub rdx, rsi
cmp al, 0x2e
jne 0x1400454e7
mov qword [rsp + 8], rdx
lea r11, [rsi - 1]
inc rbx
nop dword [rax]
mov eax, dword [0x141dc8d98]
xor edx, edx
div dword [0x141dc8d9c]
imul rax, rax, 0x71e554b1
shr rax, 0x3e
imul eax, eax, 0xf9c063e1
xor eax, 0x2a68d165
cmp eax, 0x7f056056
ja 0x140045380
cmp r11, 8
jb 0x140045501
movabs rax, 0xcfcfcfcfcfcfcfd0
movabs rdx, 0x8080808080808080
movabs r14, 0x4646464646464646
movabs r13, 0x271000000001
movabs rbp, 0xff000000ff
mov r15, r11
nop word [rax + rax]
mov r10d, dword [0x141dc8da0]
and r10d, dword [0x141dc8da4]
or r10d, 0x56c20680
and r10d, 0xfec21f92
add r10d, 0x4fe41a45
cmp r10d, 0xa8241307
ja 0x1400453f0
mov r10, qword [rbx]
lea rdi, [r10 + r14]
add r10, rax
or rdi, r10
test rdi, rdx
jne 0x140045538
nop word cs:[rax + rax]
mov edi, dword [0x141dc8db8]
and edi, dword [0x141dc8dbc]
xor edi, 0x7e9afd3b
imul edi, edi, 0xbea2b648
imul rdi, rdi, 0x1f1bf36d
shr rdi, 0x39
cmp edi, 0x4269e531
ja 0x140045440
imul rdi, r9, 0x5f5e100
lea r9, [r10 + r10*4]
shr r10, 8
lea r9, [r10 + r9*2]
mov r10, r9
and r10, rbp
movabs r12, 0xf424000000064
imul r10, r12
shr r9, 0x10
mov r12d, dword [0x141dc8dc0]
and r12d, dword [0x141dc8dc4]
add r12d, 0x1fa32a42
or r12d, 0x9806667b
imul r12d, r12d, 0x2fb49ce9
cmp r12d, 0x5ad3a9b1
je 0x140045496
and r9, rbp
imul r9, r13
add r9, r10
shr r9, 0x20
add r9, rdi
add r15, 0xfffffffffffffff8
add rbx, 8
cmp r15, 7
ja 0x1400453f0
jmp 0x140045510
xor r14d, r14d
mov r15, rsi
xor r11d, r11d
mov r13b, 2
add r11, rdx
jne 0x1400456b5
jmp 0x140045ace
mov r15, r11
nop word cs:[rax + rax]
mov eax, dword [0x141dc8da8]
xor eax, dword [0x141dc8dac]
and eax, 0x325a1c2d
imul eax, eax, 0xa2e5dee5
add eax, 0x6243e9fb
cmp eax, 0xc2d99bdb
ja 0x140045510
test r15, r15
je 0x14004559e
mov r14, rbx
add rbx, r15
mov r12d, 0x90b25f59
nop word cs:[rax + rax]
movzx eax, byte [r14]
add al, 0xd0
cmp al, 9
ja 0x140045669
dec r15
inc r14
add r9, r9
lea r9, [r9 + r9*4]
movzx r10d, al
mov eax, dword [0x141dc8db0]
xor edx, edx
div dword [0x141dc8db4]
and eax, 0x319f49a1
xor eax, 0x4dc0e1a1
imul rax, r12
shr rax, 0x38
cmp eax, 0xe959049a
je 0x14004556f
add r9, r10
test r15, r15
jne 0x140045550
xor r15d, r15d
jmp 0x14004566c
xor r8d, r8d
sub r8, rsi
nop dword [rax]
mov eax, dword [0x141dc8ed0]
imul eax, dword [0x141dc8ed4]
add eax, 0xe6d7f32a
xor eax, 0xd71c1047
add eax, 0x36616c02
cmp eax, 0x5902a920
ja 0x1400455b0
mov r14, r8
add r14, rbx
xor eax, eax
nop dword [rax + rax]
test al, al
jne 0x1400455e0
mov eax, dword [0x141dc8e78]
xor edx, edx
div dword [0x141dc8e7c]
nop word cs:[rax + rax]
test r11, r11
setg al
mov edx, dword [0x141dc8e80]
add edx, dword [0x141dc8e84]
and edx, 0xd137434e
imul edx, edx, 0x1019d4ee
add edx, 0x63f53122
cmp edx, 0x8304ec74
jae 0x140045600
xor edx, edx
nop
test dl, dl
jne 0x140045630
mov r13b, 2
test rdi, rdi
jne 0x140045ace
mov edx, dword [0x141dc8ed8]
sub edx, dword [0x141dc8edc]
add edx, 0xb718ff16
xor edx, 0xa35173d4
cmp edx, 0x78ed8b1b
jb 0x140045a61
jmp 0x140045a2f
mov rbx, r14
sub r11, r15
mov r14, r11
neg r14
nop word cs:[rax + rax]
mov eax, dword [0x141dc8dc8]
xor edx, edx
div dword [0x141dc8dcc]
add eax, 0xd873aa2
and eax, 0xa0f72bdc
add eax, 0xbde3498c
cmp eax, 0xd62a1e79
jae 0x140045680
mov rdx, qword [rsp + 8]
mov r13b, 2
add r11, rdx
je 0x140045ace
lea r12, [rbx + 1]
nop dword [rax]
mov eax, dword [0x141dc8dd0]
sub eax, dword [0x141dc8dd4]
xor eax, 0x76b509d5
imul rax, rax, 0x13988181
shr rax, 0x3c
imul eax, eax, 0x4664ef52
cmp eax, 0xb09cb30e
ja 0x1400456c0
lea rdi, [r15 - 1]
nop dword [rax]
mov eax, dword [0x141dc8dd8]
add eax, dword [0x141dc8ddc]
or eax, 0x12
and eax, 0x1000493
cmp eax, 0xc2201c8f
ja 0x1400456f0
nop dword [rax + rax]
mov eax, dword [0x141dc8de0]
add eax, dword [0x141dc8de4]
imul eax, eax, 0x1f795ff4
add eax, 0xab5b8324
cmp eax, 0x90574d2c
ja 0x140045710
test r15, r15
je 0x1400459a0
nop word [rax + rax]
mov eax, dword [0x141dc8de8]
xor eax, dword [0x141dc8dec]
xor eax, 0x279c6bfd
imul eax, eax, 0x9f97ab24
cmp eax, 0x68682ec0
jb 0x140045740
movzx eax, byte [rbx]
nop word cs:[rax + rax]
mov edx, dword [0x141dc8df0]
sub edx, dword [0x141dc8df4]
imul edx, edx, 0xf22bf9fd
imul rdx, rdx, 0x144d1b21
shr rdx, 0x3c
cmp edx, 0x5a5d6c19
ja 0x140045770
or eax, 0x20
cmp eax, 0x65
jne 0x1400459a4
nop word cs:[rax + rax]
mov eax, dword [0x141dc8df8]
sub eax, dword [0x141dc8dfc]
and eax, 0x8f149cd2
cmp eax, 0xfdf09e6f
je 0x1400457b0
test rdi, rdi
je 0x140045ace
movzx ebp, byte [r12]
movzx r10d, bpl
nop word [rax + rax]
mov eax, dword [0x141dc8e00]
xor edx, edx
div dword [0x141dc8e04]
xor eax, 0x7c4bb29d
imul eax, eax, 0x38c16256
imul rax, rax, 0x6d4bc751
shr rax, 0x3e
cmp eax, 0x29a1b8ae
je 0x1400457e0
cmp r10d, 0x2d
je 0x14004581d
mov eax, ebp
cmp r10d, 0x2b
jne 0x1400458be
add r15, 0xfffffffffffffffe
nop word cs:[rax + rax]
mov eax, dword [0x141dc8e08]
sub eax, dword [0x141dc8e0c]
imul eax, eax, 0x6cf01930
add eax, 0x19fac3d0
cmp eax, 0x3f9acbaa
jb 0x140045830
nop
mov eax, dword [0x141dc8e10]
xor eax, dword [0x141dc8e14]
or eax, 0x76ce4cee
cmp eax, 0x5504208d
je 0x140045850
test r15, r15
je 0x140045ace
mov eax, dword [0x141dc8e18]
xor edx, edx
div dword [0x141dc8e1c]
mov r10d, 0xce310edd
add rbx, 2
nop dword [rax]
mov eax, dword [0x141dc8e20]
xor edx, edx
div dword [0x141dc8e24]
or eax, 0x4fbd9e83
imul rax, r10
shr rax, 0x3d
and eax, 2
cmp eax, 0xd486f4a2
je 0x140045890
movzx eax, byte [rbx]
mov r12, rbx
mov rdi, r15
add al, 0xd0
cmp al, 9
ja 0x140045ace
xor ebx, ebx
xor r15d, r15d
nop dword [rax]
mov r13, qword [rsp]
mov eax, dword [0x141dc8e28]
xor edx, edx
div dword [0x141dc8e2c]
or eax, 0xef7ff50a
imul rax, rax, 0x27c61653
shr rax, 0x2f
cmp eax, 0xc9c4e450
ja 0x1400458d4
movzx eax, byte [r12]
add al, 0xd0
cmp al, 9
ja 0x1400459b4
nop dword [rax + rax]
mov edx, dword [0x141dc8e30]
imul edx, dword [0x141dc8e34]
imul edx, edx, 0x9b57470
add edx, 0xb26d55c0
or edx, 0x577f95bd
cmp edx, 0x5fad5abf
je 0x140045910
dec rdi
inc r12
mov edx, dword [0x141dc8e38]
imul edx, dword [0x141dc8e3c]
add edx, 0x37d59bb4
imul rdx, rdx, 0x220125a3
shr rdx, 0x3c
imul r13d, edx, 0xae2b8e30
cmp r15, 0x10000
lea rdx, [r15 + r15*4]
movzx r10d, al
lea r10, [r10 + rdx*2]
mov rdx, rbx
cmovl rdx, r10
cmovge r10, r15
cmp r13d, 0x924c4e5
je 0x14004593d
mov rbx, rdx
mov r15, r10
test rdi, rdi
jne 0x1400458d0
xor edi, edi
mov r13, qword [rsp]
jmp 0x1400459b7
xor edi, edi
jmp 0x1400459a9
mov edi, 1
xor ebx, ebx
mov r13, qword [rsp]
jmp 0x140045053
mov rdx, rbx
mov rax, rdx
neg rax
nop dword [rax]
mov r15d, dword [0x141dc8e40]
imul r15d, dword [0x141dc8e44]
add r15d, 0xdd905fff
or r15d, 0xba319082
and r15d, 0xfb37f1b7
cmp bpl, 0x2d
mov rbx, rdx
cmove rbx, rax
lea r10, [rbx + r14]
cmp r15d, 0xfce1f63d
jae 0x1400459c0
mov r14, r10
jmp 0x140045053
mov eax, dword [0x141dc8e98]
or eax, dword [0x141dc8e9c]
or eax, 0x6b3f2f5a
add eax, 0x7c5041ee
and eax, 0x705ee02c
cmp eax, 0x5aa2368d
jb 0x140045b03
jmp 0x140045ae3
mov edx, dword [0x141dc8ee0]
xor edx, dword [0x141dc8ee4]
add edx, 0x9ad8d3bb
imul rdx, rdx, 0x1a9751eb
shr rdx, 0x3c
imul edx, edx, 0xef645cd6
mov qword [rcx], r14
mov qword [rcx + 8], r9
cmp edx, 0xd903f055
jae 0x140045a6a
mov qword [rcx], r14
mov qword [rcx + 8], r9
jmp 0x140045a2f
mov edx, dword [0x141dc8ee8]
add edx, dword [0x141dc8eec]
mov r8d, 0xae41be59
imul r8, rdx
shr r8, 0x3a
add r8d, 0xdafffcc
and r8d, 0xd1719c9
cmp r8d, 0xabf92598
ja 0x140045ac5
mov edx, dword [0x141dc8ef0]
or edx, dword [0x141dc8ef4]
imul edx, edx, 0x1b1775cf
add edx, 0x59c81efd
and edx, 0x8c9c21b4
mov byte [rcx + 0x10], 0
cmp edx, 0x3bdcb3f9
jne 0x140045acb
mov byte [rcx + 0x10], 0
jmp 0x140045a9b
mov r13d, eax
mov byte [rcx + 0x11], r13b
add rsp, 0x10
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [0x141dc8ea0]
sub eax, dword [0x141dc8ea4]
imul eax, eax, 0x66ff2d23
and eax, 0x80050aad
ud2
ud2