Function at 0x180383b00
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x20
mov rsi, rcx
mov rax, rsi
add rax, 0x50
mov r8, qword [rax]
cmp r8, 0
sete al
test al, 1
jne 0x180383b96
jmp 0x180383b28
mov eax, dword [0x18078cf80]
imul eax, dword [0x18078cf84]
add eax, 0xae1437a
imul eax, eax, 0xa84bb29f
add eax, 0x489b53c6
cmp eax, 0xd6452f2e
je 0x180383fbd
jmp 0x180383b52
mov eax, dword [0x18078cf88]
and eax, dword [0x18078cf8c]
mov ecx, 0x698d6763
xor edx, edx
div ecx
and eax, 0x1442aa82
and eax, 0x7923bda1
mov rcx, rsi
add rcx, 0x48
cmp eax, 0x9b07eeb7
je 0x180383b52
jmp 0x180383b81
mov rcx, qword [rcx]
shl r8, 2
mov rdx, r8
mov r8d, 2
call fcn.1804cafa0
mov rbx, rsi
add rbx, 0x18
mov rdi, qword [rsi + 0x20]
mov r14, qword [rsi + 0x28]
mov eax, dword [0x18078cf90]
sub eax, dword [0x18078cf94]
or eax, 0xb0bc835b
xor eax, 0xf6c98cc8
or eax, 0x66153bb2
cmp eax, 0x9722111b
jae 0x180383fce
mov eax, dword [str.N]
sub eax, dword [0x18078cf9c]
imul ecx, eax, 0xbfa38af8
or ecx, 0x166a2503
add ecx, 0xdddb5d58
cmp r14, 0
sete al
cmp ecx, 0xe81dbc24
ja 0x180383fce
test al, 1
jne 0x180383c62
jmp 0x180383c02
xor r15d, r15d
jmp 0x180383c07
imul rax, r15, 0x68
mov r12, rdi
add r12, rax
add r15, 1
mov rax, qword [r12 + 0x40]
cmp rax, 0
je 0x180383c39
mov rax, qword [rax + 0x20]
mov rcx, r12
add rcx, 0x58
mov rdx, qword [r12 + 0x48]
mov r8, qword [r12 + 0x50]
call rax
jmp 0x180383c39
mov rax, qword [r12 + 0x18]
add rax, 0x20
mov rax, qword [rax]
mov rcx, r12
add rcx, 0x30
mov rdx, qword [r12 + 0x20]
add r12, 0x28
mov r8, qword [r12]
call rax
cmp r15, r14
jne 0x180383c07
jmp 0x180383c62
mov rax, qword [rbx]
cmp rax, 0
je 0x180383cd4
imul rbx, rax, 0x68
mov eax, dword [0x18078cfa0]
add eax, dword [0x18078cfa4]
add eax, 0x4f27b2f6
sub eax, 0x4b711905
xor eax, 0xbf006d0b
cmp eax, 0x43e19548
jae 0x180383fdb
mov eax, dword [0x18078cfa8]
and eax, dword [0x18078cfac]
imul ebp, eax, 0x99a85b9a
sub ebp, 0xe33f9338
and ebp, 0x12636dee
mov rcx, rdi
mov rdx, rbx
mov r8d, 8
call fcn.1804cafa0
cmp ebp, 0x865efd8
jbe 0x180383fdb
jmp 0x180383cd2
jmp 0x180383cd4
mov rbx, rsi
add rbx, 0x30
mov rax, rsi
add rax, 0x38
mov rdi, qword [rax]
mov eax, dword [0x18078cfb0]
xor eax, dword [0x18078cfb4]
or eax, 0x2270b9a7
mov ecx, 0x43a75b74
xor edx, edx
div ecx
xor eax, 0xe729b499
cmp eax, 0xc348cbe
jb 0x180383ffd
jmp 0x180383d11
mov eax, dword [0x18078cfb8]
and eax, dword [0x18078cfbc]
xor eax, 0x877d51f6
mov ecx, 0x9ed4c20f
xor edx, edx
div ecx
add eax, 0x4c00779d
mov r14, qword [rsi + 0x40]
cmp r14, 0
sete cl
cmp eax, 0x58fa96b8
je 0x180383d11
test cl, 1
jne 0x180383d7c
jmp 0x180383d49
xor r15d, r15d
jmp 0x180383d4e
imul rax, r15, 0x48
mov r8, rdi
add r8, rax
add r15, 1
mov rax, qword [r8 + 0x20]
mov rax, qword [rax + 0x20]
mov rcx, r8
add rcx, 0x38
mov rdx, qword [r8 + 0x28]
mov r8, qword [r8 + 0x30]
call rax
cmp r15, r14
jne 0x180383d4e
jmp 0x180383d7c
mov rax, qword [rbx]
cmp rax, 0
sete cl
test cl, 1
jne 0x180383df6
jmp 0x180383d8d
imul rdx, rax, 0x48
mov rcx, rdi
mov r8d, 8
call fcn.1804cafa0
mov eax, dword [0x18078cfc0]
or eax, dword [0x18078cfc4]
mov ecx, 0x921273da
xor edx, edx
div ecx
add eax, 0xfe173d47
and eax, 0x11c5e70
cmp eax, 0x8f536fe9
ja 0x18038400e
mov eax, dword [0x18078cfc8]
imul eax, dword [0x18078cfcc]
xor eax, 0x16c16153
mov ecx, 0xb1f80e2a
xor edx, edx
div ecx
or eax, 0x174bd90
cmp eax, 0xac488a90
je 0x18038400e
jmp 0x180383df6
mov r8, rsi
add r8, 0x60
mov eax, dword [0x18078cfd0]
or eax, dword [0x18078cfd4]
add eax, 0x5aee5a7b
sub eax, 0xe534ad6b
and eax, 0x52f9eb89
cmp eax, 0x201de440
je 0x18038401b
mov eax, dword [0x18078cfd8]
imul eax, dword [0x18078cfdc]
mov ecx, 0x65664777
xor edx, edx
div ecx
and eax, 0xff90de32
sub eax, 0x5dfba8d7
mov rdi, qword [r8]
cmp rdi, 0
sete cl
cmp eax, 0x171cbba6
jb 0x18038401b
jmp 0x180383e5a
mov eax, dword [0x18078cfe0]
and eax, dword [0x18078cfe4]
sub eax, 0x5c3d5499
and eax, 0xf3950c29
add eax, 0xd0890f91
cmp eax, 0xb9e06882
je 0x18038402c
mov eax, dword [0x18078cfe8]
sub eax, dword [0x18078cfec]
mov r8d, 0x366153ed
xor edx, edx
div r8d
add eax, 0xbbb99e12
add eax, 0xca00f716
cmp eax, 0x3886fa2d
jb 0x18038402c
test cl, 1
jne 0x180383f22
jmp 0x180383eb3
mov rcx, rdi
call fcn.18045e090
mov eax, dword [0x18078cff0]
xor edx, edx
div dword [0x18078cff4]
add eax, 0xbb21c5c5
and eax, 0x3b21ec85
add eax, 0x31ff6b6d
cmp eax, 0x3a893b01
je 0x18038403d
jmp 0x180383ee5
mov ebx, dword [0x18078cff8]
or ebx, dword [0x18078cffc]
and ebx, 0xb0a72167
or ebx, 0x35d8e55f
or ebx, 0x960d442a
mov rcx, rdi
mov edx, 0x20
mov r8d, 8
call fcn.1804cafa0
cmp ebx, 0xbad81161
je 0x180383ee5
jmp 0x180383f20
jmp 0x180383f22
mov rax, rsi
add rax, 0x70
mov rdx, qword [rax]
movabs rax, 0x8000000000000000
cmp rdx, rax
je 0x180383fad
cmp rdx, 0
sete al
test al, 1
jne 0x180383fad
jmp 0x180383f48
mov eax, dword [0x18078d000]
sub eax, dword [0x18078d004]
xor eax, 0x92707e7b
and eax, 0x9c9e0265
or eax, 0x14bc512c
cmp eax, 0x4e5753d9
je 0x18038405d
mov eax, dword [0x18078d008]
xor eax, dword [0x18078d00c]
xor eax, 0x6342c5e
sub eax, 0xf1cc2703
imul ecx, eax, 0xdd836cd7
mov rax, rsi
add rax, 0x78
cmp ecx, 0x779029f0
je 0x18038405d
jmp 0x180383f9f
mov rcx, qword [rax]
mov r8d, 1
call fcn.1804cafa0
nop
add rsp, 0x20
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
jrcxz 0x180384014
insb byte [rdi], dx
xlatb
or al, 0xd5
retf 0x4b47
and bh, bl
invalid
push rbp
insd dword [rdi], dx
invalid
popfq
invalid
invalid
invalid
scasb al, byte [rdi]
loop 0x180384000
scasb al, byte [rdi]
std
invalid
and dword [rsi - 0x5d62d4fe], 0x22
mov byte [rbp - 0x16eea25c], ch
idiv ebp
invalid
iretd
clc
out dx, eax
invalid
invalid