Function at 0x1803f3ed0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x68
lea rbp, [rsp + 0x60]
mov rbx, r8
mov r14, rdx
mov rsi, rcx
mov eax, 0x90
call fcn.180698e80
sub rsp, rax
mov r15, rsp
mov eax, 0x90
call fcn.180698e80
sub rsp, rax
mov r12, rsp
movabs rax, 0x8000000000000005
cmp qword [r14], rax
je 0x1803f4541
mov r13, r14
add r13, 0x28
mov rax, r14
add rax, 8
mov qword [rbp - 0x30], rax
lea rax, [rbp - 0x60]
add rax, 8
mov qword [rbp - 0x28], rax
mov rax, r15
add rax, 8
mov qword [rbp - 0x20], rax
mov qword [rbp - 8], r12
add r12, 8
mov qword [rbp - 0x38], r15
jmp 0x1803f3f58
sub rsp, 0x20
mov rcx, r13
mov rdx, rbx
call fcn.18041e640
add rsp, 0x20
mov rdi, rax
mov eax, dword [0x1807977a8]
or eax, dword [0x1807977ac]
sub eax, 0xe27b60d0
sub eax, 0xf911a9fd
mov ecx, 0x6a3a942e
xor edx, edx
div ecx
cmp eax, 0x20a8da12
jae 0x1803f46f4
mov ecx, dword [0x1807977b0]
or ecx, dword [0x1807977b4]
add ecx, 0x4cc5a9d9
add ecx, 0x44202491
and ecx, 0x6f831ed6
cmp rdi, 0
sete al
cmp ecx, 0xf5158f90
jae 0x1803f46f4
mov r15d, 0x10
test al, 1
jne 0x1803f468a
jmp 0x1803f3fd9
mov eax, dword [0x1807977b8]
xor eax, dword [0x1807977bc]
and eax, 0xdfec04e8
or eax, 0x774349ce
add eax, 0x586ad768
cmp eax, 0xacd112a4
jb 0x1803f4701
mov eax, dword [0x1807977c0]
sub eax, dword [0x1807977c4]
mov ecx, 0xab44d3e2
xor edx, edx
div ecx
mov ecx, 0x60c944b2
xor edx, edx
div ecx
or eax, 0x3e89d31e
mov rcx, qword [rdi]
cmp eax, 0xb7679558
je 0x1803f4701
mov r15, qword [rbp - 0x38]
jmp 0x1803f4036
mov eax, dword [0x1807977c8]
imul eax, dword [0x1807977cc]
or eax, 0xfd3c3816
mov r8d, 0x10bfb86
xor edx, edx
div r8d
sub eax, 0x76feb092
cmp eax, 0xeb2e5a8
jb 0x1803f4712
mov eax, dword [str.dSBS]
imul eax, dword [0x1807977d4]
xor eax, 0xe7b83a61
or eax, 0xc7a7f944
add eax, 0x3f5adac9
mov r8, rcx
add r8, 0x10
cmp eax, 0x49ddc731
jae 0x1803f4712
jmp 0x1803f4093
mov eax, dword [0x1807977d8]
or eax, dword [0x1807977dc]
add eax, 0x56a0c6ff
imul eax, eax, 0xf572290d
and eax, 0x425f3b13
cmp eax, 0x51b97d63
je 0x1803f4723
jmp 0x1803f40bc
mov eax, dword [0x1807977e0]
or eax, dword [0x1807977e4]
or eax, 0x34b7d28a
mov r9d, 0xbad906a9
xor edx, edx
div r9d
xor eax, 0x8650cade
cmp qword [r8], 0
sete dl
cmp eax, 0x2e8dfd4a
jbe 0x1803f40bc
test dl, 1
jne 0x1803f40f2
jmp 0x1803f40f6
ud2
mov qword [rbp], rbx
mov rbx, rcx
add rbx, 0x18
mov rdx, qword [r14]
movabs rax, 0x8000000000000005
cmp rdx, rax
je 0x1803f41b7
mov qword [rbp - 0x10], rdx
mov qword [rbp - 0x18], r12
mov eax, dword [0x1807977e8]
sub eax, dword [0x1807977ec]
and eax, 0xe2c63013
and eax, 0x7af358bd
xor eax, 0xc8635575
cmp eax, 0xdd407de2
jae 0x1803f4730
jmp 0x1803f4147
mov eax, dword [0x1807977f0]
xor edx, edx
div dword [0x1807977f4]
mov r12d, eax
sub r12d, 0x6ee109f8
sub r12d, 0x3103bc2b
add r12d, 0x2e620df4
sub rsp, 0x20
mov rcx, r15
mov rdx, rbx
mov r8, qword [rbp]
call fcn.180438ab0
add rsp, 0x20
cmp r12d, 0x6c146334
jbe 0x1803f4147
jmp 0x1803f418f
mov r15, qword [r15]
mov rax, r15
sub rax, 0xf
mov r12, qword [rbp - 0x18]
je 0x1803f430e
jmp 0x1803f41a5
mov rax, r15
sub rax, 0x10
je 0x1803f43c9
jmp 0x1803f42ef
mov eax, dword [0x1807977f8]
add eax, dword [0x1807977fc]
xor eax, 0x695d8482
imul eax, eax, 0x9b80d6f4
xor eax, 0xb3e6110d
cmp eax, 0x7c014050
jae 0x1803f4758
mov rbx, qword [rbp]
jmp 0x1803f41e4
xor eax, eax
xor edi, edi
xchg qword [rcx + 0x158], rdi
cmp eax, 0xa6d94a2b
je 0x1803f41e4
jmp 0x1803f41f8
test rdi, rdi
je 0x1803f429a
jmp 0x1803f4203
mov rax, rdi
sub rax, 1
je 0x1803f454d
jmp 0x1803f4212
mov eax, dword [0x180797800]
add eax, dword [0x180797804]
xor eax, 0x83eb6e0f
mov ecx, 0xb75bd145
xor edx, edx
div ecx
xor eax, 0xb6966052
cmp eax, 0xc8e51c99
jae 0x1803f476e
mov ecx, dword [0x180797808]
or ecx, dword [0x18079780c]
sub ecx, 0x80a96d55
sub ecx, 0x8f486c7
add ecx, 0x634b3979
mov rax, qword [rdi]
cmp ecx, 0x727589c4
je 0x1803f476e
jmp 0x1803f426b
mov rcx, qword [rdi + 8]
sub rsp, 0x20
call qword [rax + 8]
add rsp, 0x20
sub rsp, 0x20
mov rcx, rdi
mov edx, 0x10
mov r8d, 8
call fcn.1804cafa0
add rsp, 0x20
jmp 0x1803f454d
ud2
sub rsp, 0x20
mov rcx, r12
mov rdx, qword [rbp - 0x20]
mov r8d, 0x80
call fcn.1806a7400
add rsp, 0x20
jmp 0x1803f43c9
mov rcx, qword [rbp - 0x30]
mov rax, qword [rcx]
mov rdx, qword [rbp - 0x28]
mov qword [rdx], rax
mov rax, qword [rcx + 8]
mov qword [rdx + 8], rax
mov rax, qword [rcx + 0x10]
mov qword [rdx + 0x10], rax
mov rax, qword [rcx + 0x18]
mov qword [rdx + 0x18], rax
movabs rax, 0x8000000000000005
mov qword [r14], rax
mov eax, dword [0x180797820]
and eax, dword [0x180797824]
add eax, 0xffbdadfb
mov ecx, 0x5897df33
xor edx, edx
div ecx
xor eax, 0x9c3d2fde
cmp eax, 0xd3c2521b
jae 0x1803f4790
jmp 0x1803f436d
mov eax, dword [0x180797828]
imul eax, dword [0x18079782c]
or eax, 0xa47e1dd3
mov ecx, 0xbb8c565e
xor edx, edx
div ecx
mov r12d, eax
sub r12d, 0xccde9264
mov rax, qword [rbp - 0x10]
mov qword [rbp - 0x60], rax
lea r8, [rbp - 0x60]
sub rsp, 0x20
mov r15, qword [rbp - 8]
mov rcx, r15
mov rdx, rbx
call fcn.180439a00
add rsp, 0x20
mov r15, qword [r15]
cmp r12d, 0x9493d7fc
ja 0x1803f436d
jmp 0x1803f43c3
mov r12, qword [rbp - 0x18]
jmp 0x1803f4425
mov rax, qword [rbp - 8]
mov qword [rax], r15
mov eax, dword [0x180797830]
add eax, dword [0x180797834]
imul eax, eax, 0x8c49828c
xor eax, 0xaf343fb6
and eax, 0xf569912c
cmp eax, 0xa52aeb8c
je 0x1803f47c1
mov eax, dword [0x180797838]
and eax, dword [0x18079783c]
add eax, 0xa832c57f
add eax, 0xb7ca592d
mov ecx, 0xce58b1ef
xor edx, edx
div ecx
cmp eax, 0xb0ebc291
jae 0x1803f47c1
jmp 0x1803f4423
jmp 0x1803f4425
mov eax, dword [0x180797840]
imul eax, dword [0x180797844]
xor eax, 0xedfa72cc
imul eax, eax, 0x617cfd3e
sub eax, 0xb59e76ca
cmp eax, 0xa87ed36
je 0x1803f47ce
jmp 0x1803f444f
mov eax, dword [0x180797848]
mov ecx, dword [0x18079784c]
xor ebx, ebx
xor edx, edx
div ecx
add eax, 0x8591c38a
imul rax, rax, 0x3013353f
shr rax, 0x3c
mov rcx, qword [rdi]
xchg qword [rcx + 0x158], rbx
cmp eax, 0x1a78007b
je 0x1803f444f
test rbx, rbx
je 0x1803f451a
jmp 0x1803f448d
mov rax, rbx
sub rax, 1
je 0x1803f451e
jmp 0x1803f449c
mov r8, qword [rbx]
mov r9, rbx
add r9, 8
mov eax, dword [0x180797850]
add eax, dword [0x180797854]
xor eax, 0x574f9b93
add eax, 0xedd13cef
add eax, 0x346dad5f
cmp eax, 0x3a8f3f5
je 0x1803f47eb
jmp 0x1803f44ce
mov eax, dword [0x180797858]
and eax, dword [0x18079785c]
mov ecx, 0x9a200b4a
xor edx, edx
div ecx
sub eax, 0xe3f75a5f
xor eax, 0x8cb24344
mov rcx, qword [r9]
cmp eax, 0xb6f1bc2e
je 0x1803f44ce
jmp 0x1803f44f9
sub rsp, 0x20
call qword [r8 + 8]
mov rcx, rbx
mov edx, 0x10
mov r8d, 8
call fcn.1804cafa0
add rsp, 0x20
jmp 0x1803f451e
ud2
mov rax, r15
sub rax, 0xf
mov rbx, qword [rbp]
je 0x1803f454d
jmp 0x1803f452d
mov rax, r15
sub rax, 0x10
jne 0x1803f45ba
jmp 0x1803f468a
jmp 0x1803f4541
mov qword [rsi], 0xf
jmp 0x1803f46e0
mov rcx, qword [r14]
mov eax, dword [0x180797860]
or eax, dword [0x180797864]
or eax, 0x13a38abb
add eax, 0x37ec6a9d
add eax, 0xe9f841cf
cmp eax, 0xdd8ccfd6
ja 0x1803f47fc
jmp 0x1803f4578
mov eax, dword [0x180797868]
sub eax, dword [0x18079786c]
add eax, 0x9637e696
and eax, 0x7c50ff5a
mov r8d, 0xc3e469c8
xor edx, edx
div r8d
movabs rdx, 0x8000000000000005
cmp rcx, rdx
sete dl
cmp eax, 0x75ac98eb
je 0x1803f4578
test dl, 1
jne 0x1803f453f
jmp 0x1803f3f58
mov rdi, rsi
add rdi, 8
mov eax, dword [0x180797870]
xor eax, dword [0x180797874]
add eax, 0x9a15acdb
or eax, 0xdd8c0225
add eax, 0xdd2e3602
cmp eax, 0x9222caca
jbe 0x1803f480d
mov eax, dword [0x180797878]
xor edx, edx
div dword [0x18079787c]
mov ecx, 0x9575b560
xor edx, edx
div ecx
mov ebx, eax
and ebx, 0xb06a843a
and ebx, 0x5755f432
sub rsp, 0x20
mov rcx, rdi
mov rdx, r12
mov r8d, 0x80
call fcn.1806a7400
add rsp, 0x20
cmp ebx, 0x3d3f27ee
ja 0x1803f480d
jmp 0x1803f4633
mov eax, dword [0x180797880]
sub eax, dword [0x180797884]
imul eax, eax, 0x6684ea0c
or eax, 0xd23f4a64
mov ecx, 0x10eb0049
xor edx, edx
div ecx
cmp eax, 0xaf038be2
je 0x1803f4833
mov eax, dword [0x180797888]
xor edx, edx
div dword [0x18079788c]
imul eax, eax, 0x1fbafdac
and eax, 0xf53c79b
imul eax, eax, 0xe0069a7f
cmp eax, 0x1b231c24
ja 0x1803f4833
jmp 0x1803f468a
mov eax, dword [0x180797890]
and eax, dword [0x180797894]
xor eax, 0x5debc629
mov ecx, 0x259d16a5
xor edx, edx
div ecx
add eax, 0x81251380
cmp eax, 0x1d8cb3cf
jbe 0x1803f4844
mov eax, dword [0x180797898]
sub eax, dword [0x18079789c]
imul eax, eax, 0xf2516eca
and eax, 0x15e9a835
or eax, 0x80742f7d
mov qword [rsi], r15
cmp eax, 0xf4e0843c
je 0x1803f4844
jmp 0x1803f46e0
mov rax, rsi
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
out dx, al
invalid
sub dword [rbx - 0x541778fc], esp
nop
lodsb al, byte [rsi]
ret 0x7deb
invalid
invalid
sbb ebx, dword [rsi]
not rsi
and ebx, esi
mov al, 0x25
iretd
add rsp, 0x20
jmp 0x1803f4145
jns 0x1803f478f
add dword [rcx], eax
test eax, esi
mov edx, 0x48c031b7
xchg dword [rcx + 0x158], eax
jmp 0x1803f41de
invalid
cli
invalid
invalid
js 0x1803f4778
xchg esp, eax
sahf
loop 0x1803f474f
in al, dx
mov byte [r10 + rsi*4], 0xad
mov rax, qword [rbp - 0x10]
mov qword [rbp - 0x60], rax
lea r8, [rbp - 0x60]
sub rsp, 0x20
mov rcx, qword [rbp - 8]
mov rdx, rbx
call fcn.180439a00
add rsp, 0x20
jmp 0x1803f436b
out 0x29, eax
sbb byte [rdx - 0x284c417b], ah
jmp 0x1803f43f7
mov r14b, spl
test ecx, ecx
invalid
mov ch, 0x53
leave
xor al, 0x3f
lahf
invalid
push 0xffffffffe99748d0
out 0x66, al
int 0x22
push 0x69e916e6
std
invalid
rcl dword [rdx - 0x7b], cl
and esi, ebx
adc byte [rsi + rcx*4], cl
sub rsp, 0x20
mov rcx, rdi
mov rdx, r12
mov r8d, 0x80
call fcn.1806a7400
add rsp, 0x20
jmp 0x1803f45e7
cdq
test dword [rcx], eax
invalid
popfq
invalid