Function at 0x1804a3d30
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x138
mov rdi, r8
mov rbx, rdx
mov rsi, rcx
mov r13, qword [rbx]
movabs rax, 0x8000000000000005
cmp r13, rax
sete al
test al, 1
jne 0x1804a3d65
jmp 0x1804a3dc7
mov eax, dword [0x1807aa600]
sub eax, dword [0x1807aa604]
or eax, 0xcd1d01e1
xor eax, 0x27223bb2
xor eax, 0x6b2723ff
cmp eax, 0xb8e212b6
jae 0x1804a43bd
mov eax, dword [0x1807aa608]
imul eax, dword [0x1807aa60c]
imul ecx, eax, 0x72edf15b
and ecx, 0x28419f77
add ecx, 0xdb6efa00
mov rax, rbx
add rax, 0x28
cmp ecx, 0xc02fe211
ja 0x1804a43bd
jmp 0x1804a3dbf
mov r14, qword [rax]
jmp 0x1804a4252
mov eax, dword [0x1807aa610]
imul eax, dword [0x1807aa614]
and eax, 0xb9e23c55
mov ecx, 0x1fa00569
xor edx, edx
div ecx
and eax, 0xc6575b26
cmp eax, 0x12dcb610
ja 0x1804a43ce
jmp 0x1804a3df4
mov eax, dword [0x1807aa618]
imul eax, dword [0x1807aa61c]
add eax, 0x4ea07b94
sub eax, 0x6250395b
sub eax, 0x751e38fb
cmp eax, 0x8d4247b
jb 0x1804a3df4
jmp 0x1804a3e19
mov r14, qword [rbx + 0x28]
lea rcx, [rsp + 0xb0]
mov rdx, r14
mov r8, rdi
call fcn.1803f3ed0
mov r15, qword [rsp + 0xb0]
mov rax, r15
sub rax, 0xf
je 0x1804a3e57
jmp 0x1804a3e43
mov rax, r15
sub rax, 0x10
jne 0x1804a41e5
jmp 0x1804a3e52
jmp 0x1804a4281
movabs rax, 0x8000000000000005
mov qword [rbx], rax
add rbx, 8
mov eax, dword [0x1807aa620]
add eax, dword [0x1807aa624]
mov ecx, 0x815c0483
xor edx, edx
div ecx
xor eax, 0x98c5c195
mov ecx, 0x28bcd05d
xor edx, edx
div ecx
cmp eax, 0x44a9d5c0
je 0x1804a43df
jmp 0x1804a3e98
mov eax, dword [0x1807aa628]
imul eax, dword [0x1807aa62c]
imul eax, eax, 0xe54f88c2
mov ecx, 0x3ad85fa5
xor edx, edx
div ecx
or eax, 0xbb84aab0
mov r15, qword [r14]
cmp eax, 0xc7da9687
je 0x1804a3e98
jmp 0x1804a3ec5
movabs rax, 0x8000000000000005
cmp r15, rax
je 0x1804a41bb
mov eax, dword [0x1807aa630]
or eax, dword [0x1807aa634]
mov ecx, 0x93e9a03c
xor edx, edx
div ecx
sub eax, 0x2e1ba6b1
sub eax, 0xb811df2
cmp eax, 0x452bc86b
jb 0x1804a43f0
mov eax, dword [0x1807aa638]
or eax, dword [0x1807aa63c]
imul ecx, eax, 0x48c93ae2
and ecx, 0xd2af24b0
xor ecx, 0x50380894
movabs rdx, 0x8000000000000000
mov rax, r15
xor rax, rdx
cmp ecx, 0xbacd0f7e
je 0x1804a43f0
jmp 0x1804a3f3e
mov rcx, rax
sub rcx, 5
mov ecx, 5
cmovb rcx, rax
mov rax, rcx
sub rax, 4
jb 0x1804a4036
jmp 0x1804a3f5d
sub rcx, 4
mov rcx, r14
jne 0x1804a40ed
jmp 0x1804a3f6c
mov rcx, r14
add rcx, 8
mov r15, qword [r14 + 8]
mov eax, dword [0x1807aa640]
xor eax, dword [0x1807aa644]
sub eax, 0x997e4346
and eax, 0xf17bd932
add eax, 0xc08d968f
cmp eax, 0x87127a90
jbe 0x1804a43fd
jmp 0x1804a3f9f
mov edx, dword [0x1807aa648]
and edx, dword [0x1807aa64c]
sub edx, 0x7f9a65fe
or edx, 0xe55c753
and edx, 0xf056493f
movabs rax, 0x8000000000000002
cmp r15, rax
setl al
cmp edx, 0xc21d1fd1
je 0x1804a3f9f
jmp 0x1804a3fd7
mov edx, dword [0x1807aa650]
add edx, dword [0x1807aa654]
add edx, 0x4c5e478
add edx, 0xcc40ac5d
or edx, 0xadaa1fa2
cmp edx, 0x82fc196d
jbe 0x1804a440a
jmp 0x1804a4003
mov edx, dword [0x1807aa658]
xor edx, dword [0x1807aa65c]
and edx, 0x1278c0c7
imul edx, edx, 0x2c3b006a
imul edx, edx, 0x30ecc76d
cmp edx, 0x13cc0f1f
je 0x1804a4003
test al, 1
jne 0x1804a41bb
jmp 0x1804a40ed
mov rcx, r14
add rcx, 8
mov eax, dword [0x1807aa660]
sub eax, dword [0x1807aa664]
imul eax, eax, 0x20636863
xor eax, 0x83723d73
and eax, 0x9de20d0a
cmp eax, 0xa53c1ab5
jae 0x1804a441b
mov eax, dword [0x1807aa668]
and eax, dword [0x1807aa66c]
imul eax, eax, 0xbabe3039
sub eax, 0x4f897ecf
imul eax, eax, 0xe7579f9e
mov r15, qword [rcx]
cmp eax, 0xb56a568
je 0x1804a441b
jmp 0x1804a4091
mov eax, dword [0x1807aa670]
sub eax, dword [0x1807aa674]
imul eax, eax, 0x3764f13f
imul eax, eax, 0x100698d8
mov r8d, 0xa3e33957
xor edx, edx
div r8d
cmp eax, 0x33699f67
jae 0x1804a4428
mov eax, dword [0x1807aa678]
xor eax, dword [0x1807aa67c]
xor eax, 0xce65000f
mov r8d, 0x5cb032f7
xor edx, edx
div r8d
or eax, 0x31062e8d
cmp eax, 0x875d8b7f
je 0x1804a4428
jmp 0x1804a40ed
mov eax, dword [0x1807aa680]
sub eax, dword [0x1807aa684]
and eax, 0xca62d493
imul eax, eax, 0x8f41ebc6
sub eax, 0xee3087a3
cmp eax, 0x75c89004
ja 0x1804a4435
mov eax, dword [0x1807aa688]
add eax, dword [0x1807aa68c]
xor eax, 0xcd64567f
imul edx, eax, 0x6b1a0276
add edx, 0xbe9fca45
cmp r15, 0
sete al
cmp edx, 0x51f9d4fc
jbe 0x1804a4435
test al, 1
jne 0x1804a41bb
jmp 0x1804a414a
add rcx, 8
mov r12, qword [rcx]
mov eax, dword [0x1807aa690]
imul eax, dword [0x1807aa694]
imul eax, eax, 0xd1cfc9f7
mov ecx, 0x9df6cde7
xor edx, edx
div ecx
imul eax, eax, 0x957963e5
cmp eax, 0x88e3def
jb 0x1804a4446
mov ebp, dword [0x1807aa698]
add ebp, dword [0x1807aa69c]
xor ebp, 0xaee88ffc
or ebp, 0xf40a8102
and ebp, 0x41f45572
mov rcx, r12
mov rdx, r15
mov r8d, 1
call fcn.1804cafa0
cmp ebp, 0xf3d3cc6d
jae 0x1804a4446
jmp 0x1804a41bb
mov qword [r14], r13
mov rax, r14
add rax, 8
mov rcx, qword [rbx]
mov qword [rax], rcx
mov rcx, qword [rbx + 8]
mov qword [rax + 8], rcx
mov rcx, qword [rbx + 0x10]
mov qword [rax + 0x10], rcx
mov rcx, qword [rbx + 0x18]
mov qword [rax + 0x18], rcx
jmp 0x1804a4252
lea rdx, [rsp + 0xb0]
add rdx, 8
mov rcx, rsi
add rcx, 8
mov r8d, 0x80
call fcn.1806a7400
mov eax, dword [0x1807aa6a0]
sub eax, dword [0x1807aa6a4]
xor eax, 0xf3e2eee8
imul eax, eax, 0xa0e3a893
or eax, 0xc801f47c
cmp eax, 0x65d144c3
jb 0x1804a4468
jmp 0x1804a422c
mov eax, dword [0x1807aa6a8]
xor eax, dword [0x1807aa6ac]
sub eax, 0xb7aaa2e1
add eax, 0xcf8edb12
and eax, 0x828f8630
cmp eax, 0x59594f31
jb 0x1804a422c
jmp 0x1804a4250
jmp 0x1804a4281
lea rcx, [rsp + 0x28]
mov rdx, r14
mov r8, rdi
call fcn.1803f3680
mov rdi, qword [rsp + 0x28]
mov rax, rdi
sub rax, 0xf
je 0x1804a42ea
jmp 0x1804a4272
mov rax, rdi
sub rax, 0x10
je 0x1804a430e
jmp 0x1804a42f3
mov qword [rsi], r15
jmp 0x1804a4286
mov eax, dword [0x1807aa6b0]
xor eax, dword [0x1807aa6b4]
or eax, 0x5a34b88e
imul eax, eax, 0xefd9776c
add eax, 0x171a8d8
cmp eax, 0x74f5687
je 0x1804a4479
mov eax, dword [0x1807aa6b8]
and eax, dword [0x1807aa6bc]
add eax, 0x52372ae9
add eax, 0x562fe797
or eax, 0x341f17ed
cmp eax, 0x984eec9
jb 0x1804a4479
mov rax, rsi
add rsp, 0x138
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov qword [rsi], 0xf
jmp 0x1804a4286
lea rdx, [rsp + 0x28]
add rdx, 8
mov rcx, rsi
add rcx, 8
mov r8d, 0x80
call fcn.1806a7400
mov eax, dword [0x1807aa6c0]
sub eax, dword [0x1807aa6c4]
sub eax, 0xe8864057
and eax, 0x3c78dff
add eax, 0xee40f09e
cmp eax, 0x486db381
jbe 0x1804a448a
jmp 0x1804a4336
mov eax, dword [0x1807aa6c8]
imul eax, dword [0x1807aa6cc]
mov ecx, 0x939127c7
xor edx, edx
div ecx
add eax, 0x26656531
and eax, 0x806ddaf8
mov qword [rsi], rdi
insd dword [rdi], dx
or byte [rax - 0x77], 0x3e
cmp eax, 0x302fb536
ja 0x1804a4336
jmp 0x1804a4362
mov eax, dword [0x1807aa6d0]
sub eax, dword [0x1807aa6d4]
and eax, 0x6c2220b5
sub eax, 0xf9af49fd
imul eax, eax, 0x4e83e053
cmp eax, 0xfb3fbcf5
je 0x1804a449a
mov eax, dword [0x1807aa6d8]
xor eax, dword [0x1807aa6dc]
mov ecx, 0xf5bd7fd5
xor edx, edx
div ecx
mov ecx, 0xaeaaa3f6
xor edx, edx
div ecx
imul eax, eax, 0x7ab903f
cmp eax, 0x7765af50
jae 0x1804a449a
jmp 0x1804a4286
or byte [rdx + riz*8 + 0x618365d8], 0xb0
push rsi
jmp 0x1804a4354
xor edi, dword [rax + rdx - 0xc]
xor ch, bh
mov esp, 0x1ac1a455
push rsi
jmp 0x1804a3df2
cld
imul edi, dword [rbp + 0x3c], 0x61b6d2c3
and edx, esi
pop rdi
jmp 0x1804a3e96
pop rsi
invalid
invalid
sti
movabs al, byte [0x9f94ab3e65a262db]
and bpl, cl
out 0xfb, al
invalid
invalid
or dword [rax - 0x17], 0xfffffc3c
jbe 0x1804a445e
cmp dword [rbp + 0x1f210de2], edi
jmp 0x1804a40bf
movabs byte [0xd36f5b39cb5829fd], al
sub edx, ebx
jmp 0x1804a4114
cld
invalid
and al, 0xd3
cmc
mov ebp, 0x3496600e
lodsb al, byte ss:[rsi]
enter 0x4c12, 0xffffffffffffff89
loope 0x1804a44a2
adc cl, byte [rcx + rcx*4 - 0x1f]
mov rdx, r15
mov edx, edi
mov r8d, 1
call fcn.1804cafa0
jmp 0x1804a417e
insd dword [rdi], dx
std
jle 0x1804a4443
jnp 0x1804a4421
push rcx
scasd eax, dword [rdi]
cmp al, 0xf5
or ecx, ebp
mov cl, 0xfd
invalid
out 0x50, eax
xor eax, 0x14d99546
call 0x1a43360de
invalid
jo 0x1804a4451
pop rcx
adc dword [rdi], eax
invalid
xchg edx, eax
sub edx, dword [rbx - 0x6b73b1ce]
int3
int3