Function at 0x18049cea0
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 rdi, r8
mov rsi, rdx
mov eax, dword [0x1807a9af8]
xor eax, dword [0x1807a9afc]
and eax, 0xa533b931
sub eax, 0xfd29cedb
sub eax, 0xc50ad787
cmp eax, 0x24ba7815
jbe 0x18049d7e2
jmp 0x18049cede
mov eax, dword [0x1807a9b00]
xor eax, dword [0x1807a9b04]
xor eax, 0xde6f003c
sub eax, 0x2b61b164
mov r8d, 0x5a59537b
xor edx, edx
div r8d
mov r8, qword [rcx]
cmp eax, 0x148cf8da
je 0x18049cede
jmp 0x18049cf0b
mov eax, dword [0x1807a9b08]
and eax, dword [0x1807a9b0c]
xor eax, 0x4b0a2411
add eax, 0x41b1cc6f
and eax, 0xf661fa03
cmp eax, 0xae364d0a
jbe 0x18049d7ef
mov eax, dword [0x1807a9b10]
xor edx, edx
div dword [0x1807a9b14]
sub eax, 0x36ad0c77
and eax, 0xe3a3f5cb
imul eax, eax, 0x4e273f2e
cmp eax, 0xf3dfbfe
je 0x18049d7ef
test r8, r8
je 0x18049cf72
jmp 0x18049cf61
sub r8, 1
je 0x18049d2c9
jmp 0x18049cf6d
jmp 0x18049d53e
mov eax, dword [0x1807a9b18]
xor eax, dword [0x1807a9b1c]
imul eax, eax, 0xbd03c611
sub eax, 0x31a2f34c
xor eax, 0x64f87e09
cmp eax, 0x2e291063
jb 0x18049d800
jmp 0x18049cf9b
mov eax, dword [0x1807a9b20]
imul eax, dword [0x1807a9b24]
mov r8d, 0x15efc850
xor edx, edx
div r8d
add eax, 0x782a3793
add eax, 0xf1d1793b
mov r14, rcx
add r14, 8
cmp eax, 0x91b56c48
jae 0x18049cf9b
jmp 0x18049cfcd
mov r12, qword [r14]
mov eax, 1
lock xadd qword [r12], rax
cmp rax, 0
setl cl
mov eax, dword [0x1807a9b28]
sub eax, dword [0x1807a9b2c]
mov r8d, 0x26b0fd6d
xor edx, edx
div r8d
mov r8d, 0x95e0a2fd
xor edx, edx
div r8d
mov r8d, 0x267284e2
xor edx, edx
div r8d
cmp eax, 0x2781ca00
je 0x18049d80d
jmp 0x18049d01c
mov eax, dword [0x1807a9b30]
sub eax, dword [0x1807a9b34]
sub eax, 0xc2d142e0
sub eax, 0x9278499c
mov r8d, 0xdd3c87da
xor edx, edx
div r8d
cmp eax, 0x95924132
ja 0x18049d01c
test cl, 1
jne 0x18049d25e
jmp 0x18049d04f
mov eax, dword [0x1807a9b38]
sub eax, dword [0x1807a9b3c]
mov ecx, 0xea30b22a
xor edx, edx
div ecx
mov ecx, 0x2b10e136
xor edx, edx
div ecx
and eax, 0x311ee97b
cmp eax, 0xe96600a3
ja 0x18049d81a
mov eax, dword [str.:M_b]
xor eax, dword [0x1807a9b44]
imul eax, eax, 0x123b9e1
and eax, 0xe172d96e
and eax, 0xa4c2a7a9
mov cl, byte [0x1807afe04]
cmp eax, 0x5e696a91
jae 0x18049d81a
jmp 0x18049d0ac
mov ecx, 0x100
mov edx, 0x80
call fcn.1804caf90
mov rbx, rax
cmp rbx, 0
sete cl
mov eax, dword [0x1807a9b48]
add eax, dword [0x1807a9b4c]
mov r8d, 0xe687373c
xor edx, edx
div r8d
sub eax, 0x23846595
add eax, 0x7082a5c
cmp eax, 0x3e83127d
jb 0x18049d82d
jmp 0x18049d0f3
mov eax, dword [0x1807a9b50]
imul eax, dword [0x1807a9b54]
add eax, 0x36a86f98
or eax, 0xbd0b11d1
or eax, 0x5122d6e4
cmp eax, 0xe5ea1736
je 0x18049d0f3
test cl, 1
jne 0x18049d11d
jmp 0x18049d181
mov eax, dword [0x1807a9b58]
sub eax, dword [0x1807a9b5c]
xor eax, 0x989e8e7f
imul eax, eax, 0x6b05bdb8
sub eax, 0x9843a613
cmp eax, 0x1cbda3e4
je 0x18049d83a
jmp 0x18049d146
mov eax, dword [0x1807a9b60]
sub eax, dword [0x1807a9b64]
xor eax, 0xea9b7125
mov ecx, 0xc51bf045
xor edx, edx
div ecx
imul esi, eax, 0xdb1cb103
mov ecx, 0x80
mov edx, 0x100
call fcn.18063bc30
cmp esi, 0xc969188e
jb 0x18049d146
jmp 0x18049d17f
ud2
mov r15, r12
add r15, 0x1b8
mov qword [rbx], 0xcc
mov qword [rbx + 8], 0
lea rax, [0x1806c4080]
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], 0
mov r13, rbx
add r13, 0x20
mov eax, dword [0x1807a9b68]
add eax, dword [0x1807a9b6c]
mov ecx, 0xa881db2a
xor edx, edx
div ecx
or eax, 0x4aab096
mov ecx, 0x3bcb93a8
xor edx, edx
div ecx
cmp eax, 0xe629223d
jae 0x18049d856
mov ebp, dword [0x1807a9b70]
add ebp, dword [0x1807a9b74]
and ebp, 0x301caf9f
or ebp, 0x8793895d
or ebp, 0x8d7834a9
mov qword [r13], r12
mov qword [rbx + 0x28], rdi
mov rcx, rbx
add rcx, 0x30
mov rdx, rsi
mov r8d, 0xb0
call fcn.1806a7400
mov rcx, rbx
add rcx, 0xe0
cmp ebp, 0x9385cbc0
jb 0x18049d856
jmp 0x18049d235
xor edx, edx
mov r8d, 0x18
call fcn.1806a7aa0
mov rcx, r15
mov rdx, rbx
mov r8, rbx
call fcn.180499460
mov rsi, rax
cmp rsi, 0
jne 0x18049d262
jmp 0x18049d77a
ud2
mov eax, dword [0x1807a9b78]
and eax, dword [0x1807a9b7c]
and eax, 0xee74bb95
xor eax, 0xc80d974b
and eax, 0x6d91d9ea
cmp eax, 0xd3e365e9
jae 0x18049d880
jmp 0x18049d28a
mov eax, dword [0x1807a9b80]
xor eax, dword [0x1807a9b84]
mov ecx, 0x3978fec8
xor edx, edx
div ecx
or eax, 0xc97c634f
mov ecx, 0x88e0ef78
xor edx, edx
div ecx
mov edi, eax
mov rcx, r14
mov rdx, rsi
call fcn.180643620
cmp edi, 0x86692a6c
je 0x18049d28a
jmp 0x18049d2c4
jmp 0x18049d77a
mov r12, qword [rcx + 8]
mov eax, dword [0x1807a9b88]
imul eax, dword [0x1807a9b8c]
xor eax, 0x33270ee8
or eax, 0x990af270
sub eax, 0xf2f86a26
cmp eax, 0x8a7dd1a
jb 0x18049d89c
mov eax, dword [0x1807a9b90]
mov ecx, dword [0x1807a9b94]
imul eax, ecx
imul ecx, eax, 0xab413248
add ecx, 0xe76778b4
mov eax, 1
lock xadd qword [r12], rax
cmp ecx, 0x9fc2757c
jbe 0x18049d89c
jmp 0x18049d328
cmp rax, 0
jl 0x18049d3bc
mov al, byte [0x1807afe04]
mov ecx, 0x100
mov edx, 0x80
call fcn.1804caf90
mov rbx, rax
mov eax, dword [0x1807a9b98]
sub eax, dword [0x1807a9b9c]
sub eax, 0x724caa29
imul eax, eax, 0x98b1293e
sub eax, 0xb23abbe4
cmp eax, 0x34d35c5b
je 0x18049d8b2
mov eax, dword [0x1807a9ba0]
and eax, dword [0x1807a9ba4]
mov ecx, 0xf0029fe8
xor edx, edx
div ecx
or eax, 0xf29ab81d
sub eax, 0x12ce2671
cmp rbx, 0
sete cl
cmp eax, 0x75ac1b4a
jbe 0x18049d8b2
jmp 0x18049d3a4
test cl, 1
jne 0x18049d3ab
jmp 0x18049d411
mov ecx, 0x80
mov edx, 0x100
call fcn.18063bc30
ud2
ud2
mov r14, r12
add r14, 0x80
mov r15, r12
add r15, 0x10
mov qword [rbx], 0xcc
mov qword [rbx + 8], 0
lea rax, [0x1806c4350]
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], 0
mov qword [rbx + 0x20], r12
mov qword [rbx + 0x28], rdi
mov eax, dword [0x1807a9bb8]
and eax, dword [0x1807a9bbc]
and eax, 0x9ec735e1
and eax, 0xf7bb78c0
sub eax, 0x706e6d68
cmp eax, 0x3a4c57c7
je 0x18049d8cc
mov eax, dword [0x1807a9bc0]
xor eax, dword [0x1807a9bc4]
and eax, 0xa76a01ca
add eax, 0xa1eb3394
mov ecx, 0xb47f18f9
xor edx, edx
div ecx
mov rdi, rbx
add rdi, 0x30
cmp eax, 0xdf53e18
ja 0x18049d8cc
jmp 0x18049d4a5
mov eax, dword [0x1807a9bc8]
or eax, dword [0x1807a9bcc]
xor eax, 0x3bc3c13
and eax, 0x1ae8c85f
xor eax, 0xb86d0688
cmp eax, 0xc0db48e1
ja 0x18049d8dd
jmp 0x18049d4cd
mov eax, dword [0x1807a9bd0]
imul eax, dword [0x1807a9bd4]
imul eax, eax, 0x3b6b05ad
sub eax, 0x6416c85d
mov ecx, 0xa8331545
xor edx, edx
div ecx
mov ebp, eax
mov rcx, rdi
mov rdx, rsi
mov r8d, 0xb0
call fcn.1806a7400
mov rcx, rbx
add rcx, 0xe0
xor edx, edx
mov r8d, 0x18
call fcn.1806a7aa0
mov rcx, r14
mov rdx, rbx
mov r8, rbx
call fcn.180499460
mov rcx, r15
mov rdx, rax
call fcn.180641500
cmp ebp, 0x84794e11
je 0x18049d4cd
jmp 0x18049d77a
add rcx, 8
mov eax, dword [0x1807a9bd8]
xor edx, edx
div dword [0x1807a9bdc]
add eax, 0xa0ae6a22
sub eax, 0x32319cb9
or eax, 0x628df893
cmp eax, 0x3edec8b0
je 0x18049d92f
jmp 0x18049d56c
mov eax, dword [0x1807a9be0]
sub eax, dword [0x1807a9be4]
add eax, 0x8150a89
sub eax, 0x193b8ea3
mov r8d, 0x56f8d92e
xor edx, edx
div r8d
mov r12, qword [rcx]
mov r14, r12
add r14, 0x10
cmp eax, 0x515f336e
ja 0x18049d56c
jmp 0x18049d5a0
mov eax, dword [0x1807a9be8]
or eax, dword [0x1807a9bec]
sub eax, 0xaf0569bc
imul eax, eax, 0x67f961a9
or eax, 0xb3c9f3d1
cmp eax, 0xe05c89c8
ja 0x18049d93c
jmp 0x18049d5c9
mov eax, dword [0x1807a9bf0]
mov ecx, dword [0x1807a9bf4]
xor edx, edx
div ecx
xor eax, 0xc6010228
or eax, 0x302cf155
imul ecx, eax, 0xe684f12e
mov eax, 1
lock xadd qword [r12], rax
cmp rax, 0
setl al
cmp ecx, 0x1cb12d69
je 0x18049d5c9
test al, 1
jne 0x18049d766
jmp 0x18049d60d
mov al, byte [0x1807afe04]
mov ecx, 0x100
mov edx, 0x80
call fcn.1804caf90
mov rbx, rax
cmp rbx, 0
jne 0x18049d68b
mov ecx, 0x80
mov edx, 0x100
call fcn.18063bc30
mov eax, dword [0x1807a9bf8]
add eax, dword [0x1807a9bfc]
and eax, 0xaaf18ab9
add eax, 0x30f2e966
imul eax, eax, 0x7b20e016
cmp eax, 0xc8501bbb
jbe 0x18049d94e
mov eax, dword [0x1807a9c00]
xor edx, edx
div dword [0x1807a9c04]
sub eax, 0x8ade8fab
xor eax, 0x7a00ee9e
or eax, 0x280ba3fa
cmp eax, 0x3fbaa2d5
je 0x18049d94e
ud2
mov eax, dword [0x1807a9c08]
imul eax, dword [0x1807a9c0c]
or eax, 0x8fc917bd
mov ecx, 0x9ba81668
xor edx, edx
div ecx
add eax, 0x9df73555
cmp eax, 0x47d3bc19
je 0x18049d95b
mov eax, dword [0x1807a9c10]
xor edx, edx
div dword [0x1807a9c14]
xor eax, 0x4b29f57d
mov ecx, 0x5690ba89
xor edx, edx
div ecx
xor eax, 0xa9c47924
mov r15, r12
add r15, 0xd0
mov qword [rbx], 0xcc
mov qword [rbx + 8], 0
mov rcx, rbx
add rcx, 0x10
cmp eax, 0x47c7e435
jbe 0x18049d95b
jmp 0x18049d704
lea rax, [0x1806c4210]
mov qword [rcx], rax
mov rax, rbx
add rax, 0x18
mov qword [rax], 0
mov qword [rbx + 0x20], r12
mov qword [rbx + 0x28], rdi
mov rcx, rbx
add rcx, 0x30
mov rdx, rsi
mov r8d, 0xb0
call fcn.1806a7400
mov rcx, rbx
add rcx, 0xe0
xor edx, edx
mov r8d, 0x18
call fcn.1806a7aa0
mov rcx, r15
mov rdx, rbx
mov r8, rbx
call fcn.180499460
cmp rax, 0
jne 0x18049d76a
jmp 0x18049d77a
ud2
mov rcx, r14
mov rdx, rax
xor r8d, r8d
call fcn.180655f40
jmp 0x18049d77a
mov eax, dword [0x1807a9c18]
or eax, dword [0x1807a9c1c]
or eax, 0x6845ea57
add eax, 0x72a0a856
or eax, 0xb6d12da2
cmp eax, 0xf81f6bc1
jbe 0x18049d97b
mov eax, dword [0x1807a9c20]
or eax, dword [0x1807a9c24]
mov ecx, 0xebc18d2
xor edx, edx
div ecx
sub eax, 0xf34709b2
mov ecx, 0x2f322a22
xor edx, edx
div ecx
cmp eax, 0xd8af7b62
ja 0x18049d97b
add dword [rax], eax
add byte [rax - 0x77], cl
fmul dword [rax - 0x7d]
invalid
mov rax, rbx
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
invalid
invalid
cwde
invalid
int1
or ah, byte [rsi]
fdivr dword [rsi]
fstp dword [rcx + rbp*8]
add al, bh
invalid
push rax
xor ah, ah
cmp al, 0x80
cmpsb byte [rsi], byte [rdi]
js 0x18049d7cb
test eax, 0x25dc058a
xor dword [rax], eax
mov al, byte [0x1807afe04]
jmp 0x18049d07d
invalid
jge 0x18049d89e
invalid
invalid
sti
xor eax, 0x499531ae
push rdi
mov dl, 0x4d
mov dword [rbp], esp
mov qword [rbx + 0x28], rdi
mov rcx, rbx
add rcx, 0x30
mov rdx, rsi
mov r8d, 0xb0
call fcn.1806a7400
jmp 0x18049d1e2
je 0x18049d84d
jns 0x18049d821
push 0x10
jo 0x18049d8a5
cmp byte [rax - 0x76b36449], dh
int1
mov rdx, rsi
call fcn.180643620
jmp 0x18049d288
stosq qword [rdi], rax
stosd dword [rdi], eax
invalid
invalid
invalid
scasd eax, dword [rdi]
invalid
mov ebp, 0xb65a91c8
mov dh, 0xd
pop rbx
mov bh, 0x4c
fidiv dword [rsi + 0x48]
mov ecx, edi
mov rdx, rsi
mov r8d, 0xb0
call fcn.1806a7400
mov rcx, rbx
add rcx, 0xe0
xor edx, edx
mov r8d, 0x18
call fcn.1806a7aa0
mov rcx, r14
mov rdx, rbx
mov r8, rbx
call fcn.180499460
mov rcx, r15
mov rdx, rax
call fcn.180641500
jmp 0x18049d4cb
mov bh, 0x80
invalid
cmp cl, byte [rax - 0x340b1c40]
mov esp, ds
lock inc qword [r12]
jmp 0x18049d5c7
xchg ebp, eax
invalid
cdq
mov r15b, 0x3a
je 0x18049d972
cld
leave
invalid
add byte [rax], al
add byte [rax], al
jmp 0x18049d6b6
xchg rbx, rax
hlt