Function at 0x1803a5040
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x20
mov rsi, rcx
mov al, byte [rsi + 0x18]
movzx eax, al
test eax, eax
je 0x1803a50c8
jmp 0x1803a5059
mov ecx, eax
sub ecx, 3
je 0x1803a519f
jmp 0x1803a5066
sub eax, 4
je 0x1803a52d6
jmp 0x1803a5071
mov eax, dword [0x1807901d0]
sub eax, dword [0x1807901d4]
sub eax, 0x5e4ab74f
imul eax, eax, 0x8255913e
and eax, 0x7ea216b3
cmp eax, 0x2bcf834
jbe 0x1803a595a
jmp 0x1803a509a
mov eax, dword [0x1807901d8]
or eax, dword [0x1807901dc]
xor eax, 0x67221f0d
imul eax, eax, 0xcc82fd2
and eax, 0x7783ab2f
cmp eax, 0xdb7f99d4
jae 0x1803a509a
add rsp, 0x20
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret
mov eax, dword [0x1807901e0]
xor edx, edx
div dword [0x1807901e4]
add eax, 0xa0f6405c
xor eax, 0x76128559
imul eax, eax, 0x31182880
cmp eax, 0xb332b159
je 0x1803a596b
jmp 0x1803a50f3
mov eax, dword [0x1807901e8]
imul eax, dword [0x1807901ec]
mov ecx, 0x25007198
xor edx, edx
div ecx
add eax, 0x940f1f0c
mov ecx, 0x227de1b8
xor edx, edx
div ecx
mov rdi, qword [rsi]
cmp eax, 0x6aa6eae3
jae 0x1803a50f3
jmp 0x1803a5123
cmp rdi, 0
je 0x1803a5071
add rsi, 8
mov rsi, qword [rsi]
mov eax, dword [0x1807901f0]
imul eax, dword [0x1807901f4]
sub eax, 0xb063261f
xor eax, 0xd27c998e
add eax, 0x20455fa9
cmp eax, 0x1900453
jbe 0x1803a597c
mov eax, dword [0x1807901f8]
or eax, dword [0x1807901fc]
and eax, 0x6b3fddb7
mov ecx, 0x8ff6cabf
xor edx, edx
div ecx
mov ebx, eax
and ebx, 0x2c827398
mov rcx, rsi
mov rdx, rdi
mov r8d, 1
call fcn.1804cafa0
cmp ebx, 0xba6fe8a0
je 0x1803a597c
jmp 0x1803a5071
mov rax, rsi
add rax, 0x20
cmp word [rax], 3
sete al
mov ecx, dword [0x180790200]
sub ecx, dword [0x180790204]
sub ecx, 0x8c7390ad
and ecx, 0xcf8c77ba
xor ecx, 0xf253094a
cmp ecx, 0x9c22bea7
je 0x1803a599e
mov ecx, dword [0x180790208]
add ecx, dword [0x18079020c]
sub ecx, 0xc40f9519
imul ecx, ecx, 0xf8bf16f7
or ecx, 0xc0025ad4
cmp ecx, 0xf2ced0cf
ja 0x1803a599e
test al, 1
jne 0x1803a520a
jmp 0x1803a5071
mov eax, dword [0x180790210]
and eax, dword [0x180790214]
and eax, 0x4a297e14
or eax, 0xaa7b1c1f
add eax, 0x8400ce5
cmp eax, 0xf79e3db1
je 0x1803a59ab
mov ecx, dword [0x180790218]
xor ecx, dword [0x18079021c]
xor ecx, 0xd33deffb
xor ecx, 0xe2deb10b
add ecx, 0xfde11f5b
mov rax, rsi
add rax, 0x28
cmp ecx, 0xec55b891
je 0x1803a59ab
jmp 0x1803a5263
mov rsi, qword [rax]
mov rcx, rsi
call fcn.18063b340
test al, 1
jne 0x1803a5277
jmp 0x1803a5071
mov eax, dword [0x180790220]
or eax, dword [0x180790224]
add eax, 0xa32ac0a8
xor eax, 0x13383da5
add eax, 0xaedc244
cmp eax, 0x20a82252
jb 0x1803a59b8
jmp 0x1803a529f
mov eax, dword [0x180790228]
sub eax, dword [0x18079022c]
sub eax, 0xf39ee51a
mov ecx, 0xcfb0af6e
xor edx, edx
div ecx
imul edi, eax, 0x3c04ac6e
mov rcx, rsi
call fcn.18063bbe0
cmp edi, 0x5a1b885b
jae 0x1803a529f
jmp 0x1803a52d1
jmp 0x1803a5071
mov eax, dword [0x180790230]
and eax, dword [0x180790234]
add eax, 0x6f2b2a25
sub eax, 0x1ccff1db
imul eax, eax, 0x974a7432
cmp eax, 0x6abb1630
je 0x1803a59d1
mov eax, dword [0x180790238]
imul eax, dword [0x18079023c]
mov ecx, 0x1bfdb415
xor edx, edx
div ecx
imul ecx, eax, 0x6ebbdb0e
sub ecx, 0xa6ad23f7
mov al, byte [rsi + 0xb8]
cmp ecx, 0x2ef797f4
ja 0x1803a59d1
jmp 0x1803a5333
mov ecx, dword [0x180790240]
or ecx, dword [0x180790244]
sub ecx, 0x6fbb7ba0
add ecx, 0xfc872849
xor ecx, 0x7c307c60
cmp ecx, 0xf4d847f1
je 0x1803a59de
mov edx, dword [0x180790248]
add edx, dword [0x18079024c]
and edx, 0x709ce6d5
and edx, 0xec82ad82
and edx, 0xac2e2b22
cmp al, 3
sete cl
cmp edx, 0x9228066a
jae 0x1803a59de
jmp 0x1803a538e
test cl, 1
jne 0x1803a5395
jmp 0x1803a5401
mov rdi, rsi
add rdi, 0x70
mov eax, dword [0x180790250]
sub eax, dword [0x180790254]
xor eax, 0x2b0ad505
mov ecx, 0x36178db7
xor edx, edx
div ecx
or eax, 0x5cad06de
cmp eax, 0x2dc8c423
jb 0x1803a59ef
jmp 0x1803a53c8
mov eax, dword [0x180790258]
and eax, dword [0x18079025c]
or eax, 0x10fa3cf5
mov ecx, 0x4f300411
xor edx, edx
div ecx
mov ecx, 0xef68133c
xor edx, edx
div ecx
mov ebx, eax
mov rcx, rdi
call fcn.1803a9200
cmp ebx, 0x8a2c948e
je 0x1803a53c8
jmp 0x1803a53ff
jmp 0x1803a5401
mov eax, dword [0x180790260]
xor eax, dword [0x180790264]
xor eax, 0xafa20630
sub eax, 0x73f39aba
add eax, 0xc887e40a
cmp eax, 0x1146d2d1
je 0x1803a5a04
jmp 0x1803a5429
mov ecx, dword [0x180790268]
and ecx, dword [0x18079026c]
and ecx, 0xaf275e7b
and ecx, 0x3a253d40
and ecx, 0xff9a977d
mov eax, dword [rsi + 0x28]
cmp ecx, 0x68a825d4
jae 0x1803a5429
jmp 0x1803a5454
cmp eax, 0
sete cl
mov eax, dword [0x180790270]
sub eax, dword [0x180790274]
xor eax, 0xca1560c0
and eax, 0xec84d0f7
and eax, 0xdf319c9e
cmp eax, 0x4cc86fbc
je 0x1803a5a15
jmp 0x1803a5482
mov eax, dword [0x180790278]
sub eax, dword [0x18079027c]
and eax, 0x351b543a
mov r8d, 0x15b391fa
xor edx, edx
div r8d
sub eax, 0xd77bec5c
cmp eax, 0x918cb30d
jae 0x1803a5482
test cl, 1
jne 0x1803a562a
jmp 0x1803a54b5
mov eax, dword [0x180790280]
and eax, dword [0x180790284]
mov ecx, 0x2d4fb74a
xor edx, edx
div ecx
sub eax, 0x21bf4c2
and eax, 0x3a73b854
cmp eax, 0xd931b4a
jb 0x1803a5a26
jmp 0x1803a54e1
mov eax, dword [0x180790288]
and eax, dword [0x18079028c]
add eax, 0x2cfdc7cd
xor eax, 0x502111fd
mov ecx, 0xd0d79560
xor edx, edx
div ecx
cmp eax, 0xbd99b868
ja 0x1803a54e1
jmp 0x1803a5509
mov rbx, qword [rsi + 0x40]
cmp rbx, 0
sete al
mov ecx, dword [0x180790290]
xor ecx, dword [0x180790294]
add ecx, 0x53685bfe
xor ecx, 0x7c0806ff
or ecx, 0x9c232db8
cmp ecx, 0xf85a506c
je 0x1803a5a33
jmp 0x1803a5540
mov ecx, dword [0x180790298]
and ecx, dword [0x18079029c]
or ecx, 0x94b9acb
xor ecx, 0x49fa2c1a
imul ecx, ecx, 0x17e9816a
cmp ecx, 0xb94bce21
je 0x1803a5540
test al, 1
jne 0x1803a562a
jmp 0x1803a5570
mov rdi, qword [rsi + 0x30]
mov eax, dword [0x1807902a0]
add eax, dword [0x1807902a4]
sub eax, 0xea7dce6c
xor eax, 0x5a797ca7
and eax, 0x5d9e92b6
cmp eax, 0xfdfe29d6
ja 0x1803a5a44
mov eax, dword [0x1807902a8]
imul eax, dword [0x1807902ac]
imul ebp, eax, 0xabdde102
xor ebp, 0xb3f0f4a5
add ebp, 0x914eeff3
mov rdx, rbx
shl rdx, 5
mov rcx, rdi
mov r8d, 4
call fcn.1804cafa0
cmp ebp, 0x734b30dd
jb 0x1803a5a44
jmp 0x1803a55dc
mov eax, dword [str.B8jOgk_nB]
xor eax, dword [0x1807902b4]
sub eax, 0x5840567a
xor eax, 0x2dcca3cf
sub eax, 0xd526ca7a
cmp eax, 0xc4c1cd6d
je 0x1803a5a66
mov eax, dword [0x1807902b8]
sub eax, dword [0x1807902bc]
xor eax, 0xd61aba6e
or eax, 0xd7c54d54
add eax, 0x6c5b1d0e
cmp eax, 0xb946d34e
ja 0x1803a5a66
jmp 0x1803a562a
add rsi, 0x20
mov rcx, qword [rsi]
cmp rcx, 0
je 0x1803a5071
mov eax, dword [0x1807902c0]
xor edx, edx
div dword [0x1807902c4]
mov r8d, 0xcde88bfe
xor edx, edx
div r8d
xor eax, 0x897eddae
xor eax, 0x792e311b
cmp eax, 0xf5f337c5
je 0x1803a5a73
jmp 0x1803a566b
mov eax, dword [0x1807902c8]
sub eax, dword [0x1807902cc]
xor eax, 0x8f6c0c51
imul eax, eax, 0x34957524
mov r8d, 0x1342d13c
xor edx, edx
div r8d
mov rdx, rcx
and rdx, 3
cmp eax, 0x8169d513
ja 0x1803a566b
jmp 0x1803a569d
lea rax, [0x1806c5430]
movsxd rdx, dword [rax + rdx*4]
add rdx, rax
jmp rdx
mov ecx, 0x7e32e1a
adc dword [rdi], esp
cmp al, 0xe1
or byte [rax - 0x8d21666], bh
invalid
push rbx
xor al, 0x34
mov bh, 0x82
jbe 0x1803a597f
or eax, 0x2ee1d269
invalid
imul edx, edx, 0xe9612ee1
jne 0x1803a5971
invalid
fisubr word [rdx - 0x3c7d669a]
add al, 0x24
out 0x3d, eax
lea ecx, [rax + 0x48]
mov ecx, esi
mov rdx, rdi
mov r8d, 1
call fcn.1804cafa0
jmp 0x1803a515b
cdq
invalid
mov fs, word [rax - 0x42]
retf 0x1de9
invalid
and dword [rdi], edx
stosd dword [rdi], eax
clc
jo 0x1803a59b9
invalid
xor ch, byte [rsi]
pop rcx
invalid
jb 0x1803a59d9
push rcx
mov ah, 0x9c
invalid
jmp 0x1803a52fd
mul dword [rcx - 0x33]
invalid
hlt
invalid
ja 0x1803a5a7a
pop rbp
sbb ebp, esi
xchg esp, eax
pop rbx
xor al, 0x16
sahf
jmp 0x1803a5480
cdq
invalid
cmp ah, byte [rdx + 0x175e2310]
invalid
sbb ah, cl
call [rdi + rcx*8 + 0x4a]
mov rdx, rbx
shl rdx, 5
mov rcx, rdi
mov r8d, 4
call fcn.1804cafa0
jmp 0x1803a559a
invalid
retfq 0xffffffffffffb180
jmp 0x1803a5669