Function at 0x1804027b0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x40
mov rbx, r8
mov rdi, rdx
mov rsi, rcx
mov r14, rdi
add r14, 0x10
mov rcx, qword [rdi + 0x10]
and rcx, 0xffffffffffffffe0
mov r8, qword [rdi]
mov rax, r8
add rax, 0x500
cmp qword [rax], rcx
jne 0x1804027e9
jmp 0x1804028e2
jmp 0x1804027eb
mov r8, qword [r8 + 0x508]
cmp r8, 0
je 0x1804028ce
mov eax, dword [0x1807993f0]
xor edx, edx
div dword [0x1807993f4]
add eax, 0xa2a13ea0
imul eax, eax, 0x55c8954b
imul eax, eax, 0xa4ebc84b
cmp eax, 0x3e570cf8
jae 0x1804030a7
mov edx, dword [0x1807993f8]
imul edx, dword [0x1807993fc]
xor edx, 0x90edb246
sub edx, 0x5200b632
add edx, 0x5fa2a87c
mov qword [rdi], r8
pause
mov rax, r8
add rax, 0x500
cmp edx, 0xc938edc3
jae 0x1804030a7
jmp 0x180402861
mov edx, dword [0x180799400]
xor edx, dword [0x180799404]
and edx, 0x2a80a00e
imul edx, edx, 0x3a79bc0a
add edx, 0xf0b6cb8
cmp edx, 0x356c015d
je 0x1804030b9
mov r9d, dword [0x180799408]
imul r9d, dword [0x18079940c]
sub r9d, 0xa84387ff
add r9d, 0x63703460
sub r9d, 0xbc4b9d6e
cmp qword [rax], rcx
sete dl
cmp r9d, 0x4e44bdcc
jbe 0x1804030b9
jmp 0x1804028c4
test dl, 1
jne 0x1804028e0
jmp 0x1804027eb
movabs rax, 0x8000000000000006
mov qword [rsi], rax
jmp 0x180402fb5
jmp 0x1804028e2
mov eax, dword [0x180799410]
add eax, dword [0x180799414]
and eax, 0xe5d24ec7
add eax, 0xafd289bb
xor eax, 0x2aaad1c2
cmp eax, 0xcfe28919
je 0x1804030ca
jmp 0x18040290a
mov edx, dword [0x180799418]
and edx, dword [0x18079941c]
or edx, 0x527ae19b
or edx, 0x8a1c33ef
and edx, 0x223cd85e
mov r15, rdi
add r15, 8
mov rcx, qword [rdi + 8]
cmp rcx, r8
sete al
cmp edx, 0x6e792014
je 0x18040290a
test al, 1
jne 0x180402e17
jmp 0x18040294b
jmp 0x18040294d
movabs rax, 0x100000000
and rax, qword [rcx + 0x510]
cmp rax, 0
je 0x180402e12
mov rax, rcx
add rax, 0x518
mov r8, qword [rax]
mov r9, qword [r14]
mov eax, dword [0x180799420]
imul eax, dword [str.o__t_]
or eax, 0xa7f7e782
xor eax, 0x8be72321
or eax, 0x2ef5a002
cmp eax, 0x903c27ee
jae 0x1804030db
jmp 0x1804029a0
mov eax, dword [0x180799428]
xor edx, edx
div dword [0x18079942c]
sub eax, 0xcc69a998
xor eax, 0xd53bbaa7
imul edx, eax, 0x673b24ed
cmp r8, r9
seta al
cmp edx, 0x5a89eaef
jbe 0x1804029a0
test al, 1
jne 0x180402e12
jmp 0x1804029d6
mov eax, dword [0x180799430]
and eax, dword [0x180799434]
xor eax, 0x9401bcf7
add eax, 0x41c57b96
add eax, 0x5ae45496
cmp eax, 0x545377cc
jbe 0x1804030ec
mov eax, dword [0x180799438]
xor edx, edx
div dword [0x18079943c]
and eax, 0xfff3b99
add eax, 0x73b53a05
or eax, 0x4d28ecfd
mov rdx, rcx
add rdx, 0x508
cmp eax, 0x629bc297
jb 0x1804030ec
jmp 0x180402a30
mov r8, qword [rdx]
cmp r8, 0
sete r9b
mov eax, dword [0x180799440]
sub eax, dword [0x180799444]
and eax, 0x571fa3b5
imul eax, eax, 0xd3425587
add eax, 0x8a353905
cmp eax, 0x46b0c161
je 0x1804030f9
mov eax, dword [0x180799448]
xor eax, dword [0x18079944c]
mov r10d, 0x9b442ab7
xor edx, edx
div r10d
sub eax, 0xaa891213
sub eax, 0xc8523f81
cmp eax, 0xc14efe20
jae 0x1804030f9
test r9b, 1
jne 0x180402a96
jmp 0x180402a9a
ud2
mov eax, dword [0x180799450]
sub eax, dword [0x180799454]
imul eax, eax, 0xc2085de3
imul eax, eax, 0x8a411416
or eax, 0x8359d268
cmp eax, 0x591e4e9d
je 0x18040310a
mov eax, dword [0x180799458]
mov edx, dword [0x18079945c]
xor eax, edx
add eax, 0x97e551ca
mov edx, 0xb3366f57
imul rax, rdx
shr rax, 0x3f
or eax, 0xd4a750a
mov qword [r15], r8
mov r9, rcx
add r9, 0x500
xorps xmm0, xmm0
movups xmmword [rcx + 0x500], xmm0
mov qword [rcx + 0x510], 0
mov r10, qword [rbx]
cmp eax, 0x697fb716
je 0x18040310a
jmp 0x180402b19
mov eax, dword [0x180799460]
and eax, dword [0x180799464]
imul eax, eax, 0x9037fcf5
imul eax, eax, 0xa4a2936b
add eax, 0x42414ef7
cmp eax, 0x865a2c46
jbe 0x180403132
mov eax, dword [0x180799468]
xor edx, edx
div dword [0x18079946c]
sub eax, 0xfa4f9247
or eax, 0x1d06a92b
imul eax, eax, 0xb7cba097
mov rdx, r10
add rdx, 0x500
cmp eax, 0x5eb2672d
ja 0x180403132
jmp 0x180402b76
mov eax, dword [0x180799470]
and eax, dword [0x180799474]
and eax, 0xa175133d
and eax, 0xcd5556d8
imul eax, eax, 0x17857f6a
cmp eax, 0x3849889e
je 0x18040313f
jmp 0x180402b9f
mov eax, dword [0x180799478]
mov r8d, dword [0x18079947c]
or eax, r8d
imul r11d, eax, 0x6337a403
add r11d, 0x6d7d1a03
mov eax, 0xda3c52bd
imul r11, rax
shr r11, 0x3e
mov rax, qword [rdx]
add rax, 0x20
mov qword [r9], rax
xor eax, eax
lock cmpxchg qword [r10 + 0x508], rcx
mov r8, rax
sete al
cmp r11d, 0x886de102
je 0x180402b9f
test al, 1
jne 0x180402d4c
jmp 0x180402bf8
mov eax, dword [0x180799480]
xor edx, edx
div dword [0x180799484]
add eax, 0x27240526
and eax, 0x34f934ec
or eax, 0x3f092b8e
cmp eax, 0xe45cf1d3
jae 0x180403165
mov eax, dword [0x180799488]
add eax, dword [0x18079948c]
xor eax, 0x9e23421b
add eax, 0x226f9110
mov r10d, 0x663d68d4
xor edx, edx
div r10d
cmp eax, 0x971fac14
je 0x180403165
jmp 0x180402c4e
mov eax, dword [0x180799490]
xor edx, edx
div dword [0x180799494]
add eax, 0x51972ac9
and eax, 0x8f296192
imul eax, eax, 0x97e84b6a
cmp eax, 0xe97eb759
je 0x180403176
jmp 0x180402c79
mov eax, dword [0x180799498]
sub eax, dword [0x18079949c]
sub eax, 0x10808544
xor eax, 0x671c3262
xor eax, 0xc0fdcf10
mov rdx, qword [r8 + 0x500]
add rdx, 0x20
mov qword [r9], rdx
mov rdx, r8
add rdx, 0x508
cmp eax, 0xcf47c996
ja 0x180402c79
jmp 0x180402cb5
xor eax, eax
lock cmpxchg qword [rdx], rcx
mov rdx, rax
sete al
test al, 1
jne 0x180402d4c
mov rax, rdx
add rax, 0x500
mov r8, qword [rax]
add r8, 0x20
mov eax, dword [0x1807994a0]
xor eax, dword [0x1807994a4]
or eax, 0x5e5e8c19
imul eax, eax, 0x74313d5
or eax, 0xf9226985
cmp eax, 0xdd2ea8ba
je 0x180403191
jmp 0x180402d03
mov r10d, dword [0x1807994a8]
mov eax, dword [0x1807994ac]
and r10d, eax
or r10d, 0xfefffbaf
mov qword [r9], r8
xor eax, eax
lock cmpxchg qword [rdx + 0x508], rcx
sete al
cmp r10d, 0x1f3caf52
je 0x180402d03
test al, 1
jne 0x180402d4c
jmp 0x180402d3a
mov edx, 0x520
mov r8d, 8
call fcn.1804cafa0
jmp 0x180402d4c
pause
mov rcx, qword [r15]
mov eax, dword [0x1807994b0]
xor eax, dword [0x1807994b4]
xor eax, 0x9b37a9ab
or eax, 0x413ebfb2
xor eax, 0xf744b08a
cmp eax, 0x6608073
je 0x1804031b0
mov eax, dword [0x1807994b8]
and eax, dword [0x1807994bc]
add eax, 0x7c4dcb93
sub eax, 0x2b83d6cf
mov r8d, 0x2bb7437d
xor edx, edx
div r8d
cmp rcx, qword [rdi]
sete r8b
cmp eax, 0xf02cbaae
je 0x1804031b0
jmp 0x180402dac
mov eax, dword [0x1807994c0]
xor edx, edx
div dword [0x1807994c4]
mov r9d, 0xd4db71d9
xor edx, edx
div r9d
imul eax, eax, 0xbbf23416
mov r9d, 0xdf6a310b
xor edx, edx
div r9d
cmp eax, 0x242f8603
jae 0x1804031c1
jmp 0x180402de3
mov eax, dword [0x1807994c8]
imul eax, dword [0x1807994cc]
and eax, 0x45f541a9
imul eax, eax, 0x8f74f8f7
xor eax, 0xdba3b2c0
cmp eax, 0xe8ea581a
jae 0x180402de3
test r8b, 1
jne 0x180402e12
jmp 0x18040294d
mov r8, qword [rdi]
jmp 0x180402e17
mov rax, qword [r14]
and eax, 0x1f
mov rdx, qword [r8 + 0x510]
mov r9d, 1
mov rcx, rax
shl r9, cl
and r9, rdx
cmp r9, 0
jne 0x180402ebd
movabs rax, 0x200000000
and rdx, rax
mov eax, dword [str.nKjE]
or eax, dword [0x1807994d4]
or eax, 0x25420595
xor eax, 0xad99e86d
and eax, 0x8cdfe7bc
cmp eax, 0xc051c323
je 0x1804031ce
mov ecx, dword [0x1807994d8]
and ecx, dword [0x1807994dc]
or ecx, 0x486e4a57
sub ecx, 0xe59ca67
or ecx, 0xbe3addfe
movabs rax, 0x8000000000000005
movabs r8, 0x8000000000000006
cmp rdx, 0
cmove rax, r8
cmp ecx, 0x1da2899a
je 0x1804031ce
jmp 0x180402eb8
jmp 0x180402fc4
imul rax, rax, 0x28
add r8, rax
mov rax, qword [r8]
mov ecx, dword [0x1807994e0]
and ecx, dword [0x1807994e4]
xor ecx, 0x7935994b
or ecx, 0x6c14b9b5
sub ecx, 0xe888d17e
cmp ecx, 0x9e2abe2c
je 0x1804031db
jmp 0x180402ef3
mov edx, dword [0x1807994e8]
add edx, dword [str.qX7]
add edx, 0xb85e4416
xor edx, 0xbc819be6
sub edx, 0x16c9c9c8
mov rcx, qword [r8 + 8]
mov qword [rsp + 0x20], rcx
mov rcx, qword [r8 + 0x10]
mov qword [rsp + 0x28], rcx
mov rcx, qword [r8 + 0x18]
mov qword [rsp + 0x30], rcx
mov rcx, qword [r8 + 0x20]
mov qword [rsp + 0x38], rcx
movabs r9, 0x7ffffffffffffffb
mov rcx, rax
add rcx, r9
cmp edx, 0x95f819ea
ja 0x180402ef3
jmp 0x180402f4f
mov edx, dword [0x1807994f0]
or edx, dword [0x1807994f4]
sub edx, 0x843792
and edx, 0x67e941f2
add edx, 0x3b8f2b6f
cmp edx, 0x8ed9b1d8
jbe 0x180403210
jmp 0x180402f7b
mov edx, dword [0x1807994f8]
or edx, dword [0x1807994fc]
and edx, 0xc7a2b7a5
xor edx, 0x38d9f943
imul r8d, edx, 0xb981d0c4
cmp rcx, 2
setb dl
cmp r8d, 0x383c6cc5
jb 0x180402f7b
test dl, 1
je 0x180403044
jmp 0x180402fc4
mov rax, rsi
add rsp, 0x40
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
mov ecx, dword [0x180799500]
and ecx, dword [0x180799504]
xor ecx, 0xeb489615
imul ecx, ecx, 0xea70b649
xor ecx, 0x15a881ca
cmp ecx, 0x41126aba
jb 0x18040321d
mov ecx, dword [0x180799508]
and ecx, dword [0x18079950c]
add ecx, 0x50d6038a
imul ecx, ecx, 0xe2b99326
or ecx, 0xc1f6ee5f
mov qword [rsi], rax
mov rdx, qword [rsp + 0x20]
mov qword [rsi + 8], rdx
mov rdx, qword [rsp + 0x28]
mov qword [rsi + 0x10], rdx
mov rdx, qword [rsp + 0x30]
mov qword [rsi + 0x18], rdx
mov rdx, qword [rsp + 0x38]
mov qword [rsi + 0x20], rdx
cmp ecx, 0x23fb1e85
jb 0x18040321d
jmp 0x180402fb5
mov ecx, dword [0x180799510]
or eax, 0x3964c6
and ecx, dword [0x180799514]
xor ecx, 0x62578501
and ecx, 0xb33fbba0
and ecx, 0x6027541b
cmp ecx, 0x311c374d
je 0x180403255
add byte [rax], al
jmp 0x180403070
mov edx, dword [0x180799518]
xor edx, dword [0x18079951c]
and edx, 0x7cf61981
add edx, 0x1adc4349
or edx, 0x439e808c
mov rcx, qword [r14]
add rcx, 1
sbb byte [rsi + 0xe8b4943], 0x48
add ecx, 1
cmp edx, 0xffaa5335
je 0x180403070
jmp 0x18040309f
mov qword [r14], rcx
jmp 0x180402fc4
cli
test byte [rdi], cl
mov eax, 0xc0f28919
mov qword [rdi], r8
pause
jmp 0x180402826
jb 0x18040306c
or ebp, esp
jmp 0x180403045
invalid
xchg edx, eax
jae 0x180403156
xor al, byte [rbp - 0x2c]
in eax, 0xc7
sbb edx, dword [rdx]
jle 0x18040308b
jmp 0x18040299e
and ah, byte [rdi]
jb 0x18040312a
int 0xe9
fucompi st(1)
add edi, ecx
invalid
mov r9b, 0x9d
invalid
jmp 0x180402a62
mov word [rdi - 0x2e], es
in al, 0x42
invalid
mov rax, qword [rbx]
jmp 0x180402ac2
cmp bl, bl
mul byte [rdi - 0x23]
lodsd eax, dword [rsi]
or ch, bl
jmp 0x180402b41
xchg esi, eax
xor dl, ch
jg 0x180403105
jae 0x18040310f
and al, 0x29
add edx, dword [rsi + 0x48]
mov eax, dword [rdx]
add rax, 0x20
mov qword [r9], rax
xor eax, eax
lock cmpxchg qword [r10 + 0x508], rcx
sal al, 0x49
cmpxchg dword [rdx + 0x508], ecx
jmp 0x180402b9d
sub dl, dh
stosd dword [rdi], eax
cmp ah, byte [rdx]
sbb cl, dh
invalid
sbb dword [rax], ecx
pushfq
invalid
invalid
jbe 0x1804031f1
xchg esi, eax
in al, 0x82
invalid
invalid
or esp, ebx
sal byte [rsi - 0x3979a663], 1
jmp 0x180402e70
leave
add eax, 0x9d18878f
int1
mov al, 0x56
invalid
mov ecx, dword [rax + 0x10]
mov qword [rsp + 0x28], rcx
mov rcx, qword [r8 + 0x18]
mov qword [rsp + 0x30], rcx
mov rcx, qword [r8 + 0x20]
mov qword [rsp + 0x38], rcx
jmp 0x180402ef1
invalid
add r14, rdi
test eax, 0xe2196711
lodsb al, byte es:[rsi]
invalid
pop rsp
std
adc al, 0x32
sbb al, 0x49
loope 0x18040327b
jmp 0x18040306e
sub esp, 0x20