Function at 0x180384620
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x20
mov rsi, rcx
mov al, byte [rsi + 0x18]
movzx eax, al
test eax, eax
je 0x1803846ac
jmp 0x180384639
mov ecx, eax
sub ecx, 3
je 0x18038472f
add byte [rax], al
invalid
jmp 0x180384646
sub eax, 4
je 0x180384917
jmp 0x180384651
mov eax, dword [0x18078d0c0]
xor edx, edx
div dword [0x18078d0c4]
sub eax, 0x7c4bae5b
add eax, 0x4d284524
xor eax, 0xc8c71d94
cmp eax, 0xa27b603f
jae 0x180384b53
jmp 0x18038467b
mov eax, dword [0x18078d0c8]
or eax, dword [0x18078d0cc]
mov ecx, 0xe48ef77e
xor edx, edx
div ecx
xor eax, 0x50f57345
xor eax, 0x4a45841a
cmp eax, 0x82adfcef
ja 0x18038467b
add rsp, 0x20
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret
mov r8, qword [rsi]
cmp r8, 0
sete al
test al, 1
jne 0x180384651
jmp 0x1803846bc
mov eax, dword [0x18078d0d0]
add eax, dword [0x18078d0d4]
mov ecx, 0x479ca0f0
xor edx, edx
div ecx
mov ecx, 0xf761c4c4
xor edx, edx
div ecx
or eax, 0x9cb09ee3
cmp eax, 0xc43e322a
ja 0x180384b64
jmp 0x1803846ec
mov eax, dword [0x18078d0d8]
sub eax, dword [0x18078d0dc]
mov ecx, 0xde68c06
xor edx, edx
div ecx
mov ecx, 0x88ccf286
xor edx, edx
div ecx
or eax, 0x7d12be4b
mov rcx, qword [rsi + 8]
cmp eax, 0xb591e11d
je 0x1803846ec
jmp 0x18038471c
mov rdx, r8
mov r8d, 1
call fcn.1804cafa0
jmp 0x180384651
mov eax, dword [0x18078d0e0]
and eax, dword [0x18078d0e4]
mov ecx, 0x8413646f
xor edx, edx
div ecx
imul eax, eax, 0x4408c9a4
or eax, 0xb93e0815
cmp eax, 0xd8032f9
je 0x180384b71
jmp 0x18038475c
mov eax, dword [0x18078d0e8]
imul eax, dword [0x18078d0ec]
or eax, 0xf86e7997
mov ecx, 0xb723419
xor edx, edx
div ecx
sub eax, 0xd9dda297
mov rcx, rsi
add rcx, 0x20
cmp eax, 0xfe228ad9
je 0x18038475c
jmp 0x18038478c
mov eax, dword [0x18078d0f0]
xor edx, edx
div dword [0x18078d0f4]
xor eax, 0x2d1e9663
mov r8d, 0x3adf0447
xor edx, edx
div r8d
xor eax, 0xbb4cf740
cmp eax, 0x9b328a92
jbe 0x180384b82
mov eax, dword [0x18078d0f8]
xor eax, dword [0x18078d0fc]
sub eax, 0xb43ed877
and eax, 0x3363bc9b
mov r8d, 0x7b81be1d
xor edx, edx
div r8d
mov dx, word [rcx]
cmp eax, 0xa4386868
je 0x180384b82
jmp 0x1803847eb
cmp dx, 3
jne 0x180384651
mov eax, dword [0x18078d100]
or eax, dword [0x18078d104]
imul eax, eax, 0x6d0b9184
xor eax, 0x4a9fa658
add eax, 0xa971d8e3
cmp eax, 0xe9ec891f
je 0x180384b93
jmp 0x18038481e
mov eax, dword [0x18078d108]
xor eax, dword [0x18078d10c]
mov ecx, 0x3a3d28f7
xor edx, edx
div ecx
sub eax, 0x73c7e10f
and eax, 0x801e7ce9
mov rdi, qword [rsi + 0x28]
cmp eax, 0x655bb763
jbe 0x18038481e
jmp 0x18038484a
mov rcx, rdi
call fcn.18063b340
test al, 1
jne 0x18038485b
jmp 0x180384651
mov eax, dword [0x18078d110]
or eax, dword [0x18078d114]
mov ecx, 0x2d0070ab
xor edx, edx
div ecx
imul eax, eax, 0xe8709331
imul eax, eax, 0x4bb2ff97
cmp eax, 0x3ff8b51b
jbe 0x180384ba0
jmp 0x180384889
mov eax, dword [0x18078d118]
sub eax, dword [0x18078d11c]
mov ecx, 0xd6003be2
xor edx, edx
div ecx
mov esi, eax
sub esi, 0x564c4140
or esi, 0x1333c935
mov rcx, rdi
call fcn.18063bbe0
cmp esi, 0xdaa864cd
je 0x180384889
jmp 0x1803848be
mov eax, dword [0x18078d120]
xor eax, dword [0x18078d124]
mov ecx, 0x5be303d3
xor edx, edx
div ecx
or eax, 0x2148e0f4
mov ecx, 0xd2e60a52
xor edx, edx
div ecx
cmp eax, 0x82082a3f
je 0x180384bb5
mov eax, dword [0x18078d128]
add eax, dword [0x18078d12c]
sub eax, 0x78a34eac
sub eax, 0x4caa8be2
or eax, 0x2dcf7035
cmp eax, 0xed2f4a09
jb 0x180384bb5
jmp 0x180384651
mov rax, rsi
add rax, 0xb8
mov al, byte [rax]
cmp al, 3
jne 0x180384934
mov rcx, rsi
add rcx, 0x70
call fcn.18038b650
jmp 0x180384934
mov rax, rsi
add rax, 0x28
cmp dword [rax], 0
sete al
test al, 1
jne 0x1803849cb
jmp 0x18038494b
mov rax, rsi
add rax, 0x40
mov rdx, qword [rax]
cmp rdx, 0
sete al
test al, 1
jne 0x1803849cb
jmp 0x180384962
mov rcx, qword [rsi + 0x30]
shl rdx, 5
mov r8d, 4
call fcn.1804cafa0
mov eax, dword [0x18078d130]
add eax, dword [0x18078d134]
and eax, 0xd0a169a2
mov ecx, 0x7ee818f1
xor edx, edx
div ecx
xor eax, 0x2e8b2190
cmp eax, 0x52b175d5
je 0x180384bc6
mov eax, dword [0x18078d138]
or eax, dword [0x18078d13c]
and eax, 0x178001dd
mov ecx, 0xa693b49c
xor edx, edx
div ecx
add eax, 0x7d7f1c2a
cmp eax, 0x522be28f
je 0x180384bc6
jmp 0x1803849cb
add rsi, 0x20
mov rcx, qword [rsi]
cmp rcx, 0
sete al
test al, 1
jne 0x180384651
jmp 0x1803849e3
mov rax, rcx
and rax, 3
lea rdx, [0x1806c4f00]
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
jmp 0x180384651
mov eax, dword [0x18078d140]
or eax, dword [0x18078d144]
sub eax, 0x431c737
imul eax, eax, 0x24e1359
imul eax, eax, 0x3813d220
cmp eax, 0x4f64f91c
jbe 0x180384bd3
jmp 0x180384a29
mov eax, dword [0x18078d148]
and eax, dword [0x18078d14c]
xor eax, 0x1082d79e
or eax, 0x837c1b80
mov r8d, 0xcc892b20
xor edx, edx
div r8d
mov rsi, rcx
add rsi, 0xffffffffffffffff
mov rdi, qword [rcx - 1]
mov rdx, rcx
add rdx, 7
cmp eax, 0x29e90bc4
ja 0x180384a29
jmp 0x180384a65
mov rbx, qword [rdx]
mov r14, qword [rbx]
cmp r14, 0
je 0x180384aca
mov eax, dword [str.U_rz]
or eax, dword [0x18078d154]
add eax, 0x842a3b63
sub eax, 0x60d47e95
or eax, 0x52b4193c
cmp eax, 0x5dfca877
je 0x180384be4
jmp 0x180384a99
mov eax, dword [0x18078d158]
xor edx, edx
div dword [0x18078d15c]
imul eax, eax, 0xe2dd82cc
or eax, 0x344e1f11
imul ebp, eax, 0x52644a88
mov rcx, rdi
call r14
cmp ebp, 0x93a31683
jae 0x180384a99
jmp 0x180384ac8
jmp 0x180384aca
mov eax, dword [0x18078d160]
xor edx, edx
div dword [0x18078d164]
mov ecx, 0x394c6008
xor edx, edx
div ecx
mov ecx, 0x6d39d465
xor edx, edx
div ecx
imul eax, eax, 0xd14ea40e
cmp eax, 0x84c2470
je 0x180384bf7
mov eax, dword [0x18078d168]
sub eax, dword [0x18078d16c]
or eax, 0x6ee6b475
or eax, 0x9d4ae953
or eax, 0x5f154b46
cmp eax, 0x75293822
jbe 0x180384bf7
sub dword [rbp + 0xf], esi
xchg dh, dl
add byte [rax], al
add bl, ch
add byte [rax - 0x75], cl
push rbx
or byte [rbx + rcx*4 + 0x43], cl
adc byte [rax - 0x7d], cl
cli
add byte [rdx + rcx + 0x48], dh
mov ecx, edi
jmp 0x180384b23
mov rdx, qword [rbx + 8]
mov r8, qword [rbx + 0x10]
cmp rdx, 0
je 0x180384b3b
mov rcx, rdi
call fcn.1804cafa0
jmp 0x180384b3b
mov rcx, rsi
mov edx, 0x18
mov r8d, 8
call fcn.1804cafa0
jmp 0x180384651
mov esi, 0x3e0e7c28
jmp 0x180384b9e
adc eax, 0xaae843e7
or al, 0x87
fucomp st(1)
jns 0x180384b6a
call 0x15dbf5816
xchg ebp, ebx
jmp 0x1803846ea
invalid
jnp 0x180384b19
jl 0x180384b79
push 0xfffffffff2b39268
xchg edx, eax
xchg edx, eax
mov ecx, 0xfbd8e9a1
invalid
sub eax, ebx
invalid
invalid
invalid
out 0x43, eax
jge 0x180384b67
invalid
imul eax, dword [rdi], 0x6a
push rsp
movsd dword [rdi], dword [rsi]
mov byte [rdx + 0x14], ch
int 0x37
or byte [rsi], bl
jmp 0x1803848ec
int1
invalid
invalid
xor byte [rbx + 0x3848a9e3], ah
invalid
invalid