Function at 0x140047390
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
push rax
mov r9, rdx
mov eax, dword [0x141f331c8]
xor eax, dword [0x141f331cc]
add eax, 0x67a76707
xor eax, 0x3cc1c9d2
imul rax, rax, 0x1286dbcd
shr rax, 0x3b
cmp eax, 0x65baf6fa
ja 0x1400473a0
cmp r8, 8
jb 0x140047474
movabs rax, 0xcfcfcfcfcfcfcfd0
movabs rdx, 0x8080808080808080
movabs rsi, 0x4646464646464646
movabs rbx, 0xf424000000064
movabs r14, 0x271000000001
movabs r15, 0xff000000ff
xor r10d, r10d
mov rdi, r9
mov r11, r8
nop word [rax + rax]
mov r12, qword [rdi]
lea r13, [r12 + rsi]
add r12, rax
or r13, r12
test r13, rdx
jne 0x1400474b0
imul r13, r10, 0x5f5e100
lea r10, [r12 + r12*4]
shr r12, 8
lea r10, [r12 + r10*2]
mov r12, r10
and r12, r15
imul r12, rbx
shr r10, 0x10
and r10, r15
imul r10, r14
add r10, r12
shr r10, 0x20
add r10, r13
add r11, 0xfffffffffffffff8
add rdi, 8
cmp r11, 7
ja 0x140047420
jmp 0x140047480
xor r10d, r10d
mov r11, r8
mov rdi, r9
nop dword [rax]
mov eax, dword [0x141f331d0]
xor edx, edx
div dword [0x141f331d4]
add eax, 0x1b6b7933
and eax, 0x21000da
cmp eax, 0x5fbf58a1
je 0x140047480
test r11, r11
je 0x1400477ac
nop dword [rax + rax]
movzx eax, byte [rdi]
lea esi, [rax - 0x30]
cmp sil, 9
ja 0x140047569
mov eax, dword [0x141f331d8]
xor edx, edx
div dword [0x141f331dc]
xor eax, 0x223cc9c
cmp eax, 0xd4883b03
ja 0x1400474c0
dec r11
mov eax, dword [0x141f331e0]
add eax, dword [0x141f331e4]
imul eax, eax, 0x3d9795b1
and eax, 0x7bb67de
cmp eax, 0x73c33abe
je 0x1400474dd
inc rdi
lea rax, [r10 + r10*4]
movzx edx, sil
lea r10, [rdx + rax*2]
nop word [rax + rax]
mov eax, dword [0x141f331e8]
imul eax, dword [0x141f331ec]
or eax, 0x76f7bed5
and eax, 0x77fffef7
cmp eax, 0x6e0e32d3
je 0x140047510
test r11, r11
jne 0x1400474b0
xor r11d, r11d
nop word [rax + rax]
mov eax, dword [0x141f331f8]
xor edx, edx
div dword [0x141f331fc]
or eax, 0x2c1a022
xor eax, 0x20828020
or eax, 0xdd381fcd
cmp eax, 0xf7d5e62a
jb 0x140047540
jmp 0x1400477af
mov edx, 0x80e5313d
mov r15, r8
sub r15, r11
lea rsi, [r11 - 1]
nop dword [rax + rax]
mov ebx, dword [0x141f331f0]
and ebx, dword [0x141f331f4]
and ebx, 0xbe3ff2b5
imul rbx, rdx
shr rbx, 0x3e
cmp ebx, 0x99f928cc
je 0x140047580
cmp al, 0x2e
jne 0x14004799a
inc rdi
nop dword [rax]
mov eax, dword [0x141f33200]
or eax, dword [0x141f33204]
add eax, 0x1de1d444
xor eax, 0x6d1dbb03
add eax, 0x6ba85123
cmp eax, 0xb8b73b1d
jb 0x1400475b0
mov qword [rsp], r15
cmp rsi, 8
jb 0x1400479ab
movabs r13, 0x4646464646464646
movabs rbp, 0xff000000ff
mov r15d, 0xda230a75
mov r14, rsi
nop dword [rax]
mov rbx, qword [rdi]
lea rax, [rbx + r13]
movabs rdx, 0xcfcfcfcfcfcfcfd0
add rbx, rdx
or rax, rbx
movabs rdx, 0x8080808080808080
test rax, rdx
jne 0x140047705
mov eax, dword [0x141f33218]
or eax, dword [0x141f3321c]
add eax, 0x787a58c4
and eax, 0x3b22d08a
imul rdx, rax, 0x4f08059b
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1f
cmp eax, 0xd83cf11b
ja 0x14004762a
imul r12, r10, 0x5f5e100
lea rax, [rbx + rbx]
lea r10, [rax + rax*4]
mov eax, dword [0x141f33220]
xor edx, edx
div dword [0x141f33224]
add eax, 0x1f1d4107
and eax, 0xcd94d83f
add eax, 0xd652cc46
cmp eax, 0xdb18994b
jb 0x14004766a
shr rbx, 8
add r10, rbx
mov rax, r10
and rax, rbp
movabs rdx, 0xf424000000064
imul rax, rdx
shr r10, 0x10
and r10, rbp
movabs rdx, 0x271000000001
imul r10, rdx
mov edx, dword [0x141f33228]
or edx, dword [0x141f3322c]
imul rdx, r15
shr rdx, 0x3f
or edx, 0xc62f51d0
cmp edx, 0x4b2ad0f4
je 0x1400476be
add r10, rax
shr r10, 0x20
add r10, r12
add r14, 0xfffffffffffffff8
add rdi, 8
cmp r14, 7
ja 0x140047600
test r14, r14
je 0x1400479b7
mov rax, rdi
mov r15, qword [rsp]
mov edx, 0xeb761ce5
add rdi, r14
nop word cs:[rax + rax]
mov ebx, dword [0x141f33208]
and ebx, dword [0x141f3320c]
imul rbx, rdx
shr rbx, 0x39
and ebx, 0xfffffffa
cmp ebx, 0xb32ac2e2
je 0x140047720
jmp 0x140047799
dec r14
inc rax
lea r10, [r10 + r10*4]
movzx edx, dl
lea r10, [rdx + r10*2]
nop word cs:[rax + rax]
mov edx, dword [0x141f33210]
or edx, dword [0x141f33214]
imul edx, edx, 0x9df777aa
add edx, 0x8db33e8e
cmp edx, 0x59071291
jb 0x140047770
test r14, r14
je 0x1400479c0
movzx edx, byte [rax]
add dl, 0xd0
cmp dl, 9
jbe 0x140047750
mov rdi, rax
jmp 0x1400479c3
xor r11d, r11d
mov rsi, r8
xor eax, eax
xor edx, edx
xor ebx, ebx
xor edi, edi
cmp rsi, 0x14
jl 0x140047e0c
add rsi, 0xffffffffffffffed
lea r12, [r9 + 1]
mov r14, r8
mov r13, r9
nop word cs:[rax + rax]
mov r15, r12
mov ebp, dword [0x141f33290]
xor ebp, dword [0x141f33294]
or ebp, 0x5b5a1460
imul ebp, ebp, 0x6a5c8160
cmp ebp, 0xe0fc0717
je 0x1400477e3
movzx ebp, byte [r13]
cmp ebp, 0x2e
je 0x140047820
cmp ebp, 0x30
jne 0x140047874
nop word cs:[rax + rax]
mov r12d, dword [0x141f33298]
xor r12d, dword [0x141f3329c]
imul r13, r12, 0x2e92d437
shr r13, 0x3b
mov r12d, ebp
sub r12b, 0x2f
movzx r12d, r12b
cmovb r12d, edi
cmp r13d, 0x6abb123
je 0x140047820
dec r14
movzx r12d, r12b
sub rsi, r12
lea r12, [r15 + 1]
test r14, r14
cmove r12, r15
je 0x140047874
mov r13, r15
test r15, r15
jne 0x1400477e0
test rsi, rsi
jle 0x140047de0
movabs rdi, 0xde0b6b3a763ffff
xor ebx, ebx
xor r14d, r14d
nop dword [rax]
movzx ebp, byte [r9]
add bpl, 0xd0
cmp bpl, 9
ja 0x1400479a3
mov r10d, dword [0x141f332a0]
sub r10d, dword [0x141f332a4]
imul r10d, r10d, 0xb859a470
add r10d, 0x21389c80
imul r10, r10, 0x550cdc9
shr r10, 0x3a
cmp r10d, 0xd74ed11a
je 0x1400478a2
dec r8
test bl, bl
jne 0x1400478d5
inc r9
nop dword [rax]
mov r13d, dword [0x141f332a8]
imul r13d, dword [0x141f332ac]
and r13d, 0x3fa3e14e
add r13d, 0x5a3cb87
lea r10, [r14 + r14*4]
movzx r15d, bpl
lea r10, [r15 + r10*2]
cmp r10, rdi
seta r15b
test r8, r8
sete r12b
cmp r13d, 0xe61b1ff
jb 0x1400478e0
or r15b, r12b
mov r14, r10
je 0x140047890
cmp r10, rdi
jbe 0x140047cd3
sub r8, r11
nop dword [rax + rax]
mov r9d, dword [0x141f332b8]
sub r9d, dword [0x141f332bc]
and r9d, 0xcd3583d6
imul r9, r9, 0x51379a4b
shr r9, 0x3e
or r9d, 0xbcd57c62
cmp r9d, 0x87787c1b
jb 0x140047940
mov r9d, dword [0x141f332c0]
sub r9d, dword [0x141f332c4]
xor r9d, 0xe58124d1
and r9d, 0xfdeb6cf1
cmp r9d, 0x687907b3
je 0x140047970
jmp 0x140047dd0
xor ebx, ebx
mov r14, r11
xor esi, esi
jmp 0x1400479f2
mov r10, r14
jmp 0x140047cdc
mov r14, rsi
test r14, r14
jne 0x140047705
xor r14d, r14d
mov r15, qword [rsp]
jmp 0x1400479c3
xor r14d, r14d
sub rsi, r14
mov rbx, rsi
neg rbx
nop dword [rax]
mov eax, dword [0x141f33230]
or eax, dword [0x141f33234]
and eax, 0x910d1812
xor eax, 0x120d7a04
or eax, 0x64f081e9
cmp eax, 0x6572339d
jbe 0x1400479d0
mov bpl, 2
add rsi, r15
je 0x140047f0c
lea rdx, [rdi + 1]
lea rax, [r14 - 1]
nop word cs:[rax + rax]
mov r15d, dword [0x141f33238]
imul r15d, dword [0x141f3323c]
xor r15d, 0x2010004
and r15d, 0xa019824
cmp r15d, 0xe0006e9f
je 0x140047a10
test r14, r14
je 0x140047ccc
nop
mov r15d, dword [0x141f33240]
mov r12d, dword [0x141f33244]
add r15d, r12d
add r15d, 0x341b7bb3
and r15d, 0xa1a897f6
cmp r15d, 0x3b95c36d
je 0x140047a40
movzx r15d, byte [rdi]
nop dword [rax]
mov r12d, dword [0x141f33248]
imul r12d, dword [0x141f3324c]
xor r12d, 0xa5533d2
imul r12d, r12d, 0x523d9da8
cmp r12d, 0x975ae9f9
jb 0x140047a70
or r15d, 0x20
cmp r15d, 0x65
jne 0x140047e80
nop word cs:[rax + rax]
mov r15d, dword [0x141f33250]
or r15d, dword [0x141f33254]
or r15d, 0xebffff7f
cmp r15d, 0x2af8671a
jb 0x140047ab0
test rax, rax
je 0x140047f0c
movzx r15d, byte [rdx]
movzx r13d, r15b
nop
mov r12d, dword [0x141f33258]
sub r12d, dword [0x141f3325c]
xor r12d, 0x5ba29a09
add r12d, 0xa7278266
and r12d, 0xbbbe79bc
cmp r12d, 0xc0ddba50
ja 0x140047ae0
cmp r13d, 0x2d
je 0x140047b1f
mov r12d, r15d
cmp r13d, 0x2b
jne 0x140047bda
mov eax, dword [0x141f33260]
xor edx, edx
div dword [0x141f33264]
add r14, 0xfffffffffffffffe
nop word cs:[rax + rax]
mov eax, dword [str.__aq]
or eax, dword [0x141f3326c]
and eax, 0x42203968
add eax, 0x2ac879cb
cmp eax, 0x2bf65091
jb 0x140047b40
nop dword [rax]
mov eax, dword [0x141f33270]
sub eax, dword [0x141f33274]
add eax, 0xc23f35c5
or eax, 0x2090617f
add eax, 0xbe01065c
cmp eax, 0x323fa093
jb 0x140047b60
nop word cs:[rax + rax]
mov eax, dword [0x141f33278]
imul eax, dword [0x141f3327c]
add eax, 0x29d48ab7
xor eax, 0x493a1e67
add eax, 0xc9dad1d4
cmp eax, 0xe17de825
ja 0x140047b90
test r14, r14
je 0x140047f0c
movzx r12d, byte [rdi + 2]
add rdi, 2
xor eax, eax
nop word [rax + rax]
test al, al
jne 0x140047bd0
mov rdx, rdi
mov rax, r14
add r12b, 0xd0
nop
mov edi, dword [0x141f33280]
or edi, dword [0x141f33284]
and edi, 0x1776120b
add edi, 0xdf17d9fc
or edi, 0xe5854568
cmp edi, 0xb2d3ed79
jb 0x140047be0
cmp r12b, 9
ja 0x140047f0c
xor r14d, r14d
xor edi, edi
xor r12d, r12d
nop dword [rax + rax]
movzx ebp, byte [rdx]
add bpl, 0xd0
cmp bpl, 9
ja 0x140047ca0
dec rax
inc rdx
cmp r12, 0x10000
lea r13, [r12 + r12*4]
movzx ebp, bpl
lea rbp, [rbp + r13*2]
cmovl rdi, rbp
nop dword [rax + rax]
cmp r12, 0x10000
mov r13, r12
cmovl r13, rbp
test r14b, r14b
jne 0x140047c50
nop word cs:[rax + rax]
mov ebp, dword [0x141f33288]
or ebp, dword [0x141f3328c]
imul ebp, ebp, 0xefe568d
and ebp, 0xdffff158
add ebp, 0xa2fc43d7
cmp ebp, 0x13a15814
jb 0x140047c70
mov r12, r13
test rax, rax
jne 0x140047c20
xor eax, eax
mov r14, rdi
neg r14
xor ebp, ebp
nop dword [rax + rax]
cmp r15b, 0x2d
mov rdx, rdi
cmove rdx, r14
lea r12, [rdx + rbx]
test bpl, bpl
jne 0x140047cb0
mov rbx, r12
jmp 0x1400477b8
xor eax, eax
jmp 0x140047e85
test r8, r8
je 0x140047e8c
dec r8
nop
mov r11d, dword [0x141f332d8]
or r11d, dword [0x141f332dc]
or r11d, 0x4d5f0052
cmp r11d, 0x21c880ab
je 0x140047ce0
test r8, r8
je 0x140047dc7
inc r9
nop word [rax + rax]
mov r11d, dword [0x141f332e0]
sub r11d, dword [0x141f332e4]
imul r11, r11, 0x7395efff
shr r11, 0x3c
xor r11d, 0x29d17f3e
add r11d, 0xddf7e81a
cmp r11d, 0xfd993ef
ja 0x140047d10
mov r11, r8
nop word cs:[rax + rax]
movzx ebx, byte [r9]
add bl, 0xd0
cmp bl, 9
ja 0x140047dca
dec r11
nop
mov ebp, dword [0x141f332e8]
imul ebp, dword [0x141f332ec]
or ebp, 0x60c0412
and ebp, 0x16bc9d9b
cmp ebp, 0x237ece11
je 0x140047d60
inc r9
lea r10, [r10 + r10*4]
movzx ebx, bl
lea r10, [rbx + r10*2]
nop
cmp r10, rdi
seta bl
mov ebp, dword [0x141f332f0]
sub ebp, dword [0x141f332f4]
imul r14d, ebp, 0x39486ed1
add r14d, 0xdc3bc984
test r11, r11
sete bpl
cmp r14d, 0xde62c3de
ja 0x140047d90
or bl, bpl
je 0x140047d50
jmp 0x140047dca
xor r11d, r11d
sub r11, r8
mov r8, r11
add r8, rdx
mov rbx, r8
nop word cs:[rax + rax]
test rsi, rsi
setg dil
mov edx, dword [0x141f332b0]
sub edx, dword [0x141f332b4]
or edx, 0xb9d7e120
imul rdx, rdx, 0x1edc646d
shr rdx, 0x3a
cmp edx, 0xcb97edc0
je 0x140047de0
mov edx, 0x8e8393bd
nop word cs:[rax + rax]
mov r8d, dword [0x141f332f8]
imul r8d, dword [0x141f332fc]
imul r8, rdx
shr r8, 0x3f
xor r8d, 0x605af50b
imul r8d, r8d, 0xbf8a2ee9
cmp r8d, 0x13d78aa9
je 0x140047e20
mov bpl, 2
test rax, rax
jne 0x140047f0c
mov eax, dword [0x141f33300]
or eax, dword [0x141f33304]
mov qword [rcx], rbx
imul eax, eax, 0xc96b8c9f
add eax, 0x3e252ed6
cmp eax, 0xb2c57cc2
jbe 0x140047ecc
jmp 0x140047f00
mov eax, 1
xor edx, edx
jmp 0x1400477b8
mov eax, dword [0x141f332c8]
xor eax, dword [0x141f332cc]
or eax, 0xaa1051ae
cmp eax, 0xabaf33b9
je 0x140047ec6
mov eax, dword [0x141f332d0]
xor edx, edx
div dword [0x141f332d4]
imul eax, eax, 0x23e2f26e
and eax, 0x97725ba8
ud2
ud2
mov eax, dword [0x141f33308]
sub eax, dword [0x141f3330c]
imul eax, eax, 0x2b46f536
mov edx, 0xaa417481
imul rdx, rax
shr rdx, 0x3f
imul eax, edx, 0x120430c
mov qword [rcx + 8], r10
mov byte [rcx + 0x10], 0
cmp eax, 0x57d87de6
jbe 0x140047f0a
mov qword [rcx + 8], r10
mov byte [rcx + 0x10], 0
jmp 0x140047ecc
mov ebp, edi
mov eax, dword [0x141f33310]
xor eax, dword [0x141f33314]
add eax, 0xba95231c
and eax, 0xc05973fe
xor eax, 0x11e59c1c
cmp eax, 0x280caa78
jae 0x140047f32
mov byte [rcx + 0x11], bpl
mov eax, 0x85a4e18f
nop word [rax + rax]
mov edx, dword [0x141f33318]
and edx, dword [0x141f3331c]
imul edx, edx, 0x8a4a2f38
add edx, 0xf765835c
imul rdx, rax
shr rdx, 0x3f
mov byte [rcx + 0x11], bpl
cmp edx, 0xb954c737
ja 0x140047f40
add rsp, 8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret