Function at 0x180347a20
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x20
mov rsi, rcx
mov rax, rsi
add rax, 0xd9
mov ecx, dword [0x180786db0]
imul ecx, dword [0x180786db4]
and ecx, 0xa4a83714
add ecx, 0xa3685ed
sub ecx, 0xc609fe9d
cmp ecx, 0xca31ac0a
ja 0x180348191
mov edx, dword [0x180786db8]
sub edx, dword [str._9T]
sub edx, 0xd0134921
or edx, 0x8c92970b
add edx, 0xdcf312a6
movzx ecx, byte [rax]
cmp edx, 0xc71487d2
je 0x180348191
jmp 0x180347a90
test ecx, ecx
je 0x180347afd
jmp 0x180347a96
sub ecx, 3
je 0x180347c98
jmp 0x180347aa1
mov eax, dword [0x180786dc0]
or eax, dword [0x180786dc4]
sub eax, 0xc2ff14
or eax, 0xeab214ad
mov ecx, 0xdceaf334
xor edx, edx
div ecx
cmp eax, 0x170c5200
jae 0x1803481a2
jmp 0x180347acd
mov eax, dword [0x180786dc8]
imul eax, dword [0x180786dcc]
imul eax, eax, 0xab6b7605
or eax, 0x3f999f15
imul eax, eax, 0x120053bd
cmp eax, 0x9037c82e
je 0x180347acd
add rsp, 0x20
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret
mov rdi, qword [rsi]
cmp rdi, 0
je 0x180347bc1
mov rbx, rsi
add rbx, 8
mov eax, dword [0x180786dd0]
xor eax, dword [0x180786dd4]
sub eax, 0x2e405819
xor eax, 0x1e76b117
sub eax, 0x646948f3
cmp eax, 0x48c528e9
jb 0x1803481b3
jmp 0x180347b39
mov ebp, dword [0x180786dd8]
add ebp, dword [0x180786ddc]
and ebp, 0xcf18622e
add ebp, 0xee2f2f4e
add ebp, 0x2e36ad93
mov rcx, qword [rbx]
mov rdx, rdi
mov r8d, 1
call fcn.1804cafa0
cmp ebp, 0x633694de
je 0x180347b39
jmp 0x180347b72
mov eax, dword [0x180786de0]
xor edx, edx
div dword [0x180786de4]
sub eax, 0xf2f0194
and eax, 0x45e54a78
and eax, 0x7e48c020
cmp eax, 0x3bb65437
jbe 0x1803481d1
jmp 0x180347b9c
mov eax, dword [0x180786de8]
and eax, dword [0x180786dec]
or eax, 0xf39d02c7
imul eax, eax, 0x55257fda
xor eax, 0xa1ad14ab
cmp eax, 0x40b8403d
ja 0x180347b9c
jmp 0x180347bc1
mov r9, rsi
add r9, 0x18
mov eax, dword [0x180786df0]
and eax, dword [0x180786df4]
sub eax, 0x5a395d5f
imul eax, eax, 0xf06a00e3
or eax, 0x82184183
cmp eax, 0x1a8af4d1
jb 0x1803481de
jmp 0x180347bf1
mov eax, dword [0x180786df8]
or eax, dword [0x180786dfc]
and eax, 0x1e17dbc1
imul eax, eax, 0xdd664752
mov ecx, 0x2dd1dc74
xor edx, edx
div ecx
mov r8, qword [r9]
cmp r8, 0
sete cl
cmp eax, 0xffcc8ae9
je 0x180347bf1
jmp 0x180347c24
mov eax, dword [0x180786e00]
or eax, dword [0x180786e04]
and eax, 0xcab402e8
add eax, 0xfaec439c
and eax, 0xef1996b2
cmp eax, 0x9711947e
jae 0x1803481eb
mov eax, dword [0x180786e08]
add eax, dword [0x180786e0c]
add eax, 0xb9854b68
or eax, 0xf5a97f3a
mov r9d, 0xfebc62f
xor edx, edx
div r9d
cmp eax, 0x3ee4cceb
jae 0x1803481eb
test cl, 1
jne 0x180347aa1
jmp 0x180347c81
mov rcx, qword [rsi + 0x20]
mov rdx, r8
mov r8d, 1
call fcn.1804cafa0
jmp 0x180347aa1
mov al, byte [rsi + 0xd0]
cmp al, 0
sete al
test al, 1
jne 0x180347cac
jmp 0x180347ddc
mov eax, dword [0x180786e10]
imul eax, dword [0x180786e14]
sub eax, 0x38f93fc5
imul eax, eax, 0xe188e768
and eax, 0xd24d8d79
cmp eax, 0xa8f40ff2
je 0x1803481fc
mov ecx, dword [0x180786e18]
imul ecx, dword [0x180786e1c]
add ecx, 0xb9039cb2
add ecx, 0xfa0588ce
and ecx, 0xbbf5a7ef
mov rax, rsi
add rax, 0xb0
cmp ecx, 0x6684b7ea
jae 0x1803481fc
jmp 0x180347d0a
mov r8, qword [rax]
cmp r8, 0
sete cl
mov eax, dword [0x180786e20]
sub eax, dword [0x180786e24]
mov r9d, 0x58fd76ce
xor edx, edx
div r9d
and eax, 0xaf958231
xor eax, 0x19d282fb
cmp eax, 0xa83fa8bd
ja 0x180348209
mov eax, dword [0x180786e28]
xor edx, edx
div dword [0x180786e2c]
xor eax, 0x38822afc
add eax, 0x76eb7250
imul eax, eax, 0x231ea19e
cmp eax, 0x3900b958
ja 0x180348209
test cl, 1
jne 0x180347ddc
jmp 0x180347d70
mov eax, dword [0x180786e30]
imul eax, dword [0x180786e34]
add eax, 0xc2be7db4
add eax, 0x5f3fa68b
add eax, 0xc76bb50f
cmp eax, 0x6c2e1898
je 0x180348216
mov eax, dword [0x180786e38]
xor edx, edx
div dword [0x180786e3c]
or eax, 0xb57a2b6b
xor eax, 0xf3a148b0
and eax, 0x47c798a4
mov rcx, rsi
add rcx, 0xb8
cmp eax, 0x365f4fa8
jbe 0x180348216
jmp 0x180347dcb
mov rcx, qword [rcx]
mov rdx, r8
mov r8d, 1
call fcn.1804cafa0
mov eax, dword [0x180786e40]
or eax, dword [0x180786e44]
add eax, 0x778c8b0e
mov ecx, 0x71f378cf
xor edx, edx
div ecx
and eax, 0xba83ce0
cmp eax, 0x77784f09
jae 0x180348227
jmp 0x180347e08
mov eax, dword [0x180786e48]
xor eax, dword [0x180786e4c]
or eax, 0x6bdd2b87
mov ecx, 0x7c7cd3a
xor edx, edx
div ecx
add eax, 0x620afd35
mov rcx, rsi
add rcx, 0x90
cmp eax, 0xd5fb1aca
je 0x180347e08
jmp 0x180347e3a
mov rdx, qword [rcx]
cmp rdx, 0
sete al
test al, 1
jne 0x180347e61
jmp 0x180347e4a
mov rax, rsi
add rax, 0x98
mov rcx, qword [rax]
mov r8d, 1
call fcn.1804cafa0
mov eax, dword [0x180786e50]
add eax, dword [0x180786e54]
xor eax, 0x5222f943
and eax, 0x76f0cdf6
or eax, 0x1662fc34
cmp eax, 0x5f23dca5
jb 0x180348238
mov eax, dword [0x180786e58]
xor eax, dword [0x180786e5c]
and eax, 0xafb3ff1a
xor eax, 0x530a2494
xor eax, 0x41a777e4
mov r14, rsi
add r14, 0xdc
cmp eax, 0x3421f49c
jb 0x180348238
jmp 0x180347eb9
mov al, byte [r14]
cmp al, 0
jne 0x180347f31
mov rbx, rsi
add rbx, 0xdb
cmp byte [rbx], 0
sete al
mov ecx, dword [0x180786e60]
sub ecx, dword [0x180786e64]
or ecx, 0x5743590b
sub ecx, 0xef94ed72
and ecx, 0x33099fa4
cmp ecx, 0xeb569a7b
jae 0x180348249
mov ecx, dword [0x180786e68]
or ecx, dword [0x180786e6c]
add ecx, 0x69ee4ab3
add ecx, 0x42a56e3c
sub ecx, 0xe0d66fad
cmp ecx, 0xf44f76da
je 0x180348249
test al, 1
jne 0x18034805e
jmp 0x18034806a
mov rdi, qword [rsi + 0x40]
mov eax, dword [0x180786e70]
imul eax, dword [0x180786e74]
sub eax, 0x7524dff3
imul eax, eax, 0x394532b4
and eax, 0xdacc46fb
cmp eax, 0xe4d84a7c
jae 0x18034825a
mov eax, dword [0x180786e78]
xor edx, edx
div dword [0x180786e7c]
add eax, 0x592304ba
xor eax, 0xfdb21e73
xor eax, 0x65c55226
cmp rdi, 0
sete cl
cmp eax, 0xb13ad971
jb 0x18034825a
jmp 0x180347f8e
test cl, 1
jne 0x180347ec0
jmp 0x180347f99
mov rbx, qword [rsi + 0x48]
mov eax, dword [str._0F_r]
xor eax, dword [0x180786e84]
and eax, 0xda817ff
and eax, 0x5f5ff666
or eax, 0x6fe89342
cmp eax, 0xc02dbedf
ja 0x180348267
mov eax, dword [0x180786e88]
imul eax, dword [0x180786e8c]
or eax, 0x2c98d87d
mov ecx, 0x72a8bb57
xor edx, edx
div ecx
mov ebp, eax
xor ebp, 0xa78eb04
mov rcx, rbx
mov rdx, rdi
mov r8d, 1
call fcn.1804cafa0
cmp ebp, 0xda29d0
je 0x180348267
jmp 0x180348005
mov eax, dword [0x180786e90]
add eax, dword [0x180786e94]
xor eax, 0x5cc211f7
imul eax, eax, 0x6fe7167b
imul eax, eax, 0x8dac1b6f
cmp eax, 0xb0ca5e53
ja 0x180348285
mov eax, dword [0x180786e98]
xor edx, edx
div dword [0x180786e9c]
mov ecx, 0x2a013422
xor edx, edx
div ecx
and eax, 0x9553819d
and eax, 0xb9afc4e3
cmp eax, 0x39afdde8
jae 0x180348285
jmp 0x180347ec0
mov byte [rbx], 0
mov byte [r14], 0
jmp 0x180347aa1
mov eax, dword [0x180786ea0]
xor eax, dword [0x180786ea4]
mov ecx, 0xa2132280
xor edx, edx
div ecx
xor eax, 0x1aed8df1
sub eax, 0xb547cfef
cmp eax, 0x86db3f3a
ja 0x180348292
jmp 0x180348096
mov eax, dword [0x180786ea8]
imul eax, dword [0x180786eac]
sub eax, 0x405ebfea
add eax, 0x5f476648
imul ecx, eax, 0x6b837eb2
mov rax, rsi
add rax, 0x58
cmp ecx, 0x6b0c058c
ja 0x180348096
jmp 0x1803480c4
mov rdi, qword [rax]
cmp rdi, 0
sete al
test al, 1
jne 0x18034805e
jmp 0x1803480d4
mov rsi, qword [rsi + 0x60]
mov eax, dword [0x180786eb0]
imul eax, dword [0x180786eb4]
mov ecx, 0xa14c8a6c
xor edx, edx
div ecx
imul eax, eax, 0x8bd557eb
imul eax, eax, 0xaeb0f18d
cmp eax, 0x6d540b71
jae 0x1803482a3
jmp 0x180348107
mov ebp, dword [0x180786eb8]
xor ebp, dword [0x180786ebc]
sub ebp, 0x3ad7adbb
or ebp, 0xb5122c48
add ebp, 0xbb2fb770
mov rcx, rsi
mov rdx, rdi
mov r8d, 1
call fcn.1804cafa0
cmp ebp, 0x43b04fd7
jbe 0x180348107
jmp 0x180348140
mov eax, dword [0x180786ec0]
and eax, dword [0x180786ec4]
sub eax, 0xdb1bbb3b
or eax, 0x4797d56
xor eax, 0x40bb4979
cmp eax, 0x3adc6d26
je 0x1803482c1
mov eax, dword [0x180786ec8]
add eax, dword [0x180786ecc]
or eax, 0x5170eb1
xor eax, 0x8d886015
add eax, 0x3f3a25c1
cmp eax, 0xf00f198e
ja 0x1803482c1
jmp 0x18034805e
cmp byte [rdx], bl
adc edi, ebp
invalid
fisttp word [0x1206abf12]
invalid
or dword [rsi + 0x23], 0xffffffe5
or al, 0xc0
imul ecx, dword [rax - 0x75], 0xb
mov rdx, rdi
mov r8d, 1
call fcn.1804cafa0
jmp 0x180347b37
sub eax, 0xbfede2f7
add byte [rbx], r11b
jmp 0x180347b9a
lodsd eax, dword [rsi]
wait
cmpsd dword [rsi], dword [rdi]
sbb byte [rdx], dl
invalid
push qword [rbx - 3]
jae 0x1803481ea
lahf
movsb byte [rdi], byte [rsi]
jl 0x180348201
and eax, 0xe95c16ec
cli
invalid
invalid
push rbp
invalid
mov eax, 0xf42b4a5f
hlt
add eax, 0x78fb80dc
sal byte [rbx + rax*2], 1
test byte [rax - 0x1d], cl
sub cl, ch
jo 0x180348220
jrcxz 0x18034824a
jmp 0x180347d97
invalid
mov byte [rdx + riz*4 + 0x5a], cl
cmp al, byte [rax - 0x31]
sbb al, 0xbd
or ecx, edx
invalid
jge 0x180348248
out 0xad, al
sub esp, dword [rsi]
jrcxz 0x180348286
or eax, 0xe9de5b54
cld
invalid
call rsp
invalid
cmpsd dword [rsi], dword [rdi]
and al, byte [rdx]
xlatb
invalid
xor al, 0x1b
adc byte [rbp + 0x65], ah
pop rbx
movabs al, byte [0xf5b1fffffcf6e908]
mov cl, 0xf5
in eax, dx
push rdi
cmpsd dword [rsi], dword [rdi]
sub eax, 0x89482fc1
invalid
cmp dl, bh
xlatb
cmpsb byte [rsi], byte [rdi]
invalid
cmc
out 0xf, eax
push rdi
sbb esi, ecx
adc ch, al
add dh, byte [rbx]
and byte [rax - 0x20e17], cl
call [rcx + rdi*4 - 0x12]
pop rcx
enter 0x3b6f, 0xffffffffffffffe5
pop rsp
mov ecx, 0x6fc859ee
cmp esp, ebp
mov rcx, rsi
mov rdx, rdi
mov r8d, 1
call fcn.1804cafa0
jmp 0x180348105
movabs eax, dword [0xe942d7e371e39006]
cwde
invalid