Function at 0x1803881e0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rsi, rcx
mov rax, rsi
add rax, 0xb8
mov ecx, dword [0x18078d820]
imul ecx, dword [0x18078d824]
and ecx, 0x58c95865
imul ecx, ecx, 0x93b031cc
add ecx, 0xb858f9eb
cmp ecx, 0xff382265
je 0x180388a5e
mov edx, dword [0x18078d828]
xor edx, dword [0x18078d82c]
or edx, 0x17efd281
sub edx, 0x7a4defaa
and edx, 0xa5560cdb
cmp byte [rax], 0xa
setb cl
cmp edx, 0x97eef9fe
ja 0x180388a5e
jmp 0x180388259
test cl, 1
jne 0x180388399
jmp 0x180388264
mov eax, dword [0x18078d830]
xor edx, edx
div dword [0x18078d834]
add eax, 0x5d3feb65
or eax, 0xc475e1ed
add eax, 0x1e1360fd
cmp eax, 0xc081c7b8
jbe 0x180388a6f
mov eax, dword [0x18078d838]
and eax, dword [0x18078d83c]
xor eax, 0xc6b5427
sub eax, 0x301a7f43
imul eax, eax, 0x6e348ec5
mov rcx, rsi
add rcx, 0xc8
cmp eax, 0x587dba74
ja 0x180388a6f
jmp 0x1803882bf
mov eax, dword [0x18078d840]
add eax, dword [0x18078d844]
sub eax, 0x2aefe1cc
mov r8d, 0xa28db5f1
xor edx, edx
div r8d
and eax, 0x1a1c3bba
cmp eax, 0xe47f9008
ja 0x180388a80
jmp 0x1803882ed
mov eax, dword [0x18078d848]
xor edx, edx
div dword [0x18078d84c]
mov r8d, 0xa01d5cd6
xor edx, edx
div r8d
mov r8d, 0x504c3ad
xor edx, edx
div r8d
and eax, 0x2bc6d3e2
mov rdi, qword [rcx]
cmp eax, 0x840ddeab
ja 0x1803882ed
jmp 0x180388322
cmp rdi, 0
je 0x180388399
mov rax, rsi
add rax, 0xc0
mov rbx, qword [rax]
mov eax, dword [0x18078d850]
or eax, dword [0x18078d854]
mov ecx, 0xcf4c093a
xor edx, edx
div ecx
xor eax, 0x13599eb6
sub eax, 0xa782d2ba
cmp eax, 0x46b02b15
jb 0x180388a8d
jmp 0x180388360
mov ebp, dword [0x18078d858]
xor ebp, dword [0x18078d85c]
and ebp, 0x7d7e1111
add ebp, 0x40270657
add ebp, 0xfc774c95
mov rcx, rbx
mov rdx, rdi
mov r8d, 1
call fcn.1804cafa0
cmp ebp, 0xceb87acb
ja 0x180388360
jmp 0x180388399
mov al, byte [rsi + 0x60]
cmp al, 2
setb al
mov ecx, dword [0x18078d860]
or ecx, dword [0x18078d864]
or ecx, 0xf4691453
or ecx, 0xc5abf666
sub ecx, 0x51d8f08d
cmp ecx, 0x4ea416b2
jbe 0x180388aab
jmp 0x1803883cd
mov ecx, dword [0x18078d868]
or ecx, dword [0x18078d86c]
sub ecx, 0x43034125
and ecx, 0xe42f4b6a
add ecx, 0xff57f316
cmp ecx, 0x2148b9aa
jb 0x1803883cd
test al, 1
jne 0x18038848c
jmp 0x1803883fd
mov rdi, qword [rsi + 0x68]
mov rax, qword [rdi]
mov r14, qword [rax + 0x20]
mov rbx, rdi
add rbx, 0x18
mov r15, rdi
add r15, 8
mov eax, dword [0x18078d870]
xor eax, dword [0x18078d874]
sub eax, 0x5dd210bb
mov ecx, 0xa26eef18
xor edx, edx
div ecx
add eax, 0xe637e1c1
cmp eax, 0xe750e1af
je 0x180388abc
mov ebp, dword [0x18078d878]
or ebp, dword [0x18078d87c]
add ebp, 0xc6749988
add ebp, 0xce57ebc2
add ebp, 0x6bba2ac8
mov rdx, qword [r15]
mov r8, qword [rdi + 0x10]
mov rcx, rbx
call r14
cmp ebp, 0x3c0c3000
jbe 0x180388abc
jmp 0x180388479
mov rcx, rdi
mov edx, 0x20
mov r8d, 8
call fcn.1804cafa0
mov eax, dword [0x18078d880]
imul eax, dword [0x18078d884]
and eax, 0x7e4e13b
xor eax, 0x70c0972c
mov ecx, 0xec9ee0ac
xor edx, edx
div ecx
cmp eax, 0x2eedfa20
ja 0x180388ad6
mov eax, dword [0x18078d888]
or eax, dword [0x18078d88c]
mov ecx, 0x234346ea
xor edx, edx
div ecx
mov ecx, 0x5f3fed6
xor edx, edx
div ecx
mov edi, eax
add edi, 0xd3cf7736
mov rax, qword [rsi + 0x70]
mov rax, qword [rax + 0x20]
mov rcx, rsi
add rcx, 0x88
mov rdx, qword [rsi + 0x78]
mov r8, qword [rsi + 0x80]
call rax
mov rax, qword [rsi + 0x90]
mov rax, qword [rax + 0x20]
mov rcx, rsi
add rcx, 0xa8
mov rdx, qword [rsi + 0x98]
mov r8, qword [rsi + 0xa0]
call rax
cmp edi, 0xadd56cd6
jbe 0x180388ad6
jmp 0x18038852f
mov eax, dword [0x18078d890]
and eax, dword [0x18078d894]
sub eax, 0x4888e998
mov ecx, 0xfbaf30fa
xor edx, edx
div ecx
mov ecx, 0xe64cc4c9
xor edx, edx
div ecx
cmp eax, 0x9d10c4f9
je 0x180388b27
jmp 0x18038855f
mov eax, dword [0x18078d898]
or eax, dword [0x18078d89c]
or eax, 0x5f7a9de6
imul eax, eax, 0x70f5e280
imul ecx, eax, 0x635742ac
mov rax, rsi
add rax, 0x50
cmp ecx, 0x2d0bd63a
jbe 0x18038855f
jmp 0x18038858d
mov rdx, qword [rax]
cmp rdx, 0
je 0x1803885af
mov rax, rsi
add rax, 0x48
mov rcx, qword [rax]
shl rdx, 2
mov r8d, 2
call fcn.1804cafa0
mov r14, rsi
add r14, 0x18
mov rbx, rsi
add rbx, 0x20
mov r15, qword [rbx]
mov r12, qword [rsi + 0x28]
cmp r12, 0
je 0x1803887e5
xor r13d, r13d
mov qword [rsp + 0x20], r15
jmp 0x1803885d8
imul rax, r13, 0x68
add r15, rax
add r13, 1
mov rcx, qword [r15 + 0x40]
cmp rcx, 0
je 0x1803886b5
mov eax, dword [0x18078d8a0]
sub eax, dword [str.t__bJc]
mov r8d, 0xdc8e90d5
xor edx, edx
div r8d
xor eax, 0x719a4ebf
add eax, 0xbd7ff398
cmp eax, 0x4d2b7233
je 0x180388b34
mov eax, dword [0x18078d8a8]
sub eax, dword [0x18078d8ac]
imul eax, eax, 0x303c80cc
imul eax, eax, 0x43d25c0b
add eax, 0xea4e096f
cmp eax, 0x1358d531
jb 0x180388b34
jmp 0x180388647
mov eax, dword [0x18078d8b0]
imul eax, dword [0x18078d8b4]
xor eax, 0xd1529ebd
or eax, 0x41ddf61
sub eax, 0x9bf260ce
cmp eax, 0x703a9233
jae 0x180388b41
jmp 0x180388670
mov eax, dword [0x18078d8b8]
sub eax, dword [0x18078d8bc]
add eax, 0x77b08c87
sub eax, 0x5011826c
mov r8d, 0xdf41dc6c
xor edx, edx
div r8d
mov rdx, rcx
add rdx, 0x20
cmp eax, 0xdb32de7b
jae 0x180388670
jmp 0x1803886a1
mov rax, qword [rdx]
mov rcx, r15
add rcx, 0x58
mov rdx, qword [r15 + 0x48]
mov r8, qword [r15 + 0x50]
call rax
mov eax, dword [0x18078d8c0]
or eax, dword [0x18078d8c4]
sub eax, 0x54d4865a
or eax, 0x64ddfadd
imul eax, eax, 0x3bd0a7e3
cmp eax, 0x95130d38
je 0x180388b4e
jmp 0x1803886de
mov eax, dword [0x18078d8c8]
and eax, dword [0x18078d8cc]
add eax, 0xeb1ecfc4
imul eax, eax, 0x823a9a9a
add eax, 0x959d22f8
mov rbp, r15
add rbp, 0x18
cmp eax, 0x5e3fff85
jb 0x1803886de
jmp 0x18038870a
mov eax, dword [0x18078d8d0]
add eax, dword [0x18078d8d4]
imul eax, eax, 0x35a6d4cb
sub eax, 0xca06aef8
and eax, 0xf3ce87e1
cmp eax, 0x5cdeeddd
jb 0x180388b5f
jmp 0x180388733
mov eax, dword [0x18078d8d8]
xor edx, edx
div dword [0x18078d8dc]
xor eax, 0xbcd7361a
xor eax, 0xcdb072fb
mov ecx, 0xc392ca9c
xor edx, edx
div ecx
cmp eax, 0xfa73ec3c
je 0x180388733
jmp 0x18038875d
mov eax, dword [0x18078d8e0]
xor edx, edx
div dword [0x18078d8e4]
mov ecx, 0x31dde1f3
xor edx, edx
div ecx
or eax, 0xf5957a72
add eax, 0x65642586
cmp eax, 0xf4c2519d
je 0x180388b70
mov eax, dword [0x18078d8e8]
add eax, dword [0x18078d8ec]
or eax, 0xd47df7a5
or eax, 0xf2be407a
mov ecx, 0x62fd1cd5
xor edx, edx
div ecx
mov edi, eax
mov rax, qword [rbp]
mov rax, qword [rax + 0x20]
mov rcx, r15
add rcx, 0x30
mov rdx, qword [r15 + 0x20]
mov r8, qword [r15 + 0x28]
call rax
cmp r13, r12
sete al
cmp edi, 0x75acb0c8
je 0x180388b70
test al, 1
mov r15, qword [rsp + 0x20]
jne 0x1803887e3
jmp 0x1803885d8
jmp 0x1803887e5
mov r8, qword [r14]
cmp r8, 0
sete cl
mov eax, dword [0x18078d8f0]
add eax, dword [0x18078d8f4]
or eax, 0xc9e3e7a8
mov r9d, 0x57837a17
xor edx, edx
div r9d
and eax, 0x96e51e0c
cmp eax, 0x175b6583
ja 0x180388b9a
mov eax, dword [0x18078d8f8]
or eax, dword [0x18078d8fc]
or eax, 0xd6c6fa54
mov r9d, 0xaf9e08fe
xor edx, edx
div r9d
add eax, 0xc9ac93aa
cmp eax, 0x7b044f2d
jbe 0x180388b9a
test cl, 1
jne 0x180388862
jmp 0x18038884e
mov rcx, qword [rbx]
imul rdx, r8, 0x68
mov r8d, 8
call fcn.1804cafa0
jmp 0x180388862
mov rbx, rsi
add rbx, 0x30
mov eax, dword [0x18078d900]
sub eax, dword [0x18078d904]
add eax, 0x36b200b3
xor eax, 0x5d88cc7
and eax, 0x887f81fb
cmp eax, 0xad1b4803
je 0x180388bab
jmp 0x180388891
mov eax, dword [0x18078d908]
xor eax, dword [0x18078d90c]
mov ecx, 0x188bc3cc
xor edx, edx
div ecx
xor eax, 0x89b8f613
add eax, 0x10355dd5
mov rdi, rsi
add rdi, 0x38
mov r14, qword [rsi + 0x38]
mov r15, qword [rsi + 0x40]
cmp eax, 0x749c791
jb 0x180388891
jmp 0x1803888c8
cmp r15, 0
je 0x180388901
xor r12d, r12d
jmp 0x1803888d3
imul rax, r12, 0x48
mov r8, r14
add r8, rax
add r12, 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 r12, r15
jne 0x1803888d3
jmp 0x180388901
mov eax, dword [0x18078d910]
sub eax, dword [0x18078d914]
or eax, 0xb9789232
xor eax, 0x6a1a5702
mov ecx, 0xa5f3bd9a
xor edx, edx
div ecx
cmp eax, 0xa757b730
ja 0x180388bb8
jmp 0x18038892d
mov eax, dword [0x18078d918]
imul eax, dword [0x18078d91c]
or eax, 0x27744f22
add eax, 0x6611ce80
imul eax, eax, 0x526aa731
cmp eax, 0xed7474bf
je 0x18038892d
jmp 0x180388953
mov r8, qword [rbx]
mov eax, dword [0x18078d920]
sub eax, dword [0x18078d924]
imul eax, eax, 0x2df2224c
and eax, 0xab72999d
xor eax, 0x2615df2c
cmp eax, 0x3b3d62f9
je 0x180388bc9
mov eax, dword [0x18078d928]
or eax, dword [0x18078d92c]
mov ecx, 0x1bd89c59
xor edx, edx
div ecx
xor eax, 0x7295864
sub eax, 0x40ede9ba
cmp r8, 0
sete cl
cmp eax, 0x82208be8
je 0x180388bc9
test cl, 1
jne 0x180388a19
jmp 0x1803889b5
mov eax, dword [0x18078d930]
imul eax, dword [0x18078d934]
and eax, 0x6caf6958
add eax, 0x9b6ca5f
and eax, 0xfda04878
cmp eax, 0x863b77ee
jae 0x180388bd6
jmp 0x1803889de
mov eax, dword [0x18078d938]
imul eax, dword [0x18078d93c]
xor eax, 0x41f5cb74
xor eax, 0x78a4386f
mov ecx, 0xd3701314
xor edx, edx
div ecx
mov rcx, qword [rdi]
cmp eax, 0x3d5cc3c3
jae 0x1803889de
jmp 0x180388a0a
imul rdx, r8, 0x48
mov r8d, 8
call fcn.1804cafa0
add rsi, 0xd0
mov rsi, qword [rsi]
cmp rsi, 0
sete al
test al, 1
jne 0x180388a4d
jmp 0x180388a30
mov rcx, rsi
call fcn.18045e090
mov rcx, rsi
mov edx, 0x20
mov r8d, 8
call fcn.1804cafa0
jmp 0x180388a4d
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
jl 0x180388acf
or dword [rdx + 0x10], ebx
movsb byte [rdi], byte [rsi]
invalid
sbb al, 0x6e
pop rdi
in al, dx
mov ah, byte [rdi + 0x19cb0395]
sbb eax, 0xfff80ce9
jmp [rdi + rcx*8]
sub al, 0xcf
jns 0x180388a20
and eax, dword [rsi + 0x5ee9805e]
clc
invalid
add eax, 0x5212d19e
cdq
invalid
invalid
pop rax
or byte [rax - 0x43f8557f], bh
xor dword [rcx - 0x75], ecx
invalid
call rsi
jmp 0x180388440
test byte [rbp - 6], al
sub al, 0xee
rcr byte [rdi + 0x468b4832], cl
jo 0x180388b2b
mov eax, dword [rax + 0x20]
mov rcx, rsi
add rcx, 0x88
mov rdx, qword [rsi + 0x78]
mov r8, qword [rsi + 0x80]
call rax
mov rax, qword [rsi + 0x90]
mov rax, qword [rax + 0x20]
mov rcx, rsi
add rcx, 0xa8
mov rdx, qword [rsi + 0x98]
mov r8, qword [rsi + 0xa0]
call rax
jmp 0x1803884b7
mov al, byte [rcx + rsi - 0x31dbb4a4]
and al, 0xce
invalid
xchg edx, eax
xchg cl, dl
in al, dx
invalid
sub al, 0xc6
jb 0x180388b7a
invalid
sti
invalid
mov al, cl
invalid
mov bh, byte [rdx - 0x62]
fcom dword [rbx]
xchg ebp, eax
retf
sal qword [rdi], 1
xchg ecx, eax
mov dh, 0xf5
mov ah, 0x6a
xlatb
loop 0x180388b4b
loop 0x180388b4b
mov rax, qword [rbp]
mov rax, qword [rax + 0x20]
mov rcx, r15
add rcx, 0x30
mov rdx, qword [r15 + 0x20]
mov r8, qword [r15 + 0x28]
call rax
jmp 0x180388789
out dx, al
lahf
jnp 0x180388b9e
push qword [rdx]
invalid
xor dl, dh
retf 0x5278
in eax, 0x53
xor dl, dh
sub r13b, byte [r8 - 0x32816b4]
invalid
clc
imul esi, dword [rax + 0x2ac391c], 0x5c80f630
test cl, ch
invalid
adc eax, 0x8233c642
xchg byte [r15], r12b
jmp 0x18038897d
lodsd eax, dword [rsi]
jmp 0x180388bd8
jmp [rbx]