Function at 0x140045d10
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 r9, rdx
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140045d30
nop word cs:[rax + rax]
mov eax, dword [0x141dc6db0]
and eax, dword [0x141dc6db4]
add eax, 0x55109c70
and eax, 0xe1bb2e1b
imul eax, eax, 0xe56f4300
cmp eax, 0xb8639e3e
ja 0x140045d40
cmp r8, 8
jb 0x140045e57
movabs rax, 0xcfcfcfcfcfcfcfd0
movabs rdx, 0x8080808080808080
movabs rsi, 0x4646464646464646
movabs rdi, 0xf424000000064
movabs rbx, 0x271000000001
movabs r15, 0xff000000ff
xor r10d, r10d
mov r14, r9
mov r11, r8
nop word cs:[rax + rax]
mov r13, qword [r14]
lea r12, [rsi + r13]
add r13, rax
or r12, r13
test r12, rdx
jne 0x140045e70
imul r12, r10, 0x5f5e100
lea r10, [r13*4]
add r10, r13
shr r13, 8
lea r10, [r10*2]
add r10, r13
mov r13, r10
and r13, r15
imul r13, rdi
mov ebp, dword [0x141dc6dd8]
and ebp, dword [0x141dc6ddc]
imul rbp, rbp, 0x114a6505
shr rbp, 0x3a
or ebp, 0xd96cd108
cmp ebp, 0xfa6109a3
ja 0x140045e01
shr r10, 0x10
and r10, r15
imul r10, rbx
add r10, r13
shr r10, 0x20
add r10, r12
add r11, 0xfffffffffffffff8
add r14, 8
cmp r11, 7
ja 0x140045dc0
test r11, r11
jne 0x140045e70
jmp 0x140045f64
xor r10d, r10d
mov r11, r8
mov r14, r9
test r11, r11
je 0x140045f64
nop dword [rax]
mov eax, dword [0x141dc6db8]
or eax, dword [0x141dc6dbc]
add eax, 0xe476e3e
and eax, 0xa714b1b9
cmp eax, 0x20c2082c
je 0x140045e70
nop dword [rax]
mov eax, dword [0x141dc6dc0]
or eax, dword [0x141dc6dc4]
xor eax, 0xa1dc0507
add eax, 0x56edfcbf
xor eax, 0xc043a32b
cmp eax, 0xfcf39dfe
ja 0x140045e90
movzx edx, byte [r14]
lea eax, [rdx - 0x30]
cmp al, 9
ja 0x140046239
dec r11
inc r14
add r10, r10
lea r10, [r10 + r10*4]
nop
mov edx, dword [0x141dc6dc8]
sub edx, dword [0x141dc6dcc]
imul edx, edx, 0xe4b57c8c
add edx, 0xb27a6194
and edx, 0x2f96496c
cmp edx, 0x1f3760d3
jb 0x140045ed0
movzx eax, al
nop dword [rax]
mov edx, dword [0x141dc6dd0]
and edx, dword [0x141dc6dd4]
imul edx, edx, 0xd72283c5
add edx, 0xf5ced60
xor edx, 0xfaaf98a0
cmp edx, 0x463f9ee7
ja 0x140045f00
add r10, rax
test r11, r11
jne 0x140045e90
nop word cs:[rax + rax]
mov eax, dword [0x141dc6de0]
or eax, dword [0x141dc6de4]
imul eax, eax, 0x97c6fc13
xor eax, 0xbac98c72
imul eax, eax, 0x36345b6e
cmp eax, 0x71ded4dd
jb 0x140045f40
xor r11d, r11d
nop word [rax + rax]
mov eax, dword [0x141dc6de8]
imul eax, dword [0x141dc6dec]
or eax, 0x34bdc3
add eax, 0x997f8778
cmp eax, 0x62a04d6e
jae 0x140045f70
mov rsi, r8
xor r13d, r13d
xor edi, edi
xor ebx, ebx
nop dword [rax + rax]
mov eax, dword [0x141dc6e48]
xor edx, edx
div dword [0x141dc6e4c]
imul eax, eax, 0x82a7ed5e
add eax, 0xa5732c33
xor eax, 0x8f98df6f
cmp eax, 0x8f84d3a
jb 0x140045fa0
cmp rsi, 0x14
jge 0x140045fd2
xor eax, eax
jmp 0x1400468b0
add rsi, 0xffffffffffffffed
mov eax, 0x9aeb963b
lea r12, [r9 + 1]
nop
mov edx, dword [0x141dc6e88]
xor edx, dword [0x141dc6e8c]
or edx, 0xbb8bc37c
xor edx, 0x58ff5e69
imul rdx, rax
shr rdx, 0x3e
cmp edx, 0xe8ff4ac9
ja 0x140045fe0
mov qword [rsp], r13
mov eax, 0xb7c39d0f
nop word cs:[rax + rax]
mov edx, dword [0x141dc6e90]
sub edx, dword [0x141dc6e94]
xor edx, 0x394f20ec
imul rdx, rax
shr rdx, 0x3e
xor edx, 0x28765e3d
cmp edx, 0x3dc52434
ja 0x140046020
mov qword [rsp + 8], rdi
xor eax, eax
mov rdx, r8
mov r13, r9
nop word cs:[rax + rax]
mov r15, r12
mov ebp, dword [0x141dc6e98]
or ebp, dword [0x141dc6e9c]
add ebp, 0x4898da21
or ebp, 0xe99b481d
cmp ebp, 0x6db3ebb5
je 0x140046063
movzx ebp, byte [r13]
cmp ebp, 0x2e
je 0x140046096
cmp ebp, 0x30
jne 0x14004611d
mov r14d, dword [0x141dc6ea0]
sub r14d, dword [0x141dc6ea4]
imul r14d, r14d, 0xaf100725
mov r12d, ebp
sub r12b, 0x2f
movzx r12d, r12b
cmovb r12d, eax
cmp r14d, 0xadabdb5b
je 0x140046096
movzx r14d, r12b
sub rsi, r14
lea r13, [r15 + 1]
mov ebp, dword [0x141dc6ea8]
imul ebp, dword [0x141dc6eac]
and ebp, 0x8c400420
or ebp, 0x209e7097
imul edi, ebp, 0x84370ac1
cmp rdx, 1
mov r12, r13
cmove r12, r15
sete bpl
test r15, r15
sete r14b
cmp edi, 0x33e9f39b
ja 0x1400460ce
or bpl, r14b
dec rdx
mov r13, r15
test bpl, bpl
je 0x140046060
test rsi, rsi
mov r13, qword [rsp]
jle 0x14004689d
movabs rax, 0xde0b6b3a763ffff
xor r10d, r10d
mov edx, 0xa9e98879
mov ebx, 0xd28486eb
nop word cs:[rax + rax]
movzx ebp, byte [r9]
add bpl, 0xd0
cmp bpl, 9
ja 0x14004647c
mov edi, dword [0x141dc6eb0]
imul edi, dword [0x141dc6eb4]
add edi, 0x345f29e
cmp edi, 0x2259ed55
jb 0x140046162
dec r8
inc r9
lea r10, [r10 + r10*4]
movzx edi, bpl
lea r10, [rdi + r10*2]
nop
mov edi, dword [0x141dc6eb8]
or edi, dword [0x141dc6ebc]
add edi, 0x57f3ea69
imul rdi, rdx
shr rdi, 0x3f
add edi, 0x653e7215
cmp edi, 0x9b4e3436
ja 0x140046190
nop dword [rax + rax]
test r8, r8
sete bpl
cmp r10, rax
seta r15b
mov edi, dword [0x141dc6ec0]
add edi, dword [0x141dc6ec4]
imul rdi, rbx
shr rdi, 0x3c
or edi, 0x40a1104
cmp edi, 0x7b2d6651
je 0x1400461c0
or r15b, bpl
je 0x140046150
nop dword [rax]
mov edx, dword [0x141dc6ec8]
xor edx, dword [0x141dc6ecc]
xor edx, 0x8547f919
add edx, 0xed3e459f
cmp edx, 0x240bee93
jb 0x140046200
cmp r10, rax
mov rdi, qword [rsp + 8]
jbe 0x14004675b
sub r8, r11
mov rbx, r8
jmp 0x14004687c
mov r12, r8
sub r12, r11
lea rsi, [r11 - 1]
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x140046250
cmp dl, 0x2e
jne 0x140046468
inc r14
mov eax, dword [0x141dc6df0]
or eax, dword [0x141dc6df4]
imul eax, eax, 0x4b221af0
xor eax, 0x28c70d12
cmp eax, 0x2a512c7d
jb 0x140046260
nop
mov eax, dword [0x141dc6df8]
or eax, dword [0x141dc6dfc]
add eax, 0xb6f0e72a
and eax, 0x668979ba
add eax, 0x27c44c6c
cmp eax, 0xbff4816f
ja 0x140046280
mov qword [rsp], r12
cmp rsi, 8
jb 0x140046486
movabs rdi, 0x8080808080808080
movabs rbx, 0x4646464646464646
movabs r13, 0x271000000001
movabs rbp, 0xff000000ff
mov r15, rsi
nop dword [rax + rax]
mov eax, dword [0x141dc6e00]
imul eax, dword [0x141dc6e04]
and eax, 0x1000200
xor eax, 0x8dc67a45
cmp eax, 0xa6a53884
ja 0x1400462e0
mov r12, qword [r14]
lea rax, [r12 + rbx]
movabs rdx, 0xcfcfcfcfcfcfcfd0
add r12, rdx
or rax, r12
test rax, rdi
jne 0x1400463c3
imul rax, r10, 0x5f5e100
nop word cs:[rax + rax]
mov r10d, dword [0x141dc6e20]
xor r10d, dword [0x141dc6e24]
imul r10d, r10d, 0x597a6789
add r10d, 0x4d6b18b8
cmp r10d, 0xca69d235
ja 0x140046330
lea r10, [r12 + r12*4]
shr r12, 8
lea r10, [r12 + r10*2]
mov r12, r10
and r12, rbp
movabs rdx, 0xf424000000064
imul r12, rdx
shr r10, 0x10
and r10, rbp
imul r10, r13
add r10, r12
shr r10, 0x20
add r10, rax
mov eax, dword [0x141dc6e28]
sub eax, dword [0x141dc6e2c]
imul eax, eax, 0xb5a1938b
add eax, 0xfff385cd
cmp eax, 0x58c45471
jb 0x14004638a
add r15, 0xfffffffffffffff8
add r14, 8
cmp r15, 7
ja 0x1400462e0
test r15, r15
je 0x140046492
mov r12, qword [rsp]
mov rdx, r14
add r14, r15
nop dword [rax]
mov eax, dword [0x141dc6e08]
or eax, dword [0x141dc6e0c]
add eax, 0x4c0d7ae0
or eax, 0xe1bab6a2
imul rax, rax, 0x1744e351
shr rax, 0x3b
cmp eax, 0x3b193591
ja 0x1400463d0
movzx eax, byte [rdx]
add al, 0xd0
cmp al, 9
ja 0x14004649b
dec r15
inc rdx
add r10, r10
lea r10, [r10 + r10*4]
mov edi, dword [0x141dc6e10]
xor edi, dword [0x141dc6e14]
imul rdi, rdi, 0x15a8d7d9
shr rdi, 0x3c
or edi, 0xeb9ea16a
cmp edi, 0xa70cc5b8
jb 0x140046412
movzx eax, al
add r10, rax
mov eax, dword [0x141dc6e18]
and eax, dword [0x141dc6e1c]
and eax, 0x49aa68de
xor eax, 0x615497c9
cmp eax, 0xbeec9595
ja 0x14004643d
test r15, r15
jne 0x1400463d0
xor r15d, r15d
jmp 0x14004649e
xor ebx, ebx
mov r15, r11
xor esi, esi
mov bpl, 2
add rsi, r12
jne 0x1400464b3
jmp 0x14004693c
mov rdi, qword [rsp + 8]
jmp 0x140046764
mov r15, rsi
test r15, r15
jne 0x1400463c3
xor r15d, r15d
mov r12, qword [rsp]
jmp 0x14004649e
mov r14, rdx
sub rsi, r15
mov rbx, rsi
neg rbx
mov bpl, 2
add rsi, r12
je 0x14004693c
lea r12, [r14 + 1]
lea rdi, [r15 - 1]
nop dword [rax + rax]
mov eax, dword [str.ouRsn]
xor eax, dword [0x141dc6e34]
imul eax, eax, 0x2e426f31
add eax, 0x3f80228c
cmp eax, 0x21683c8c
jb 0x1400464c0
nop
mov eax, dword [0x141dc6e38]
add eax, dword [0x141dc6e3c]
or eax, 0x900806a8
and eax, 0x945b46a8
shr eax, 3
imul rax, rax, 0x1282ddd
shr rax, 0x34
cmp eax, 0xc4b720f4
ja 0x1400464e0
test r15, r15
je 0x140046753
nop word cs:[rax + rax]
mov eax, dword [0x141dc6e40]
or eax, dword [0x141dc6e44]
add eax, 0x4c4b5cca
and eax, 0x86df0047
imul eax, eax, 0xd692c128
cmp eax, 0x9a7cc6cd
jb 0x140046520
movzx eax, byte [r14]
or eax, 0x20
cmp eax, 0x65
jne 0x140046902
nop word cs:[rax + rax]
mov eax, dword [0x141dc6e50]
xor eax, dword [0x141dc6e54]
add eax, 0x649a0f3e
imul rax, rax, 0x5df24e2b
shr rax, 0x3e
cmp eax, 0x83b403af
je 0x140046560
test rdi, rdi
je 0x14004693c
mov eax, 0xe7d65601
nop word cs:[rax + rax]
mov edx, dword [str.hjn]
or edx, dword [0x141dc6e5c]
and edx, 0xcbff3ae7
imul rdx, rax
shr rdx, 0x3f
imul edx, edx, 0x4fdfbf54
cmp edx, 0xeb0ab677
je 0x1400465a0
movzx eax, byte [r12]
mov byte [rsp], al
movzx r13d, al
nop word cs:[rax + rax]
mov eax, dword [0x141dc6e60]
xor edx, edx
div dword [0x141dc6e64]
add eax, 0x70180180
xor eax, 0xa126e516
and eax, 0xf3fef55e
cmp eax, 0x3edd1d7e
jb 0x1400465e0
cmp r13d, 0x2d
je 0x140046614
movzx eax, byte [rsp]
cmp r13d, 0x2b
jne 0x140046692
add r15, 0xfffffffffffffffe
mov edi, 0xbe8e0959
nop dword [rax]
mov eax, dword [0x141dc6e68]
xor edx, edx
div dword [0x141dc6e6c]
imul rax, rdi
shr rax, 0x3e
or eax, 0x4ba5eec0
cmp eax, 0x943c33c8
ja 0x140046620
nop word cs:[rax + rax]
mov eax, dword [0x141dc6e70]
imul eax, dword [0x141dc6e74]
imul rax, rax, 0x47635d21
shr rax, 0x3e
imul eax, eax, 0xd1d73339
and eax, 0x4a02a270
cmp eax, 0x856ca763
ja 0x140046650
test r15, r15
je 0x14004693c
movzx eax, byte [r14 + 2]
add r14, 2
mov r12, r14
mov rdi, r15
add al, 0xd0
nop word cs:[rax + rax]
mov edx, dword [0x141dc6e78]
sub edx, dword [0x141dc6e7c]
add edx, 0x474b721e
imul rdx, rdx, 0x45f675ad
shr rdx, 0x3d
or edx, 0x475df310
cmp edx, 0x28afabb
jb 0x1400466a0
cmp al, 9
ja 0x14004693c
xor eax, eax
xor r14d, r14d
xor edx, edx
mov r13, rdi
nop dword [rax]
mov ebp, dword [0x141dc6e80]
xor ebp, dword [0x141dc6e84]
and ebp, 0xe8bb1934
cmp ebp, 0x24a98418
je 0x1400466e0
movzx ebp, byte [r12]
add bpl, 0xd0
cmp bpl, 9
ja 0x14004690f
dec r13
mov rdi, r13
inc r12
cmp rdx, 0x10000
lea r15, [rdx + rdx*4]
movzx r13d, bpl
lea r13, [r13 + r15*2]
mov r15, r14
cmovl r15, r13
test al, al
jne 0x140046716
cmp rdx, 0x10000
cmovl rdx, r13
mov r14, r15
mov r13, rdi
test rdi, rdi
jne 0x1400466e0
xor r13d, r13d
jmp 0x140046912
xor r13d, r13d
jmp 0x140046908
test r8, r8
je 0x140046928
dec r8
nop word [rax + rax]
mov edx, dword [0x141dc6ed0]
imul edx, dword [0x141dc6ed4]
cmp edx, 0x7f3ddf9b
je 0x140046770
test r8, r8
je 0x140046877
inc r9
nop word cs:[rax + rax]
mov edx, dword [0x141dc6ed8]
imul edx, dword [0x141dc6edc]
cmp edx, 0x33df9ce4
je 0x1400467a0
mov rbx, r8
nop dword [rax + rax]
mov edx, dword [0x141dc6ee0]
xor edx, dword [0x141dc6ee4]
add edx, 0xb63135d4
cmp edx, 0xf673c080
ja 0x1400467c0
movzx edx, byte [r9]
add dl, 0xd0
cmp dl, 9
ja 0x140046879
mov r11d, dword [0x141dc6ee8]
sub r11d, dword [0x141dc6eec]
add r11d, 0x26ecad12
or r11d, 0xeda37ec7
add r11d, 0x4b35cdbc
cmp r11d, 0x4bb59b84
ja 0x1400467ea
inc r9
lea r10, [r10 + r10*4]
movzx edx, dl
lea r10, [rdx + r10*2]
cmp r10, rax
seta r11b
cmp rbx, 1
sete dl
or dl, r11b
nop word cs:[rax + rax]
mov r11d, dword [0x141dc6ef0]
imul r11d, dword [0x141dc6ef4]
or r11d, 0xb57fa7f7
imul r11, r11, 0x4f12cbd3
shr r11, 0x3d
cmp r11d, 0xb1294219
je 0x140046840
dec rbx
test dl, dl
je 0x1400467c0
jmp 0x140046879
xor ebx, ebx
sub rbx, r8
add rbx, rdi
nop
mov eax, dword [0x141dc6ef8]
add eax, dword [0x141dc6efc]
xor eax, 0x42110000
and eax, 0x52310014
cmp eax, 0x19d60766
ja 0x140046880
test rsi, rsi
setg al
nop word cs:[rax + rax]
mov edx, dword [0x141dc6f00]
imul edx, dword [0x141dc6f04]
or edx, 0x280928d0
add edx, 0x2c59ec73
cmp edx, 0xe94cbaf3
ja 0x1400468b0
mov bpl, 2
test r13, r13
jne 0x14004693c
mov qword [rcx], rbx
mov edx, dword [0x141dc6f08]
xor edx, dword [0x141dc6f0c]
mov qword [rcx + 8], r10
add edx, 0xdcd3cae7
and edx, 0xac581ff7
cmp edx, 0x64d5ac76
jbe 0x14004692a
jmp 0x140046934
mov r13d, 1
xor edi, edi
jmp 0x140045fa0
mov r15, r14
mov rdi, r15
neg rdi
cmp byte [rsp], 0x2d
cmovne rdi, r15
add rbx, rdi
jmp 0x140045fa0
ud2
mov byte [rcx + 0x10], 0
xor edx, edx
test dl, dl
je 0x14004693a
mov byte [rcx + 0x10], 0
jmp 0x14004692a
mov ebp, eax
mov byte [rcx + 0x11], bpl
add rsp, 0x10
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret