Function at 0x1803effc0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xc8
lea rbp, [rsp + 0x80]
mov rbx, r8
mov r14, rdx
mov r13, rcx
mov eax, dword [0x180797128]
and eax, dword [0x18079712c]
sub eax, 0xd2577401
and eax, 0xc3287d4f
mov ecx, 0xefd65d28
xor edx, edx
div ecx
cmp eax, 0x36ef638a
ja 0x1803f075a
mov r12d, dword [0x180797130]
mov eax, dword [0x180797134]
add r12d, eax
xor r12d, 0x3cdc9452
add r12d, 0xb6a66fca
xor r12d, 0x6a75dfc3
mov eax, 0x10
call fcn.180698e80
sub rsp, rax
mov r15, rsp
mov eax, 0x20
call fcn.180698e80
sub rsp, rax
mov rdi, rsp
lea rax, [0x1806c1f4d]
mov qword [rbp + 0x38], rax
lea rax, [rbp + 0x38]
mov rcx, qword [rbp + 0x38]
movabs rax, 0x7740ecc74a0f614d
mov qword [rbp + 0x30], rax
lea rax, [rbp + 0x30]
mov rdx, qword [rbp + 0x30]
sub rsp, 0x20
call fcn.1802f3160
add rsp, 0x20
mov ecx, dword [rax]
movzx eax, word [rax + 4]
mov dl, al
xor dl, 0x9e
shr eax, 8
xor al, 0x3d
movzx eax, al
shl rax, 0x28
movzx edx, dl
shl rdx, 0x20
or rax, rdx
xor rcx, 0x741c6aff
mov dword [r15], ecx
shr rax, 0x20
mov word [r15 + 4], ax
lea rcx, [rbp - 0x68]
sub rsp, 0x20
call fcn.180666f50
add rsp, 0x20
lea rcx, [rbp - 0x68]
sub rsp, 0x20
call fcn.1804cda80
add rsp, 0x20
mov r8, rdx
lea rcx, [rbp - 0x48]
sub rsp, 0x20
mov rdx, rax
call fcn.180671630
add rsp, 0x20
mov rcx, qword [rbp - 0x48]
cmp r12d, 0x92082bf4
je 0x1803f075a
jmp 0x1803f0109
mov eax, dword [0x180797138]
sub eax, dword [0x18079713c]
or eax, 0xb551bb2d
or eax, 0x84398a8e
and eax, 0xcbc8ba73
cmp eax, 0xd3977f84
je 0x1803f0829
mov eax, dword [0x180797140]
imul eax, dword [0x180797144]
and eax, 0x3adafe13
mov r8d, 0xb8914d40
xor edx, edx
div r8d
imul edx, eax, 0x6b087b5d
cmp rcx, 0
sete al
cmp edx, 0x1bc80ed4
ja 0x1803f0829
test al, 1
jne 0x1803f016e
jmp 0x1803f02c9
mov qword [rbp + 0x10], r13
mov rax, qword [rbp - 0x40]
mov rcx, qword [rbp - 0x38]
sub rsp, 0x40
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 6
mov rcx, rdi
mov rdx, r14
mov r8, rbx
mov r9, r15
call fcn.1803eaa00
add rsp, 0x40
mov r14, qword [rdi + 8]
mov rax, qword [rdi + 0x10]
mov qword [rbp + 0x18], rax
lea rax, str.BJ:
mov qword [rbp + 0x28], rax
lea rax, [rbp + 0x28]
mov rcx, qword [rbp + 0x28]
movabs rax, 0xe95652e954662a68
mov qword [rbp + 0x20], rax
lea rax, [rbp + 0x20]
mov rdx, qword [rbp + 0x20]
sub rsp, 0x20
call fcn.180322e90
add rsp, 0x20
mov r15d, dword [rax]
xor r15d, 0x6e2e77b9
movzx ecx, word [rax + 4]
movzx eax, byte [rax + 6]
shl eax, 0x10
or ecx, eax
mov r12d, ecx
and r12d, 0xffff00
shr r12d, 8
mov r13b, cl
xor r13b, 0x75
xor r12b, 0xfd
shr ecx, 0x10
xor cl, 0xf9
movzx esi, cl
mov eax, dword [0x180797148]
xor edx, edx
div dword [0x18079714c]
and eax, 0x5257a9ec
xor eax, 0xed72973b
imul eax, eax, 0xece81a2b
cmp eax, 0x4b61600e
jb 0x1803f083a
mov eax, dword [0x180797150]
mov ecx, dword [0x180797154]
xor eax, ecx
imul ebx, eax, 0xf622369d
add ebx, 0x768c0298
mov rax, rsi
shl rax, 0x30
movzx ecx, r12b
shl rcx, 0x28
or rax, rcx
movzx ecx, r13b
shl rcx, 0x20
or rax, rcx
mov byte [rbp + 0x46], sil
shr rax, 0x20
mov word [rbp + 0x44], ax
mov dword [rbp + 0x40], r15d
lea rcx, [rbp - 0x30]
sub rsp, 0x20
call fcn.180666f90
add rsp, 0x20
movabs rax, 0x8000000000000000
cmp qword [rbp - 0x30], rax
sete al
cmp ebx, 0xf9f90c16
ja 0x1803f083a
test al, 1
jne 0x1803f0706
jmp 0x1803f0321
mov eax, dword [0x180797158]
sub eax, dword [0x18079715c]
xor eax, 0x6c00f649
and eax, 0xad08b0da
xor eax, 0x4ce6a49b
cmp eax, 0x95e077d7
je 0x1803f0885
mov eax, dword [0x180797160]
xor edx, edx
div dword [0x180797164]
mov ecx, 0xb0c3c019
xor edx, edx
div ecx
or eax, 0x5388f2a
sub eax, 0x2699409d
cmp eax, 0x6d4bd54a
jbe 0x1803f0885
jmp 0x1803f031d
ud2
mov rax, qword [rbp - 0x30]
mov qword [rbp - 0x10], rax
mov rax, qword [rbp - 0x28]
mov qword [rbp - 8], rax
mov rax, qword [rbp - 0x20]
mov qword [rbp], rax
mov rax, qword [rbp - 0x18]
mov qword [rbp + 8], rax
lea rcx, [rbp - 0x10]
sub rsp, 0x20
call fcn.1804cda80
add rsp, 0x20
mov r8, rdx
lea rcx, [rbp - 0x80]
sub rsp, 0x20
mov rdx, rax
call fcn.180671650
add rsp, 0x20
lea rax, [rbp - 0x80]
add rax, 8
mov r15, qword [rax]
mov rax, qword [rbp - 0x70]
lea r9, [rbp + 0x40]
sub rsp, 0x40
mov rsi, qword [rbp + 0x10]
mov rcx, rsi
mov rbx, r14
mov rdx, rbx
mov r8, qword [rbp + 0x18]
mov qword [rsp + 0x20], 7
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x30], rax
call fcn.1803eaa00
add rsp, 0x40
mov rdx, qword [rbp - 0x80]
mov rax, rdx
shl rax, 1
test rax, rax
je 0x1803f03d6
jmp 0x1803f03be
sub rsp, 0x20
mov rcx, r15
mov r8d, 1
call fcn.1804cafa0
add rsp, 0x20
jmp 0x1803f03d6
mov rdx, qword [rbp - 0x10]
mov eax, dword [0x180797168]
add eax, dword [0x18079716c]
add eax, 0xb1309879
xor eax, 0xc1aa657e
xor eax, 0x638b3200
cmp eax, 0xb8f05668
ja 0x1803f0892
jmp 0x1803f0402
mov ecx, dword [0x180797170]
sub ecx, dword [0x180797174]
and ecx, 0x219afaac
add ecx, 0x8055b0a7
and ecx, 0xc79f91dc
cmp rdx, 0
sete al
cmp ecx, 0x5446ccf
jb 0x1803f0402
test al, 1
jne 0x1803f0455
jmp 0x1803f0435
lea rax, [rbp - 0x10]
add rax, 8
mov rcx, qword [rax]
sub rsp, 0x20
mov r8d, 1
call fcn.1804cafa0
add rsp, 0x20
jmp 0x1803f0455
mov eax, dword [0x180797178]
sub eax, dword [0x18079717c]
and eax, 0x9c6cdf44
mov ecx, 0xa662d61d
xor edx, edx
div ecx
or eax, 0xa2ffab1
cmp eax, 0xa55f92c8
ja 0x1803f08a3
jmp 0x1803f0481
mov eax, dword [0x180797180]
sub eax, dword [0x180797184]
xor eax, 0xf876880
or eax, 0xda9dd658
add eax, 0xd69ee1cf
cmp eax, 0xd46a3e5f
je 0x1803f0481
jmp 0x1803f04a5
mov eax, dword [0x180797188]
xor eax, dword [0x18079718c]
sub eax, 0x78f265fc
and eax, 0x25fa7ab9
imul eax, eax, 0x77e32057
cmp eax, 0x6e080ee3
jb 0x1803f08b0
jmp 0x1803f04ce
mov eax, dword [0x180797190]
xor eax, dword [0x180797194]
and eax, 0x589d8f64
add eax, 0x2951e0ea
imul ecx, eax, 0x6cc4d6d4
mov r14, qword [rdi]
cmp r14, 0
sete al
cmp ecx, 0x187c4e67
je 0x1803f04ce
test al, 1
jne 0x1803f05ca
jmp 0x1803f0506
mov eax, dword [0x180797198]
add eax, dword [0x18079719c]
imul eax, eax, 0x10900aa5
and eax, 0x24e8fa7c
or eax, 0xe0a76715
cmp eax, 0xa752d1d8
je 0x1803f08c1
mov eax, dword [0x1807971a0]
xor edx, edx
div dword [0x1807971a4]
mov edi, eax
sub edi, 0x4b68c05f
or edi, 0xca788d9c
or edi, 0x26d10891
sub rsp, 0x20
mov rcx, rbx
mov rdx, r14
mov r8d, 1
call fcn.1804cafa0
add rsp, 0x20
cmp edi, 0xd7ec385d
je 0x1803f08c1
jmp 0x1803f0576
mov eax, dword [0x1807971a8]
and eax, dword [0x1807971ac]
mov ecx, 0xdff22176
xor edx, edx
div ecx
or eax, 0xf308fad1
sub eax, 0xf7deb66
cmp eax, 0x484e4cc2
jb 0x1803f08eb
jmp 0x1803f05a2
mov eax, dword [0x1807971b0]
or eax, dword [0x1807971b4]
mov ecx, 0x11b2a96d
xor edx, edx
div ecx
xor eax, 0x15e4358c
add eax, 0x9d47eec7
cmp eax, 0x1bce397b
je 0x1803f05a2
jmp 0x1803f05ca
mov r8, qword [rbp - 0x68]
mov eax, dword [0x1807971b8]
add eax, dword [0x1807971bc]
sub eax, 0x8bd5bdc2
sub eax, 0x81c399a8
mov ecx, 0x19739979
xor edx, edx
div ecx
cmp eax, 0x60826d1f
ja 0x1803f08fc
jmp 0x1803f05fa
mov eax, dword [0x1807971c0]
sub eax, dword [0x1807971c4]
imul ecx, eax, 0xac854c11
sub ecx, 0xf209f6e5
or ecx, 0xe3d078b9
cmp r8, 0
sete al
cmp ecx, 0x824db73d
je 0x1803f05fa
jmp 0x1803f0629
test al, 1
jne 0x1803f0650
jmp 0x1803f062f
lea rax, [rbp - 0x68]
add rax, 8
mov rcx, qword [rax]
sub rsp, 0x20
mov rdx, r8
mov r8d, 1
call fcn.1804cafa0
add rsp, 0x20
mov eax, dword [0x1807971c8]
add eax, dword [0x1807971cc]
add eax, 0x83500fee
and eax, 0x9b9ad75f
and eax, 0x263ce797
cmp eax, 0xbf50db92
jae 0x1803f0909
jmp 0x1803f0678
mov eax, dword [0x1807971d0]
imul eax, dword [0x1807971d4]
mov ecx, 0x947a0cf1
xor edx, edx
div ecx
add eax, 0xaf8c4d84
xor eax, 0x9b21682
cmp eax, 0x25891f00
jb 0x1803f0678
jmp 0x1803f06a1
mov eax, dword [0x1807971d8]
or eax, dword [0x1807971dc]
imul eax, eax, 0x201973d5
or eax, 0x5f6d174f
mov ecx, 0xe3b95ca6
xor edx, edx
div ecx
cmp eax, 0x91eaeb16
je 0x1803f0916
jmp 0x1803f06ce
mov eax, dword [str._f__D]
or eax, dword [0x1807971e4]
or eax, 0xe2e1d66
imul eax, eax, 0xc60eb29
imul eax, eax, 0x15a4bb8
cmp eax, 0x46ac3d69
jbe 0x1803f06ce
mov rax, rsi
lea rsp, [rbp + 0x48]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
ud2
xchg ebx, eax
jge 0x1803f07a5
out dx, al
add dh, byte [rax]
invalid
lea eax, [rbp + 0x30]
mov rdx, qword [rbp + 0x30]
sub rsp, 0x20
call fcn.1802f3160
add rsp, 0x20
mov ecx, dword [rax]
movzx eax, word [rax + 4]
mov dl, al
xor dl, 0x9e
shr eax, 8
xor al, 0x3d
movzx eax, al
shl rax, 0x28
movzx edx, dl
shl rdx, 0x20
or rax, rdx
xor rcx, 0x741c6aff
mov dword [rsi], ecx
shr rax, 0x20
mov word [rsi + 4], ax
lea rcx, [rbp - 0x68]
sub rsp, 0x20
call fcn.180666f50
add rsp, 0x20
lea rcx, [rbp - 0x68]
sub rsp, 0x20
call fcn.1804cda80
add rsp, 0x20
mov r8, rdx
lea rcx, [rbp - 0x48]
sub rsp, 0x20
mov rdx, rax
call fcn.180671630
add rsp, 0x20
jmp 0x1803f000e
jb 0x1803f07e1
mov dh, 0xa6
shl byte [rsi + 0x24058069], 1
sbb byte [rbp - 0x70a17], cl
invalid
fstp dword [rcx - 0x3489fa11]
invalid
and byte [rsi - 0x77], ah
mov dword [rbp + 0x40], r15d
lea rcx, [rbp - 0x30]
sub rsp, 0x20
call fcn.180666f90
add rsp, 0x20
jmp 0x1803f024a
jnp 0x1803f08b2
pushfq
mov al, 0xac
outsb dx, byte [rsi]
invalid
mov ebx, 0x18cc2103
xchg esi, eax
mov ecx, fs
adc edx, ecx
jmp 0x1803f0400
cdq
push rbx
xchg byte [rsi + 0xcc763c0], ch
jmp 0x1803f047f
loop 0x1803f0866
test eax, 0x944f4631
push rdx
xchg ecx, eax
lahf
in al, 0x6e
jmp 0x1803f04cc
mov ah, byte [rdi + 0x3c]
push rsi
invalid
sub esp, 0x20
mov rcx, rbx
mov rdx, r14
mov r8d, 1
call fcn.1804cafa0
add rsp, 0x20
jmp 0x1803f052d
ror dword [rbx + 0x1f], 8
invalid
sub byte [rcx + rdx*4 + 0x58], dh
cmp ch, byte [rdx - 0x31016e2]
invalid
mov dl, 0x41
lahf
jbe 0x1803f08ce
enter 0xffffffffffffe957, 0x60
std
invalid
mov ecx, dword [rdi + 0x5d]
cwde
invalid