Function at 0x1802382a0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x78
lea rbp, [rsp + 0x70]
mov r15, rcx
mov qword [rbp - 8], r8
mov eax, 0x20
call fcn.18045a590
sub rsp, rax
mov rsi, rsp
mov eax, 0x20
call fcn.18045a590
sub rsp, rax
mov r14, rsp
mov rbx, qword [rdx]
mov r12, qword [rdx + 8]
sub rsp, 0x20
mov ecx, 2
call fcn.180411b80
add rsp, 0x20
cmp rbx, 0
setne cl
cmp r12, 0
setne cl
mov r9, r12
add r9, 0x18
and eax, 1
mov cl, byte [rbx]
cmp eax, 0
je 0x180238382
jmp 0x18023839c
mov eax, dword [str.j_]
and eax, dword [0x18051e61c]
or eax, 0x8c0fc159
xor eax, 0x323a94cc
imul eax, eax, 0xd92503de
cmp eax, 0x4f735c1e
jae 0x180238aa7
mov eax, dword [0x18051e620]
imul eax, dword [0x18051e624]
sub eax, 0x8a784102
imul eax, eax, 0x90240bef
and eax, 0xdedad6c5
mov qword [r15], 2
cmp eax, 0xda5d2b99
jae 0x180238aa7
jmp 0x180238371
jmp 0x180238a93
mov qword [r15], 3
jmp 0x180238a93
mov qword [rbp - 0x20], rsi
mov al, cl
and al, 1
cmp al, 0
setne r13b
test r13b, 1
jne 0x1802385e5
jmp 0x1802383b5
mov al, cl
and al, 2
cmp al, 0
setne r13b
test r13b, 1
jne 0x180238764
jmp 0x1802388f5
mov byte [rbp + 7], r13b
mov qword [rbp - 0x28], r9
mov qword [rbp - 0x10], rbx
mov qword [rbp - 0x18], r15
mov rdx, qword [r12 + 8]
mov rdi, r12
add rdi, 0x10
mov eax, dword [0x18051e628]
add eax, dword [0x18051e62c]
xor eax, 0x443b5ec
sub eax, 0xbfd8db6c
imul eax, eax, 0x7d184b0f
cmp eax, 0x8d0a42d2
mov r13, rdx
ja 0x180238abf
mov r15d, dword [0x18051e630]
sub r15d, dword [0x18051e634]
add r15d, 0xcafaeba1
and r15d, 0x4f3f1cc6
or r15d, 0x16821d21
mov rax, qword [rdi]
mov qword [r14], rdx
mov rsi, r14
add rsi, 8
mov qword [r14 + 8], rax
mov rbx, r14
add rbx, 0x10
mov qword [r14 + 0x10], 0
mov qword [r14 + 0x18], rax
mov rcx, qword [r12]
sub rsp, 0x20
mov rdx, qword [rbp - 8]
mov r8, r14
call fcn.180407920
add rsp, 0x20
mov rcx, rdx
mov rdx, r13
cmp r15d, 0x53f34d4d
jb 0x180238abf
jmp 0x18023846f
cmp rax, 0
mov r13b, byte [rbp + 7]
jne 0x18023855f
cmp rcx, 0
sete al
mov r15, qword [rbp - 0x18]
test al, 1
jne 0x18023848e
jmp 0x18023850a
mov rcx, qword [rbx]
mov rax, qword [rsi]
cmp rcx, rax
seta al
test al, 1
mov rbx, qword [rbp - 0x10]
jne 0x180238506
jmp 0x1802384a4
mov eax, dword [0x18051e638]
xor edx, edx
div dword [0x18051e63c]
imul eax, eax, 0x57ce4a1
add eax, 0xdf4ebbdf
xor eax, 0x20189afa
cmp eax, 0x81f0c13
jb 0x180238afd
jmp 0x1802384cf
mov eax, dword [0x18051e640]
add eax, dword [0x18051e644]
add eax, 0xe91916b9
mov r8d, 0x9430ea0c
xor edx, edx
div r8d
mov r8d, 0xfb32339b
xor edx, edx
div r8d
cmp eax, 0xeaab0593
je 0x1802384cf
jmp 0x1802384ff
xor eax, eax
jmp 0x1802385ca
ud2
mov eax, dword [0x18051e648]
add eax, dword [0x18051e64c]
add eax, 0xff581006
xor eax, 0xebda6673
xor eax, 0x6080f9f9
cmp eax, 0xa042700d
mov rbx, qword [rbp - 0x10]
ja 0x180238b0a
jmp 0x180238536
mov eax, dword [0x18051e650]
and eax, dword [0x18051e654]
or eax, 0xb1b88735
add eax, 0x3b20657
sub eax, 0xded6d179
cmp eax, 0xf4f56557
ja 0x180238536
mov eax, 1
jmp 0x1802385ca
mov eax, dword [0x18051e658]
add eax, dword [0x18051e65c]
mov ecx, 0x25be47e9
xor edx, edx
div ecx
add eax, 0xa173e361
imul eax, eax, 0xe9ad015f
cmp eax, 0xae3aa5ba
mov r15, qword [rbp - 0x18]
mov r9, qword [rbp - 0x28]
ja 0x180238b1b
mov eax, dword [0x18051e660]
add eax, dword [0x18051e664]
mov ecx, 0x4daf2def
xor edx, edx
div ecx
mov ecx, 0xcdb27377
xor edx, edx
div ecx
add eax, 0x88819383
cmp eax, 0x519615
je 0x180238b1b
mov rbx, qword [rbp - 0x10]
jmp 0x1802385c6
mov cl, byte [rbx]
jmp 0x1802385e5
mov dl, byte [rbx]
or dl, 1
mov byte [rbx], dl
mov qword [r15], 0
mov qword [r15 + 8], rax
mov qword [r15 + 0x10], rcx
jmp 0x180238a93
and cl, 2
cmp cl, 0
jne 0x1802388e6
mov rax, qword [r12 + 0x20]
mov rcx, qword [r12 + 0x28]
mov r8, qword [rbp - 0x20]
mov qword [r8], rax
mov rsi, r8
add rsi, 8
mov qword [r8 + 8], rcx
mov rdi, r8
add rdi, 0x10
mov qword [r8 + 0x10], 0
mov qword [r8 + 0x18], rcx
mov rcx, qword [r9]
sub rsp, 0x20
mov rdx, qword [rbp - 8]
call fcn.180407920
add rsp, 0x20
mov rcx, rdx
cmp rax, 0
je 0x180238642
jmp 0x180238376
cmp rcx, 0
sete al
mov edx, dword [0x18051e668]
or edx, dword [0x18051e66c]
or edx, 0x96cfebc9
or edx, 0xb69d3cef
add edx, 0xf9d21306
cmp edx, 0x4bac6c5e
jb 0x180238b2c
mov edx, dword [0x18051e670]
or edx, dword [0x18051e674]
imul edx, edx, 0x561fe7a9
imul edx, edx, 0x4e269a0b
or edx, 0xb1f8eb43
cmp edx, 0x9d893106
jbe 0x180238b2c
test al, 1
jne 0x1802386a3
jmp 0x180238708
mov rcx, qword [rdi]
mov rax, qword [rsi]
cmp rcx, rax
ja 0x1802386b5
xor eax, eax
jmp 0x180238a7d
ud2
mov eax, dword [0x18051e688]
add eax, dword [0x18051e68c]
add eax, 0x88360867
add eax, 0x28a6f89f
sub eax, 0x48f6331f
cmp eax, 0xad1db0f4
jae 0x180238b4a
mov eax, dword [0x18051e690]
and eax, dword [0x18051e694]
mov r8d, 0xcb869e73
xor edx, edx
div r8d
and eax, 0x52bbbae0
xor eax, 0x4ceb2198
cmp eax, 0xe2496ee1
je 0x180238b4a
mov eax, 1
jmp 0x180238a7d
and cl, 1
cmp cl, 0
jne 0x1802388e6
mov eax, dword [0x18051e698]
xor edx, edx
div dword [0x18051e69c]
add eax, 0x854dbdb2
mov ecx, 0x87ea2f83
xor edx, edx
div ecx
imul eax, eax, 0x9dd85dc1
cmp eax, 0xf12c2f4c
jae 0x180238b57
mov eax, dword [0x18051e6a0]
sub eax, dword [0x18051e6a4]
and eax, 0x9b0148f
add eax, 0x7bb19bf4
xor eax, 0x293c00d5
mov rcx, qword [r12 + 8]
cmp eax, 0x4da22a39
jb 0x180238b57
mov rdx, qword [rbp - 8]
jmp 0x1802387ce
mov rax, qword [r12 + 0x10]
mov qword [rbp - 0x48], rcx
lea rsi, [rbp - 0x48]
add rsi, 8
mov qword [rbp - 0x40], rax
lea rdi, [rbp - 0x48]
add rdi, 0x10
mov qword [rdi], 0
mov qword [rbp - 0x30], rax
mov rcx, qword [r12]
lea r8, [rbp - 0x48]
sub rsp, 0x20
call fcn.180407920
add rsp, 0x20
mov rcx, rdx
cmp rax, 0
je 0x180238819
jmp 0x180238376
cmp rcx, 0
sete al
test al, 1
jne 0x180238826
jmp 0x180238889
mov rcx, qword [rdi]
mov rax, qword [rsi]
cmp rcx, rax
ja 0x180238885
mov eax, dword [0x18051e6a8]
sub eax, dword [str._v:_]
or eax, 0x88fa53a4
and eax, 0x56696199
add eax, 0x2b3f210
cmp eax, 0x22753bf8
je 0x180238b68
jmp 0x180238859
mov eax, dword [0x18051e6b0]
imul eax, dword [0x18051e6b4]
sub eax, 0x67b04ff3
sub eax, 0xa87ca201
and eax, 0x491dce3
cmp eax, 0x4d64eb35
je 0x180238859
jmp 0x18023887e
xor eax, eax
jmp 0x1802385ca
ud2
mov eax, dword [0x18051e6b8]
sub eax, dword [0x18051e6bc]
imul eax, eax, 0xa011d20f
and eax, 0x90a5c7f1
and eax, 0x5f094db4
cmp eax, 0x4a187430
je 0x180238b79
jmp 0x1802388b2
mov eax, dword [0x18051e6c0]
and eax, dword [0x18051e6c4]
add eax, 0x3228464c
mov r8d, 0xf0e33502
xor edx, edx
div r8d
xor eax, 0x2c3b9491
cmp eax, 0xac61b2c
jb 0x1802388b2
jmp 0x1802388dc
mov eax, 1
jmp 0x1802385ca
test r13b, 1
jne 0x180238319
jmp 0x180238376
mov eax, dword [0x18051e6c8]
or eax, dword [str.CC]
xor eax, 0xeb56a376
sub eax, 0xe2100292
xor eax, 0xfd1e2547
cmp eax, 0x7ca2325a
je 0x180238b8a
mov eax, dword [0x18051e6d0]
and eax, dword [0x18051e6d4]
add eax, 0x5246c01e
mov ecx, 0x17f60d14
xor edx, edx
div ecx
add eax, 0x723abc56
mov rcx, qword [r12 + 0x20]
cmp eax, 0x4568653e
jb 0x180238b8a
mov rsi, rbx
jmp 0x18023894f
mov rax, qword [r12 + 0x28]
mov qword [rbp - 0x68], rcx
lea rbx, [rbp - 0x68]
add rbx, 8
mov qword [rbp - 0x60], rax
lea rdi, [rbp - 0x68]
add rdi, 0x10
mov qword [rdi], 0
mov qword [rbp - 0x50], rax
mov rcx, qword [r9]
lea r8, [rbp - 0x68]
sub rsp, 0x20
mov rdx, qword [rbp - 8]
call fcn.180407920
add rsp, 0x20
mov rcx, rdx
cmp rax, 0
jne 0x180238a73
mov eax, dword [0x18051e6d8]
add eax, dword [0x18051e6dc]
and eax, 0x528ebcac
imul eax, eax, 0x77f1a68
add eax, 0xf59618db
cmp eax, 0xcab6d21a
je 0x180238b97
jmp 0x1802389c5
mov edx, dword [0x18051e6e0]
sub edx, dword [0x18051e6e4]
sub edx, 0x8d0c3206
xor edx, 0x1eba5ae3
and edx, 0x4c5ee42b
cmp rcx, 0
sete al
cmp edx, 0x4e02b3a6
je 0x1802389c5
jmp 0x1802389f4
test al, 1
jne 0x1802389fa
jmp 0x180238a69
mov rcx, qword [rdi]
mov rax, qword [rbx]
cmp rcx, rax
mov rbx, rsi
ja 0x180238a0c
xor eax, eax
jmp 0x180238a7d
ud2
mov eax, 1
mov rbx, rsi
jmp 0x180238a7d
mov rbx, rsi
mov cl, byte [rbx]
jmp 0x180238764
mov dl, byte [rbx]
or dl, 2
mov byte [rbx], dl
mov qword [r15], 1
mov qword [r15 + 8], rax
mov qword [r15 + 0x10], rcx
mov rax, r15
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
push rcx
invalid
lahf
or cl, dl
fdivr st(2), st(0)
rol byte [rbx + 0x78b48b6], cl
mov qword [r14], rdx
mov qword [r14 + 8], rax
mov qword [r14 + 0x10], 0
mov qword [r14 + 0x18], rax
mov rcx, qword [r12]
sub rsp, 0x20
mov rdx, qword [rbp - 8]
mov r8, r14
call fcn.180407920
add rsp, 0x20
mov rdx, r13
and byte [rcx + rcx*4 - 0x16], cl
jmp 0x1802383fb
sbb al, 0x4b
and ecx, dword [rsi]
retf
pop rdx
in al, 0x58
fld xword [rax - 0x7ee742d3]
mov eax, edi
mov cl, ch
sbb edx, edi
invalid
retf 0x2f9b
cli
lodsb al, byte [rsi]
or eax, 0x403e3576
jmp 0x180238673
and al, 0xa1
jge 0x180238af4
insd dword [rdi], dx
pop rsi
jmp 0x18023872e
pop rbx
add al, 0x9b
mov bl, 0x10
cmp eax, 0xe7e2e250
adc byte [0x168066db1], bh
js 0x180238b00
jmp 0x18023879d
mov ebp, 0xecebef82
cmp esp, ebp
invalid
invalid
cmp eax, 0x8efd0486
pop rdx
jb 0x180238b85
je 0x180238b69
jnp 0x180238b5b
jmp 0x1802388b0
movabs byte [0xe9516140c72dc1d8], al
test ch, bh
invalid
mov dword ss:[rax - 0x79], ebp
xchg edi, eax
invalid