Function at 0x180389c50
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x20
mov rsi, rcx
mov eax, dword [0x18078db30]
imul eax, dword [0x18078db34]
add eax, 0x38c9c6ac
and eax, 0x4f548ed1
and eax, 0xd6f54e4e
cmp eax, 0xbd0d702e
ja 0x18038a327
jmp 0x180389c87
mov eax, dword [0x18078db38]
add eax, dword [0x18078db3c]
imul eax, eax, 0x265ff0b9
mov ecx, 0x4226599e
xor edx, edx
div ecx
imul ecx, eax, 0xbf47e573
mov rax, rsi
add rax, 0x5c
cmp ecx, 0xbe6d08ab
je 0x180389c87
jmp 0x180389cb9
movzx eax, byte [rax]
mov ecx, dword [0x18078db40]
xor ecx, dword [0x18078db44]
xor ecx, 0x6692d84a
imul ecx, ecx, 0x424214be
xor ecx, 0x4e318cf3
cmp ecx, 0x43931f63
je 0x18038a338
jmp 0x180389ce8
mov ecx, dword [0x18078db48]
imul ecx, dword [0x18078db4c]
xor ecx, 0x52b76a4d
sub ecx, 0x3baa5ab3
and ecx, 0x452f6903
cmp ecx, 0xda1963a
jb 0x180389ce8
test eax, eax
jne 0x180389d18
mov rdi, rsi
jmp 0x180389d33
mov ecx, eax
sub ecx, 3
je 0x180389ec2
jmp 0x180389d25
sub eax, 4
je 0x180389ed3
jmp 0x180389eb6
mov rsi, rdi
add rsi, 8
mov rbx, qword [rdi + 8]
mov r14, qword [rdi + 0x10]
cmp r14, 0
je 0x180389de0
xor r15d, r15d
jmp 0x180389d51
imul rcx, r15, 0x18
mov rax, rbx
add rax, rcx
add r15, 1
mov rdx, qword [rax]
cmp rdx, 0
je 0x180389d7a
add rax, 8
mov rcx, qword [rax]
mov r8d, 1
call fcn.1804cafa0
mov eax, dword [0x18078db50]
xor eax, dword [0x18078db54]
mov ecx, 0x657e3e01
xor edx, edx
div ecx
imul eax, eax, 0x34d64f2c
and eax, 0x8ec941c0
cmp eax, 0x16a09df2
je 0x18038a349
mov eax, dword [0x18078db58]
xor eax, dword [0x18078db5c]
xor eax, 0x22917fa5
sub eax, 0x24c57077
imul ecx, eax, 0x15316a90
cmp r15, r14
sete al
cmp ecx, 0x9a8b3574
jae 0x18038a349
jmp 0x180389dd5
test al, 1
jne 0x180389dde
jmp 0x180389d51
jmp 0x180389de0
mov eax, dword [0x18078db60]
add eax, dword [0x18078db64]
mov ecx, 0xada6f171
xor edx, edx
div ecx
add eax, 0x110c458f
mov ecx, 0x25b1db3a
xor edx, edx
div ecx
cmp eax, 0x9ee3f7fc
jae 0x18038a356
jmp 0x180389e10
mov ecx, dword [0x18078db68]
or ecx, dword [0x18078db6c]
sub ecx, 0x90cfa577
and ecx, 0x7a8e585a
add ecx, 0x5620e8c5
mov rax, qword [rdi]
cmp ecx, 0xf6b3b265
ja 0x180389e10
jmp 0x180389e3b
cmp rax, 0
sete cl
test cl, 1
jne 0x180389eb6
jmp 0x180389e49
mov rsi, qword [rsi]
imul rdi, rax, 0x18
mov eax, dword [0x18078db70]
xor eax, dword [0x18078db74]
imul eax, eax, 0x76724f3c
sub eax, 0xc159767a
pop rcx
ror dword [0x16985bf43], 0x3d
push rbp
test eax, 0x840f6bce
in al, dx
add al, 0
invalid
jmp 0x180389e79
mov eax, dword [0x18078db78]
and eax, dword [0x18078db7c]
imul eax, eax, 0x953fac05
add eax, 0x62cd3ec0
mov ecx, 0x1ba6a1ba
xor edx, edx
div ecx
mov ebx, eax
mov rcx, rsi
mov rdx, rdi
mov r8d, 8
call fcn.1804cafa0
cmp ebx, 0x1c6805bc
je 0x180389e79
jmp 0x180389eb6
add rsp, 0x20
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
mov rcx, rsi
add rcx, 0x70
call fcn.180384620
jmp 0x18038a2ce
mov rdi, rsi
add rdi, 0x78
mov rax, rsi
add rax, 0xc9
movzx ecx, byte [rax]
mov eax, 0x30
add ecx, 0xfffffffd
mov edx, ecx
sub edx, 4
ja 0x18038a0dd
lea rdx, [0x1806c4f94]
movsxd rcx, dword [rdx + rcx*4]
add rcx, rdx
jmp rcx
mov eax, dword [0x18078dbc0]
imul eax, dword [0x18078dbc4]
mov ecx, 0xc1fdc24f
xor edx, edx
div ecx
xor eax, 0x5155bd1c
mov ecx, 0x2a017182
xor edx, edx
div ecx
cmp eax, 0x9702eaef
ja 0x18038a3b9
mov eax, dword [0x18078dbc8]
xor eax, dword [0x18078dbcc]
xor eax, 0x6ae507f9
mov ecx, 0x4d0c33db
xor edx, edx
div ecx
or eax, 0xc0844d5b
mov rcx, rsi
add rcx, 0x60
cmp eax, 0x1539027e
jbe 0x18038a3b9
jmp 0x18038a13f
mov eax, dword [0x18078dbd0]
and eax, dword [0x18078dbd4]
add eax, 0xca9025e
and eax, 0x1cbd8fe6
xor eax, 0x6f346a9
cmp eax, 0xca32069e
ja 0x18038a3c6
jmp 0x18038a167
mov edx, dword [0x18078dbd8]
imul edx, dword [0x18078dbdc]
and edx, 0xe06b83f6
and edx, 0x27d509c2
add edx, 0xc92d5fc9
mov rax, qword [rcx]
lock dec qword [rax]
sete al
cmp edx, 0x17d8a32
jb 0x18038a167
test al, 1
jne 0x18038a19e
jmp 0x18038a1a5
call fcn.1804b7a80
jmp 0x18038a1a5
mov rdi, rsi
add rdi, 0x68
mov rcx, rdi
call fcn.180643d90
mov rax, qword [rdi]
lock dec qword [rax]
sete al
test al, 1
je 0x18038a2ce
mov eax, dword [0x18078dbe0]
add eax, dword [0x18078dbe4]
add eax, 0xc3fe260c
and eax, 0xeefc8e6c
sub eax, 0xb35554e0
cmp eax, 0x10f52c04
jb 0x18038a3dd
jmp 0x18038a1ee
mov eax, dword [0x18078dbe8]
mov ecx, dword [0x18078dbec]
xor edx, edx
div ecx
imul eax, eax, 0xec150579
add eax, 0xe501c026
cmp eax, 0x58d1ff8e
jb 0x18038a1ee
jmp 0x18038a212
mov eax, dword [0x18078dbf0]
xor edx, edx
div dword [0x18078dbf4]
mov ecx, 0x72a8afc2
xor edx, edx
div ecx
and eax, 0x7d83bd86
mov ecx, 0x677c65f4
xor edx, edx
div ecx
cmp eax, 0xab7a0d96
ja 0x18038a3ea
jmp 0x18038a244
mov eax, dword [0x18078dbf8]
xor edx, edx
div dword [0x18078dbfc]
sub eax, 0x71375750
mov ecx, 0x13cd7ef2
xor edx, edx
div ecx
mov ebx, eax
add ebx, 0xe11092e8
mov rcx, rdi
call fcn.1804b7a80
cmp ebx, 0xed78d0a7
ja 0x18038a244
jmp 0x18038a27a
mov eax, dword [0x18078dc00]
imul eax, dword [0x18078dc04]
mov ecx, 0x2efa767a
xor edx, edx
div ecx
sub eax, 0x26e61f26
sub eax, 0x759574ff
cmp eax, 0x437a7494
jbe 0x18038a403
mov eax, dword [0x18078dc08]
sub eax, dword [0x18078dc0c]
imul eax, eax, 0x19aed5bc
add eax, 0x971a009f
xor eax, 0xea44f1bd
cmp eax, 0xf457f53d
ja 0x18038a403
jmp 0x18038a2ce
mov eax, dword [0x18078dc10]
xor eax, dword [0x18078dc14]
and eax, 0x277ec7e6
add eax, 0xdb13692
imul eax, eax, 0x9b3708ed
cmp eax, 0x274a8d31
ja 0x18038a410
jmp 0x18038a2f7
mov eax, dword [0x18078dc18]
or eax, dword [0x18078dc1c]
sub eax, 0xdab2098
sub eax, 0x3c9c4347
and eax, 0xde38d8b5
mov rdi, rsi
add rdi, 0x18
cmp eax, 0xbb2ac17f
jae 0x18038a2f7
jmp 0x18038a322
jmp 0x180389d33
add al, cl
retf
xor al, 0x82
mov eax, 0x8abc9de0
invalid
jrcxz 0x18038a3c6
jae 0x18038a360
in al, dx
and eax, 0x4fe9f000
cli
invalid
invalid
cli
invalid
add al, 0
mov esp, 0x83e6cc4a
invalid
invalid
mov bh, 0xe9
or al, 0xfc
invalid
lodsw ax, word fs:[rsi]
and al, 0xa0
push rcx
adc esi, edi
jmp 0x18038a10c
out 0x32, eax
sub eax, 0x30d47a2f
dec dword [rax - 0x75]
add eax, esi
dec qword [rax]
mov eax, dword [rcx]
lock dec qword [rax]
sete al
jmp 0x18038a165
jnp 0x18038a36b
mov bh, 0x21
add ch, ah
std
jae 0x18038a3cf
add bh, dh
invalid
or rax, 0x7f301ace
invalid
invalid
sub bpl, r10b
loop 0x18038a399
sbb r13, qword [rbp - 0x26c906e5]
jmp 0x18038a2f5