Function at 0x1804b80b0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov eax, dword [0x1807ac680]
xor edx, edx
div dword [0x1807ac684]
or eax, 0xa0a4fff6
or eax, 0xf0f1593b
sub eax, 0xa86f4746
cmp eax, 0x85511e78
ja 0x1804b8b94
jmp 0x1804b80ea
mov eax, dword [0x1807ac688]
sub eax, dword [0x1807ac68c]
mov r8d, 0x79d078e9
xor edx, edx
div r8d
mov r8d, 0xb6c5d5d5
xor edx, edx
div r8d
add eax, 0x81b698ad
mov rsi, qword [rcx]
cmp eax, 0xd046d197
jae 0x1804b80ea
jmp 0x1804b811d
mov r14, rsi
add r14, 0x70
mov eax, dword [0x1807ac690]
sub eax, dword [0x1807ac694]
sub eax, 0x2b2ef5b8
imul eax, eax, 0xcf1bfb93
mov ecx, 0x8a7f664c
xor edx, edx
div ecx
cmp eax, 0xe11913c0
jae 0x1804b8ba1
mov eax, dword [0x1807ac698]
xor eax, dword [0x1807ac69c]
imul ecx, eax, 0x4923717
and ecx, 0x735d938f
add ecx, 0xfcc796a4
mov r12, qword [r14]
mov r15, rsi
add r15, 0x78
mov r13, qword [rsi + 0x78]
cmp r13, 0
sete al
cmp ecx, 0xc14bae0b
jae 0x1804b8ba1
test al, 1
jne 0x1804b8426
jmp 0x1804b8198
xor ecx, ecx
jmp 0x1804b819c
mov eax, dword [0x1807ac6a0]
imul eax, dword [0x1807ac6a4]
sub eax, 0x928545fc
imul eax, eax, 0xc868fed9
mov r8d, 0x8d2e7617
xor edx, edx
div r8d
cmp eax, 0x37945323
je 0x1804b8bae
mov eax, dword [0x1807ac6a8]
xor edx, edx
div dword [0x1807ac6ac]
sub eax, 0xdf56507e
imul edx, eax, 0x46cea837
or edx, 0xeb5d7be0
mov rax, rcx
shl rax, 4
mov rbx, r12
add rbx, rax
mov rbp, rcx
add rbp, 1
mov rax, qword [rbx]
lock dec qword [rax]
sete al
cmp edx, 0xb5a97080
je 0x1804b8bae
test al, 1
jne 0x1804b8219
jmp 0x1804b8270
mov rcx, rbx
call fcn.1804bdd60
mov eax, dword [0x1807ac6b0]
add eax, dword [0x1807ac6b4]
imul eax, eax, 0x2d8c2875
add eax, 0x89c223f6
sub eax, 0xf6db39c
cmp eax, 0x65f020fe
jb 0x1804b8bd2
mov eax, dword [0x1807ac6b8]
add eax, dword [0x1807ac6bc]
or eax, 0x9fb5bead
or eax, 0x44989e3f
add eax, 0x6493b6a8
cmp eax, 0xfd411965
jae 0x1804b8bd2
jmp 0x1804b8270
mov rdi, rbx
add rdi, 8
mov rax, qword [rbx + 8]
mov rcx, 0xffffffffffffffff
lock xadd qword [rax], rcx
mov eax, dword [0x1807ac6c0]
imul eax, dword [0x1807ac6c4]
sub eax, 0xda3d498c
xor eax, 0x26d6eaed
imul eax, eax, 0xd5559ddf
cmp eax, 0x613ed0e6
jbe 0x1804b8bdf
mov eax, dword [0x1807ac6c8]
or eax, dword [0x1807ac6cc]
imul eax, eax, 0x7ef5b70a
mov r8d, 0x2f03d826
xor edx, edx
div r8d
and eax, 0x20e90783
cmp rcx, 1
sete dl
cmp eax, 0xbe3ed893
jae 0x1804b8bdf
test dl, 1
jne 0x1804b82ed
jmp 0x1804b839a
mov eax, dword [0x1807ac6d0]
xor eax, dword [0x1807ac6d4]
or eax, 0x588bc096
sub eax, 0x42f0f9a2
or eax, 0xef42efac
cmp eax, 0x61091990
jbe 0x1804b8bec
mov eax, dword [0x1807ac6d8]
xor eax, dword [0x1807ac6dc]
mov ecx, 0x2600e63c
xor edx, edx
div ecx
mov ebx, eax
sub ebx, 0x9d1fed3b
and ebx, 0x135a9201
mov rcx, rdi
call fcn.1804c39c0
cmp ebx, 0xae7c4677
je 0x1804b8bec
jmp 0x1804b834c
mov eax, dword [0x1807ac6e0]
and eax, dword [0x1807ac6e4]
sub eax, 0xe2142315
add eax, 0x49339028
sub eax, 0xa2f21e8b
cmp eax, 0x26bcc8a6
jb 0x1804b8c05
jmp 0x1804b8374
mov eax, dword [0x1807ac6e8]
xor edx, edx
div dword [0x1807ac6ec]
or eax, 0x4acb1175
add eax, 0xc17d8388
xor eax, 0xfe996f97
cmp eax, 0x6c6ff496
jbe 0x1804b8374
jmp 0x1804b839a
cmp rbp, r13
sete al
test al, 1
mov rcx, rbp
jne 0x1804b83ac
jmp 0x1804b819c
mov rdi, qword [r15]
cmp rdi, 0
sete al
test al, 1
jne 0x1804b8426
jmp 0x1804b83bc
mov rbx, qword [r14]
shl rdi, 4
mov eax, dword [0x1807ac6f0]
xor edx, edx
div dword [0x1807ac6f4]
add eax, 0x42bfc188
xor eax, 0x4411204b
or eax, 0x85a36304
cmp eax, 0x77f01626
je 0x1804b8c12
jmp 0x1804b83ed
mov ebp, dword [0x1807ac6f8]
add ebp, dword [0x1807ac6fc]
xor ebp, 0x60a028c
or ebp, 0xd921beae
or ebp, 0xc6a983a3
mov rcx, rbx
mov rdx, rdi
mov r8d, 8
call fcn.1804cafa0
cmp ebp, 0xed9f665a
ja 0x1804b83ed
jmp 0x1804b8426
mov eax, dword [0x1807ac700]
or eax, dword [0x1807ac704]
mov ecx, 0xa0f77c27
xor edx, edx
div ecx
imul eax, eax, 0x3a583b22
sub eax, 0x95501a12
cmp eax, 0xecf59795
jae 0x1804b8c34
jmp 0x1804b8453
mov ecx, dword [0x1807ac708]
sub ecx, dword [0x1807ac70c]
or ecx, 0x89c1bf4f
xor ecx, 0x66527e87
xor ecx, 0xe1af4a87
mov rax, qword [rsi + 0x88]
cmp ecx, 0x4b498639
jae 0x1804b8453
jmp 0x1804b8482
cmp rax, 0
sete cl
test cl, 1
jne 0x1804b84f5
jmp 0x1804b8490
mov rcx, qword [rsi + 0x80]
imul rdx, rax, 0x18
mov r8d, 8
call fcn.1804cafa0
mov eax, dword [0x1807ac710]
or eax, dword [0x1807ac714]
and eax, 0x43171621
add eax, 0x4c55c1ac
imul eax, eax, 0xf45d813f
cmp eax, 0x7293f94e
je 0x1804b8c45
mov eax, dword [0x1807ac718]
xor eax, dword [0x1807ac71c]
add eax, 0x7cd62f8d
and eax, 0xe9e5a20f
xor eax, 0x579a3cf0
cmp eax, 0x6181ea56
je 0x1804b8c45
jmp 0x1804b84f5
mov rax, rsi
add rax, 0xe8
mov rdx, qword [rax]
cmp rdx, 0
je 0x1804b85bb
mov eax, dword [0x1807ac720]
and eax, dword [0x1807ac724]
imul eax, eax, 0xa098a32f
or eax, 0xd44a4df0
xor eax, 0xf55f63b5
cmp eax, 0x5e39b12b
jae 0x1804b8c52
jmp 0x1804b8534
mov eax, dword [0x1807ac728]
xor eax, dword [0x1807ac72c]
xor eax, 0x1ac0150
imul eax, eax, 0xb8c2f9df
xor eax, 0x2fe82ca3
mov rcx, qword [rsi + 0xf0]
cmp eax, 0x310f49bf
jb 0x1804b8534
jmp 0x1804b8560
shl rdx, 3
mov r8d, 8
call fcn.1804cafa0
mov eax, dword [0x1807ac730]
xor eax, dword [str.5im_]
or eax, 0x60714a7a
and eax, 0xc569fb78
add eax, 0xf731c9fa
cmp eax, 0x1c9689cb
jb 0x1804b8c63
jmp 0x1804b8597
mov eax, dword [0x1807ac738]
add eax, dword [0x1807ac73c]
and eax, 0x56ace2a7
sub eax, 0x1e633c32
xor eax, 0x3f46a21a
cmp eax, 0x2b35d2e7
jbe 0x1804b8597
jmp 0x1804b85bb
mov eax, dword [0x1807ac740]
xor edx, edx
div dword [0x1807ac744]
add eax, 0xb4acf81c
and eax, 0x2f6c4aaa
imul eax, eax, 0xbe4f3557
cmp eax, 0x5478f5a5
je 0x1804b8c74
jmp 0x1804b85e6
mov eax, dword [0x1807ac748]
imul eax, dword [0x1807ac74c]
xor eax, 0xb98994e0
imul eax, eax, 0xc87f25b4
and eax, 0xde7fa6a
mov rbx, rsi
add rbx, 0x120
cmp eax, 0xc68a130a
ja 0x1804b85e6
jmp 0x1804b8616
mov eax, dword [0x1807ac750]
add eax, dword [0x1807ac754]
xor eax, 0x856d14d8
add eax, 0xbafa6034
sub eax, 0x356e2033
cmp eax, 0x3f1bfb09
ja 0x1804b8c81
jmp 0x1804b863e
mov ecx, dword [0x1807ac758]
imul ecx, dword [0x1807ac75c]
xor ecx, 0x1dfd8eec
or ecx, 0x97767c34
sub ecx, 0xf8700128
mov rdi, rsi
add rdi, 0x128
mov r14, qword [rsi + 0x128]
mov rax, rsi
add rax, 0x130
cmp ecx, 0xae8859bb
je 0x1804b863e
jmp 0x1804b8681
mov r15, qword [rax]
cmp r15, 0
je 0x1804b86ac
xor r12d, r12d
jmp 0x1804b868f
mov rax, r12
shl rax, 3
mov rcx, r14
add rcx, rax
add r12, 1
call fcn.180498260
cmp r12, r15
jne 0x1804b868f
jmp 0x1804b86ac
mov r8, qword [rbx]
cmp r8, 0
je 0x1804b8720
mov eax, dword [0x1807ac760]
xor edx, edx
div dword [0x1807ac764]
imul eax, eax, 0x21e672a2
mov ecx, 0x7993e4d6
xor edx, edx
div ecx
and eax, 0x39653b9f
cmp eax, 0xe5746f39
je 0x1804b8c8e
jmp 0x1804b86e4
mov eax, dword [0x1807ac768]
xor edx, edx
div dword [0x1807ac76c]
add eax, 0xb8503d31
add eax, 0xbfbc85a5
imul eax, eax, 0xff3d05a8
mov rcx, qword [rdi]
cmp eax, 0x226fa119
je 0x1804b86e4
jmp 0x1804b870e
shl r8, 3
mov rdx, r8
mov r8d, 8
call fcn.1804cafa0
mov eax, dword [0x1807ac770]
add eax, dword [0x1807ac774]
imul eax, eax, 0x9a70e504
imul eax, eax, 0x1afc62e
xor eax, 0x36aab3f9
cmp eax, 0x6908a923
ja 0x1804b8c9b
jmp 0x1804b874a
mov eax, dword [0x1807ac778]
xor edx, edx
div dword [0x1807ac77c]
or eax, 0xb8a33daf
add eax, 0x54f00c36
imul eax, eax, 0xab6061e8
cmp eax, 0xc38bf74
je 0x1804b874a
jmp 0x1804b8771
mov rcx, rsi
add rcx, 0x38
mov rax, qword [rsi + 0x38]
cmp rax, 0
sete dl
test dl, 1
jne 0x1804b87f8
jmp 0x1804b878a
lock dec qword [rax]
sete al
jmp 0x1804b8793
test al, 1
jne 0x1804b8799
jmp 0x1804b87f8
call fcn.1804c1900
mov eax, dword [str.X_X]
xor edx, edx
div dword [0x1807ac784]
or eax, 0x1a389acd
mov ecx, 0x14383fc6
xor edx, edx
div ecx
mov ecx, 0xceb90636
xor edx, edx
div ecx
cmp eax, 0x9d8bdbf8
je 0x1804b8ca8
mov eax, dword [0x1807ac788]
add eax, dword [0x1807ac78c]
imul eax, eax, 0x236fa77c
imul eax, eax, 0x49e1e36c
add eax, 0xe7ca34c0
cmp eax, 0x203a2805
jbe 0x1804b8ca8
jmp 0x1804b87f8
mov rcx, rsi
add rcx, 0x48
mov rax, qword [rcx]
cmp rax, 0
sete dl
test dl, 1
jne 0x1804b8826
jmp 0x1804b8810
lock dec qword [rax]
sete al
jmp 0x1804b8819
test al, 1
jne 0x1804b881f
jmp 0x1804b8826
call fcn.1804c1900
jmp 0x1804b8826
mov rdi, qword [rsi + 0xb8]
mov rbx, qword [rsi + 0xc0]
mov eax, dword [0x1807ac790]
xor eax, dword [0x1807ac794]
xor eax, 0x508afe14
and eax, 0x54956bc2
imul eax, eax, 0xe83f4f72
cmp eax, 0xee09dde4
ja 0x1804b8cb9
jmp 0x1804b885d
mov ecx, dword [0x1807ac798]
add ecx, dword [0x1807ac79c]
xor ecx, 0x3ce29883
xor ecx, 0x8fe9a6bb
or ecx, 0xa0c696e8
cmp rbx, 0
sete al
cmp ecx, 0x6d674ae3
jbe 0x1804b885d
test al, 1
jne 0x1804b89ae
jmp 0x1804b8894
xor r12d, r12d
jmp 0x1804b8899
mov rcx, r12
shl rcx, 8
mov rax, rdi
add rax, rcx
add r12, 1
cmp byte [rax + 0x18], 2
je 0x1804b892f
mov rcx, rax
add rcx, 8
mov r14, qword [rcx]
cmp r14, 0
je 0x1804b892f
mov r15, qword [rax]
shl r14, 3
mov eax, dword [0x1807ac7a0]
imul eax, dword [0x1807ac7a4]
or eax, 0xd9e02bb7
and eax, 0xcebfd30b
mov ecx, 0xd086883f
xor edx, edx
div ecx
cmp eax, 0xa3aab796
ja 0x1804b8cca
jmp 0x1804b88f4
mov eax, dword [0x1807ac7a8]
imul eax, dword [0x1807ac7ac]
add eax, 0x439e3840
imul eax, eax, 0xcb294052
imul ebp, eax, 0x634f5957
mov rcx, r15
mov rdx, r14
mov r8d, 8
call fcn.1804cafa0
cmp ebp, 0x35ae34ac
jbe 0x1804b88f4
jmp 0x1804b892d
jmp 0x1804b892f
mov eax, dword [0x1807ac7b0]
imul eax, dword [0x1807ac7b4]
mov ecx, 0x1bc0af64
xor edx, edx
div ecx
sub eax, 0xc8508f38
imul eax, eax, 0x22f1ad66
cmp eax, 0xe9ef33b7
je 0x1804b8cec
mov eax, dword [0x1807ac7b8]
or eax, dword [0x1807ac7bc]
and eax, 0x1ac6db1c
xor eax, 0x5b4e207c
mov ecx, 0x930d7962
xor edx, edx
div ecx
cmp r12, rbx
sete cl
cmp eax, 0x89b3593
je 0x1804b8cec
jmp 0x1804b898d
test cl, 1
jne 0x1804b8997
jmp 0x1804b8899
shl rbx, 8
mov rcx, rdi
mov rdx, rbx
mov r8d, 0x80
call fcn.1804cafa0
jmp 0x1804b89ae
mov rcx, rsi
add rcx, 0x148
call fcn.1804b5fa0
mov rcx, rsi
add rcx, 0x1e8
mov rax, qword [rsi + 0x1e8]
lock dec qword [rax]
sete r8b
mov eax, dword [0x1807ac7c0]
xor eax, dword [0x1807ac7c4]
mov r9d, 0x63fdf290
xor edx, edx
div r9d
add eax, 0x9bd5d44e
and eax, 0x2f88a850
cmp eax, 0xdaaf56a6
jae 0x1804b8cfd
mov eax, dword [0x1807ac7c8]
or eax, dword [0x1807ac7cc]
mov r9d, 0x6a1d350b
xor edx, edx
div r9d
xor eax, 0xa41039e5
mov r9d, 0x940f556a
xor edx, edx
div r9d
cmp eax, 0xfd2d6f8d
ja 0x1804b8cfd
test r8b, 1
jne 0x1804b8a3c
jmp 0x1804b8a43
call fcn.1804c0290
jmp 0x1804b8a43
mov eax, dword [0x1807ac7d0]
or eax, dword [0x1807ac7d4]
xor eax, 0x36c3866e
imul eax, eax, 0x871e75cd
imul eax, eax, 0x27b2660f
cmp eax, 0x6f34ffd4
ja 0x1804b8d0e
jmp 0x1804b8a6d
mov eax, dword [0x1807ac7d8]
imul eax, dword [0x1807ac7dc]
imul ecx, eax, 0xf27d2d3a
or ecx, 0xcce2eaae
xor ecx, 0x35566d4a
mov rax, 0xffffffffffffffff
cmp rsi, rax
sete al
cmp ecx, 0xf531d5f5
jae 0x1804b8a6d
jmp 0x1804b8aa3
test al, 1
jne 0x1804b8b83
jmp 0x1804b8aad
mov rax, rsi
add rax, 8
mov ecx, dword [0x1807ac7e0]
and ecx, dword [0x1807ac7e4]
imul ecx, ecx, 0xd20dd105
or ecx, 0xcbe94b96
and ecx, 0x117de27
cmp ecx, 0x2268bec3
ja 0x1804b8d1f
mov ecx, dword [0x1807ac7e8]
mov edx, dword [0x1807ac7ec]
lea edx, [rcx + rdx + 0x1ed9bdf1]
or edx, 0xb0032042
mov rcx, 0xffffffffffffffff
lock xadd qword [rax], rcx
cmp edx, 0x80643fb2
jb 0x1804b8d1f
jmp 0x1804b8b11
mov eax, dword [0x1807ac7f0]
xor edx, edx
div dword [0x1807ac7f4]
sub eax, 0x674259d3
and eax, 0x570ed6bc
xor eax, 0x9323c079
cmp eax, 0x2bfe9800
jb 0x1804b8d34
mov eax, dword [0x1807ac7f8]
and eax, dword [0x1807ac7fc]
xor eax, 0xf7faba77
sub eax, 0xd991a9ad
imul edx, eax, 0xfc47d735
cmp rcx, 1
sete al
cmp edx, 0xc25b4b9c
jb 0x1804b8d34
test al, 1
jne 0x1804b8b6e
jmp 0x1804b8b83
mov rcx, rsi
mov edx, 0x200
mov r8d, 8
call fcn.1804cafa0
jmp 0x1804b8b83
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov dh, 0x8e
and byte [rdx], bl
imul ebx, dword [rax + 0x47e92eeb], 0xeefffff5
out dx, al
ret 0xf578
invalid
cmp dl, byte [rsi - 0x2d]
retf 0x129d
pop rax
xchg esp, eax
pop rdx
invalid
test dword [rbp + 0x1d], edi
in eax, 0x13
in al, dx
mov bl, 0x8e
iretd
xlatb
movabs dword [0x60e963a5953e5e72], eax
idiv edi
inc ecx
invalid
ror esi, 0xbd
jg 0x1804b8c2a
call 0x137e2fb7b
fild dword [rdx + 0x48]
mov ecx, ebx
mov rdx, rdi
mov r8d, 8
call fcn.1804cafa0
jmp 0x1804b83eb
movabs byte [0x77ffce36639d1a98], al
fisubr word [rcx + rbp*8]
or al, 0xf8
invalid
loope 0x1804b8c88
mov ebx, 0xd2563417
jmp 0x1804b84cd
add dword [rbx + riz - 0xaa68ef5], edi
invalid
pop rdx
stosd dword [rdi], eax
push rbp
invalid
shr byte [rbp + 0x21e9d3b5], cl
stc
invalid
mov ebx, 0x87963f0f
adc al, 0xa5
sbb cl, ch
invalid
lea edi, [rcx]
js 0x1804b8c6b
mov r8d, 0xaee96c00
stc
invalid
insb byte [rdi], dx
jmp 0x1804b863c
out 0x7d, al
mov bl, 0x29
sub al, 0xad
jmp 0x1804b86e2
add eax, 0x58d33d8f
scasb al, byte [rdi]
push rbp
nop
jmp 0x1804b8748
hlt
or al, 0x79
je 0x1804b8c8e
invalid
sbb byte [rsi - 0x28274e10], ah
lodsd eax, dword [rsi]
div dword [rbx + 0x4c9ed4d2]
mov ecx, edi
mov rdx, r14
mov r8d, 8
or byte [rax], al
add byte [rax], al
call fcn.1804cafa0
jmp 0x1804b88f2
out 0x91, eax
add edx, dword [rsi - 0x7d]
invalid
sub ebx, ebp
fisttp dword [rbx - 0x3f]
mov al, byte [rbx - 0x6b]
invalid
sbb esp, dword [rcx + rsi*4 - 6]
xor eax, 0x94db0d9a
outsb dx, byte [rsi]
lodsb al, byte [rsi]
jmp 0x1804b8a6b
fcom dword [rdx - 0x69e96b2c]
outsd dx, dword [rsi]
out dx, al
wait
lahf
mov bh, byte [rsi]
lock dec qword [rax]
jmp 0x1804b8ade
jae 0x1804b8cde
add dl, dh
ret