Function at 0x140043430
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 0x140043450
mov qword [rsp], rcx
cmp r8, 8
jb 0x140043504
movabs rax, 0xcfcfcfcfcfcfcfd0
movabs rcx, 0x8080808080808080
movabs rdx, 0x4646464646464646
movabs rsi, 0xf424000000064
movabs rdi, 0x271000000001
movabs rbx, 0xff000000ff
xor r10d, r10d
mov r14, r9
mov r11, r8
nop word [rax + rax]
mov r15, qword [r14]
lea r12, [r15 + rdx]
add r15, rax
or r12, r15
test r12, rcx
jne 0x140043538
imul r12, r10, 0x5f5e100
lea r10, [r15 + r15*4]
shr r15, 8
lea r10, [r15 + r10*2]
mov r15, r10
and r15, rbx
imul r15, rsi
shr r10, 0x10
and r10, rbx
imul r10, rdi
add r10, r15
shr r10, 0x20
add r10, r12
add r11, 0xfffffffffffffff8
add r14, 8
cmp r11, 7
ja 0x1400434b0
jmp 0x140043510
xor r10d, r10d
mov r11, r8
mov r14, r9
nop dword [rax]
mov eax, dword [0x141dc5e10]
imul eax, dword [0x141dc5e14]
imul eax, eax, 0x5d4d340e
add eax, 0xa042359a
cmp eax, 0xde78108a
ja 0x140043510
test r11, r11
je 0x14004360e
xor eax, eax
mov edx, 0xca0e0aad
nop
mov ecx, dword [0x141dc5e18]
add ecx, dword [0x141dc5e1c]
imul ecx, ecx, 0x6bfda5ab
and ecx, 0xb9767767
cmp ecx, 0x264e288b
jb 0x140043540
movzx esi, byte [r14]
lea ecx, [rsi - 0x30]
cmp cl, 9
ja 0x14004387d
mov esi, dword [0x141dc5e20]
xor esi, dword [0x141dc5e24]
and esi, 0xddff0c8b
add esi, 0xc2181d5c
or esi, 0x5b387132
cmp esi, 0xb824f114
ja 0x140043570
dec r11
inc r14
add r10, r10
lea r10, [r10 + r10*4]
movzx ecx, cl
test al, al
jne 0x1400435a6
add r10, rcx
nop dword [rax]
mov ecx, dword [0x141dc5e28]
or ecx, dword [0x141dc5e2c]
imul rcx, rdx
shr rcx, 0x3e
or ecx, 0xefb76ff2
cmp ecx, 0x2f6b5896
jb 0x1400435b0
test r11, r11
jne 0x140043540
mov eax, dword [0x141dc5e30]
xor edx, edx
div dword [0x141dc5e34]
nop dword [rax]
mov eax, dword [0x141dc5e38]
imul eax, dword [0x141dc5e3c]
add eax, 0x3483a10e
and eax, 0xd5c5b273
cmp eax, 0x56c5b7d0
ja 0x1400435f0
xor r11d, r11d
nop word cs:[rax + rax]
mov eax, dword [0x141dc5e40]
xor eax, dword [0x141dc5e44]
or eax, 0x960db467
imul eax, eax, 0x395a33e4
cmp eax, 0x59d9f76
jbe 0x140043620
mov rsi, r8
xor edi, edi
xor r14d, r14d
xor ebx, ebx
nop dword [rax + rax]
mov eax, dword [0x141dc5e70]
imul eax, dword [0x141dc5e74]
or eax, 0x1c724c19
imul rax, rax, 0x77ef32d7
shr rax, 0x3e
or eax, 0x9e8b141c
cmp eax, 0x5fa063f8
jb 0x140043650
cmp rsi, 0x14
jge 0x14004368a
xor eax, eax
mov rdx, qword [rsp]
jmp 0x140043e00
add rsi, 0xffffffffffffffed
nop
mov eax, dword [0x141dc5eb8]
or eax, dword [0x141dc5ebc]
imul eax, eax, 0xfee202ba
or eax, 0xa0418310
and eax, 0xb273f3b4
cmp eax, 0x60b6dc7f
je 0x140043690
lea rax, [r9 + 1]
nop word [rax + rax]
mov ecx, dword [0x141dc5ec0]
sub ecx, dword [0x141dc5ec4]
add ecx, 0x9ba6760
and ecx, 0xd28b491f
xor ecx, 0xa426532b
cmp ecx, 0x1fef2d30
jb 0x1400436c0
nop word cs:[rax + rax]
mov ecx, dword [0x141dc5ec8]
sub ecx, dword [0x141dc5ecc]
and ecx, 0x106928c6
imul ecx, ecx, 0x3b20b00f
and ecx, 0x169c8552
cmp ecx, 0x2808f64a
ja 0x1400436f0
xor ebp, ebp
mov r15, r8
mov r12, r9
nop
mov rcx, rax
mov eax, dword [0x141dc5ed0]
xor edx, edx
div dword [0x141dc5ed4]
nop word cs:[rax + rax]
mov eax, dword [str._r]
xor eax, dword [0x141dc5edc]
imul eax, eax, 0x7652e016
or eax, 0x1ed85567
imul eax, eax, 0x4b58939c
cmp eax, 0x4fa66764
jb 0x140043740
movzx eax, byte [r12]
cmp eax, 0x2e
je 0x140043773
cmp eax, 0x30
jne 0x1400437d6
sub al, 0x2f
movzx eax, al
cmovb eax, ebp
movzx eax, al
sub rsi, rax
lea rax, [rcx + 1]
dec r15
cmove rax, rcx
nop dword [rax]
test r15, r15
sete dl
mov r12d, dword [0x141dc5ee0]
sub r12d, dword [0x141dc5ee4]
imul r12d, r12d, 0xb47abbac
imul r13, r12, 0x5e326409
shr r13, 0x3d
and r13d, 1
test rcx, rcx
sete r12b
cmp r13d, 0x486105d4
je 0x140043790
or dl, r12b
mov r12, rcx
je 0x140043720
test rsi, rsi
jle 0x140043dbd
movabs r15, 0xde0b6b3a763ffff
xor r10d, r10d
nop dword [rax]
movzx eax, byte [r9]
add al, 0xd0
cmp al, 9
ja 0x140043cc0
nop
mov ecx, dword [0x141dc5ee8]
and ecx, dword [0x141dc5eec]
xor ecx, 0x9c25564
add ecx, 0x43096568
cmp ecx, 0x1f46c6c6
jb 0x140043800
dec r8
inc r9
add r10, r10
lea rcx, [r10 + r10*4]
movzx r10d, al
add r10, rcx
cmp r10, r15
ja 0x140043840
test r8, r8
jne 0x1400437f0
nop
mov eax, dword [0x141dc5ef0]
or eax, dword [0x141dc5ef4]
xor eax, 0xd96443a0
imul rax, rax, 0x6c1e78cf
shr rax, 0x3d
imul eax, eax, 0x531401a9
cmp eax, 0x7495cfc3
ja 0x140043840
cmp r10, r15
jbe 0x140043c87
sub r8, r11
mov rbx, r8
jmp 0x140043d98
mov rdi, r8
sub rdi, r11
cmp sil, 0x2e
jne 0x1400439f3
lea rsi, [r11 - 1]
inc r14
nop word cs:[rax + rax]
mov eax, dword [str._WHL]
and eax, dword [0x141dc5e4c]
cmp eax, 0x5bfa07
je 0x1400438a0
mov eax, 0xa2804d43
nop dword [rax + rax]
mov ecx, dword [0x141dc5e50]
or ecx, dword [0x141dc5e54]
add ecx, 0xb8152e1f
shr ecx, 1
imul rcx, rax
shr rcx, 0x3e
cmp ecx, 0xeebd5fcb
je 0x1400438c0
mov qword [rsp + 8], rdi
cmp rsi, 8
jb 0x140043a07
movabs r12, 0x8080808080808080
movabs r13, 0x4646464646464646
movabs rdi, 0x271000000001
movabs rcx, 0xff000000ff
xor ebx, ebx
mov r15, rsi
mov rdx, qword [r14]
lea rax, [rdx + r13]
movabs rbp, 0xcfcfcfcfcfcfcfd0
add rdx, rbp
or rax, rdx
test rax, r12
jne 0x1400439bb
imul rax, r10, 0x5f5e100
lea r10, [rdx + rdx*4]
shr rdx, 8
lea r10, [rdx + r10*2]
mov rdx, r10
and rdx, rcx
movabs rbp, 0xf424000000064
imul rdx, rbp
shr r10, 0x10
and r10, rcx
imul r10, rdi
add r10, rdx
shr r10, 0x20
mov edx, dword [0x141dc5e58]
or edx, dword [0x141dc5e5c]
imul edx, edx, 0x2db3f7bb
cmp edx, 0xc4cdb34b
je 0x140043975
add r10, rax
add r15, 0xfffffffffffffff8
mov eax, dword [0x141dc5e60]
xor edx, edx
div dword [0x141dc5e64]
test bl, bl
jne 0x1400439a4
add r14, 8
cmp r15, 7
ja 0x140043920
test r15, r15
je 0x140043a0f
mov rdi, qword [rsp + 8]
mov rax, r14
add r14, r15
nop word cs:[rax + rax]
movzx ecx, byte [rax]
add cl, 0xd0
cmp cl, 9
ja 0x140043a19
inc rax
lea rdx, [r10 + r10*4]
movzx ecx, cl
lea r10, [rcx + rdx*2]
dec r15
jne 0x1400439d0
xor r15d, r15d
jmp 0x140043a1c
xor ebx, ebx
mov r15, r11
xor esi, esi
mov r12b, 2
add rsi, rdi
jne 0x140043a31
jmp 0x140043c7e
mov r15, rsi
test r15, r15
jne 0x1400439bb
xor r15d, r15d
mov rdi, qword [rsp + 8]
jmp 0x140043a1c
mov r14, rax
sub rsi, r15
mov rbx, rsi
neg rbx
mov r12b, 2
add rsi, rdi
je 0x140043c7e
mov rdi, r15
sub rdi, 1
jae 0x140043a41
xor edi, edi
jmp 0x140043e56
lea r13, [r14 + 1]
movzx eax, byte [r14]
nop dword [rax]
mov ecx, dword [0x141dc5e68]
or ecx, dword [0x141dc5e6c]
add ecx, 0x395c3ee4
xor ecx, 0xe55e4659
cmp ecx, 0x6d68f65b
jb 0x140043a50
or eax, 0x20
cmp eax, 0x65
jne 0x140043e51
xor eax, eax
nop
test al, al
jne 0x140043a80
test rdi, rdi
je 0x140043c7e
movzx ebp, byte [r13]
movzx eax, bpl
nop word cs:[rax + rax]
mov ecx, dword [0x141dc5e78]
or ecx, dword [0x141dc5e7c]
add ecx, 0x9ecf6209
imul rdx, rcx, 0x21e0e941
shr rdx, 0x20
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 0x1d
or ecx, 0x8a66b39b
cmp ecx, 0x2bd633b3
jb 0x140043aa0
nop word cs:[rax + rax]
mov ecx, dword [0x141dc5e80]
or ecx, dword [0x141dc5e84]
or ecx, 0x6c4cf283
cmp ecx, 0xf7f5a875
je 0x140043ae0
cmp eax, 0x2d
je 0x140043b0a
mov ecx, ebp
cmp eax, 0x2b
jne 0x140043bbe
add r15, 0xfffffffffffffffe
nop
mov eax, dword [0x141dc5e88]
xor eax, dword [0x141dc5e8c]
and eax, 0xf1e7e840
xor eax, 0x870b216c
shr eax, 2
imul rax, rax, 0x2934489d
shr rax, 0x3b
cmp eax, 0x2e825e1b
ja 0x140043b10
test r15, r15
je 0x140043c7e
mov eax, dword [0x141dc5e90]
xor edx, edx
div dword [0x141dc5e94]
add r14, 2
nop word cs:[rax + rax]
mov eax, dword [0x141dc5e98]
imul eax, dword [0x141dc5e9c]
xor eax, 0x8044883
or eax, 0x7523a514
imul eax, eax, 0x7ddf7892
cmp eax, 0xd951d547
ja 0x140043b60
movzx ecx, byte [r14]
mov eax, 0xaa1514ef
nop dword [rax]
mov edx, dword [0x141dc5ea0]
or edx, dword [0x141dc5ea4]
imul edx, edx, 0x4e47d428
add edx, 0x7451c781
imul rdx, rax
shr rdx, 0x3f
cmp edx, 0x7bbccf13
ja 0x140043b90
mov r13, r14
mov rdi, r15
add cl, 0xd0
cmp cl, 9
mov rdx, qword [rsp]
ja 0x140043e3c
xor r15d, r15d
xor ecx, ecx
nop word cs:[rax + rax]
mov eax, dword [0x141dc5ea8]
xor edx, edx
div dword [0x141dc5eac]
and eax, 0x9ac95604
imul eax, eax, 0xba970411
or eax, 0x24ff7585
cmp eax, 0x2ef45df5
ja 0x140043be0
movzx eax, byte [r13]
add al, 0xd0
cmp al, 9
ja 0x140043c68
dec rdi
nop word cs:[rax + rax]
mov edx, dword [0x141dc5eb0]
sub edx, dword [0x141dc5eb4]
imul edx, edx, 0x22816e66
or edx, 0x3bf9effd
cmp edx, 0x9bf7abd1
jb 0x140043c20
inc r13
lea rdx, [rcx + rcx*4]
movzx eax, al
lea rax, [rax + rdx*2]
cmp rcx, 0x10000
cmovl r15, rax
cmovl rcx, rax
test rdi, rdi
jne 0x140043be0
xor edi, edi
mov r14, r15
neg r14
cmp bpl, 0x2d
cmovne r14, r15
add rbx, r14
jmp 0x140043650
mov rdx, qword [rsp]
jmp 0x140043e3c
mov ecx, 0xa62abf21
nop dword [rax]
mov eax, dword [0x141dc5f00]
xor edx, edx
div dword [0x141dc5f04]
and eax, 0xd6db9185
add eax, 0x9bbeb798
imul rax, rcx
shr rax, 0x3a
cmp eax, 0x80603eb6
ja 0x140043c90
test r8, r8
je 0x140043e5e
dec r8
nop word cs:[rax + rax]
mov eax, dword [0x141dc5f18]
mov ecx, dword [0x141dc5f1c]
add eax, ecx
add eax, 0x49dfa106
and eax, 0x3d59230
cmp eax, 0x458242ee
je 0x140043cd0
test r8, r8
je 0x140043d8e
mov eax, dword [0x141dc5f20]
xor edx, edx
div dword [0x141dc5f24]
inc r9
nop dword [rax]
mov eax, dword [str._q_a]
xor eax, dword [0x141dc5f2c]
add eax, 0x3d89af13
imul rax, rax, 0x5c913949
shr rax, 0x3e
cmp eax, 0xe369a6ed
ja 0x140043d10
mov rax, r8
nop word cs:[rax + rax]
movzx ecx, byte [r9]
add cl, 0xd0
cmp cl, 9
ja 0x140043d92
mov edx, dword [0x141dc5f30]
xor edx, dword [0x141dc5f34]
or edx, 0x80038
and edx, 0xc04a013a
cmp edx, 0x6304038d
jb 0x140043d4c
lea rdx, [r10 + r10*4]
movzx ecx, cl
lea r10, [rcx + rdx*2]
lea rbx, [rax - 1]
cmp r10, r15
ja 0x140043d95
inc r9
cmp rax, 1
mov rax, rbx
jne 0x140043d40
jmp 0x140043d95
xor ebx, ebx
jmp 0x140043d95
mov rbx, rax
sub rbx, r8
add rbx, r14
nop dword [rax + rax]
mov eax, dword [0x141dc5f38]
xor eax, dword [0x141dc5f3c]
add eax, 0x5fef2fe2
or eax, 0xe7d43bbd
cmp eax, 0x8f25afbf
je 0x140043da0
mov rdx, qword [rsp]
nop word cs:[rax + rax]
test rsi, rsi
setg al
mov ecx, dword [0x141dc5ef8]
sub ecx, dword [0x141dc5efc]
add ecx, 0xcd8cff6a
and ecx, 0x9ac2ac57
cmp ecx, 0xd9fb0cac
jae 0x140043dd0
nop word cs:[rax + rax]
mov ecx, dword [0x141dc5f40]
sub ecx, dword [0x141dc5f44]
imul ecx, ecx, 0xb8a48575
xor ecx, 0x77aa7468
add ecx, 0x2eabb567
cmp ecx, 0xe982e429
jb 0x140043e00
mov r12b, 2
test rdi, rdi
jne 0x140043e3c
mov qword [rdx], rbx
mov qword [rdx + 8], r10
mov byte [rdx + 0x10], 0
mov r12d, eax
mov byte [rdx + 0x11], r12b
add rsp, 0x10
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov edi, 1
xor r14d, r14d
jmp 0x140043650
xor eax, eax
test al, al
jne 0x140043e84
mov eax, dword [0x141dc5f08]
imul eax, dword [0x141dc5f0c]
or eax, 0x20019081
and eax, 0x2005909d
ud2
ud2