Function at 0x18049ba60
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 r8, qword [rcx]
mov eax, dword [0x1807a98f0]
xor eax, dword [0x1807a98f4]
add eax, 0xc20b3bb3
sub eax, 0xc2bf1002
add eax, 0x90c1c4f3
cmp eax, 0x36280ce2
jae 0x18049c2d8
mov eax, dword [0x1807a98f8]
xor eax, dword [0x1807a98fc]
xor eax, 0x83df168f
imul eax, eax, 0xb858fc69
mov r9d, 0xfb3f77f9
xor edx, edx
div r9d
cmp eax, 0xb25a32c9
ja 0x18049c2d8
test r8, r8
je 0x18049bae4
jmp 0x18049bad3
sub r8, 1
je 0x18049bd73
jmp 0x18049badf
jmp 0x18049bfac
mov eax, dword [0x1807a9900]
imul eax, dword [0x1807a9904]
sub eax, 0x2a39aeb6
and eax, 0x4a8dea51
imul eax, eax, 0xc9ed0eb8
cmp eax, 0x9fb2cb59
je 0x18049c2e9
mov eax, dword [0x1807a9908]
xor eax, dword [0x1807a990c]
and eax, 0x35a9a607
add eax, 0xde2c9d79
mov r8d, 0x4798e115
xor edx, edx
div r8d
mov r14, rcx
add r14, 8
cmp eax, 0x62352af
ja 0x18049c2e9
jmp 0x18049bb41
mov r12, qword [r14]
mov eax, 1
lock xadd qword [r12], rax
cmp rax, 0
jl 0x18049bcb3
mov eax, dword [0x1807a9910]
imul eax, dword [0x1807a9914]
add eax, 0x70aaa2d2
imul eax, eax, 0xa3fa0576
or eax, 0xf4e8d2e2
cmp eax, 0x2055bc0a
jb 0x18049c2fa
mov eax, dword [0x1807a9918]
sub eax, dword [0x1807a991c]
imul eax, eax, 0x5aaa107c
and eax, 0xd304ee13
add eax, 0x7437d814
mov cl, byte [0x1807afe04]
cmp eax, 0x2b8ceac0
je 0x18049c2fa
jmp 0x18049bbb0
mov ecx, 0x480
mov edx, 0x80
call fcn.1804caf90
mov rbx, rax
cmp rbx, 0
jne 0x18049bbd9
mov ecx, 0x80
mov edx, 0x480
call fcn.18063bc30
ud2
mov r15, r12
add r15, 0x1b8
mov qword [rbx], 0xcc
mov r13, rbx
add r13, 8
mov eax, dword [0x1807a9920]
sub eax, dword [0x1807a9924]
xor eax, 0x510063a
and eax, 0x98773003
xor eax, 0x3c38c589
cmp eax, 0x764e8ab2
je 0x18049c30d
jmp 0x18049bc19
mov eax, dword [0x1807a9928]
sub eax, dword [0x1807a992c]
add eax, 0x36c6effd
mov ecx, 0xbf40b95d
xor edx, edx
div ecx
mov ecx, 0x8a05dc04
xor edx, edx
div ecx
mov ebp, eax
mov qword [r13], 0
lea rax, [0x1806c4030]
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], 0
mov qword [rbx + 0x20], r12
mov qword [rbx + 0x28], rdi
mov rcx, rbx
add rcx, 0x30
mov rdx, rsi
mov r8d, 0x3b8
call fcn.1806a7400
mov rcx, rbx
add rcx, 0x3e8
xor edx, edx
mov r8d, 0x18
call fcn.1806a7aa0
cmp ebp, 0x16fda856
jae 0x18049bc19
jmp 0x18049bc97
mov rcx, r15
mov rdx, rbx
mov r8, rbx
call fcn.180499460
mov rsi, rax
cmp rsi, 0
jne 0x18049bd0b
jmp 0x18049c2c4
mov eax, dword [0x1807a9930]
sub eax, dword [0x1807a9934]
sub eax, 0x94128433
and eax, 0xf1dd551b
mov ecx, 0x4d702f92
xor edx, edx
div ecx
cmp eax, 0x7b346c2b
ja 0x18049c36d
mov eax, dword [0x1807a9938]
xor edx, edx
div dword [0x1807a993c]
sub eax, 0x2a7d59bd
add eax, 0x4367940b
or eax, 0x7462c15f
ud2
mov eax, dword [0x1807a9940]
sub eax, dword [0x1807a9944]
add eax, 0xe7b33456
add eax, 0xc239478b
imul eax, eax, 0xff1dc3d2
cmp eax, 0x6a1ffccd
jbe 0x18049c37c
mov eax, dword [0x1807a9948]
add eax, dword [0x1807a994c]
mov ecx, 0xb65180f
xor edx, edx
div ecx
mov edi, eax
xor edi, 0x99c4cd1f
or edi, 0xbde67ea7
mov rcx, r14
mov rdx, rsi
call fcn.180643620
cmp edi, 0x6d1b5667
jbe 0x18049c37c
jmp 0x18049bd6e
jmp 0x18049c2c4
add rcx, 8
mov eax, dword [0x1807a9950]
add eax, dword [0x1807a9954]
add eax, 0xc7db4f22
add eax, 0x65eb8c13
xor eax, 0xb503d9ee
cmp eax, 0x95f3603e
jae 0x18049c398
jmp 0x18049bd9f
mov edx, dword [0x1807a9958]
mov eax, dword [0x1807a995c]
imul edx, eax
mov eax, 0xbf893047
imul rdx, rax
shr rdx, 0x3f
or edx, 0xa4280114
mov r12, qword [rcx]
mov eax, 1
lock xadd qword [r12], rax
cmp edx, 0xc43acd50
je 0x18049bd9f
jmp 0x18049bdd9
cmp rax, 0
jl 0x18049be70
mov al, byte [0x1807afe04]
mov ecx, 0x480
mov edx, 0x80
call fcn.1804caf90
mov rbx, rax
mov eax, dword [0x1807a9960]
xor edx, edx
div dword [0x1807a9964]
or eax, 0x1512504d
or eax, 0xed42b686
add eax, 0xdb30716b
cmp eax, 0xb6e6f39a
jbe 0x18049c3ac
jmp 0x18049be25
mov eax, dword [0x1807a9968]
sub eax, dword [0x1807a996c]
mov ecx, 0xb5842ec7
xor edx, edx
div ecx
mov ecx, 0xd30c7f8f
xor edx, edx
div ecx
and eax, 0xd0b56603
cmp rbx, 0
sete cl
cmp eax, 0x5371931a
je 0x18049be25
jmp 0x18049be58
test cl, 1
jne 0x18049be5f
jmp 0x18049be74
mov ecx, 0x80
mov edx, 0x480
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, [0x1806c4120]
mov qword [rbx + 0x10], rax
mov eax, dword [0x1807a9970]
sub eax, dword [0x1807a9974]
and eax, 0x9a1c961e
mov ecx, 0x58109f5f
xor edx, edx
div ecx
imul eax, eax, 0x5c018be1
cmp eax, 0xca5cf7ae
ja 0x18049c3b9
jmp 0x18049becc
mov eax, dword [0x1807a9978]
imul eax, dword [0x1807a997c]
mov ecx, 0x7c9a9a81
xor edx, edx
div ecx
xor eax, 0x2797de29
or eax, 0x48cc2d0a
mov qword [rbx + 0x18], 0
mov r13, rbx
add r13, 0x20
cmp eax, 0xfe13f8d7
ja 0x18049becc
jmp 0x18049bf04
mov eax, dword [0x1807a9980]
sub eax, dword [0x1807a9984]
sub eax, 0x7baf8742
and eax, 0xb09ab55c
sub eax, 0x1a1420b2
cmp eax, 0x25eaf469
je 0x18049c3ce
mov eax, dword [0x1807a9988]
xor edx, edx
div dword [0x1807a998c]
sub eax, 0xb3c33348
imul eax, eax, 0x1409f727
mov ecx, 0x1d65583e
xor edx, edx
div ecx
mov ebp, eax
mov qword [r13], r12
mov qword [rbx + 0x28], rdi
mov rcx, rbx
add rcx, 0x30
mov rdx, rsi
mov r8d, 0x3b8
call fcn.1806a7400
mov rcx, rbx
add rcx, 0x3e8
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, 0xb96b4d28
je 0x18049c3ce
jmp 0x18049c2c4
add rcx, 8
mov eax, dword [0x1807a9990]
xor edx, edx
div dword [0x1807a9994]
add eax, 0x10f574f0
mov r8d, 0x46420cd3
xor edx, edx
div r8d
imul eax, eax, 0x73a800cb
cmp eax, 0xb886dbbb
jae 0x18049c42c
mov eax, dword [0x1807a9998]
xor eax, dword [0x1807a999c]
xor eax, 0xf96ce9d5
add eax, 0x16b0aa4c
and eax, 0xcae3ade2
mov r12, qword [rcx]
cmp eax, 0xd31e715e
jae 0x18049c42c
jmp 0x18049c00a
mov eax, dword [0x1807a99a0]
imul eax, dword [0x1807a99a4]
or eax, 0xaa680955
imul eax, eax, 0x324dc1cc
mov ecx, 0x43b986a5
xor edx, edx
div ecx
cmp eax, 0x604ca817
ja 0x18049c439
jmp 0x18049c038
mov ecx, 0xa00f778d
mov r14, r12
add r14, 0x10
mov eax, 1
lock xadd qword [r12], rax
cmp rax, 0
setl al
cmp ecx, 0x116df9ad
je 0x18049c038
test al, 1
jne 0x18049c214
jmp 0x18049c068
mov al, byte [0x1807afe04]
mov ecx, 0x480
mov edx, 0x80
call fcn.1804caf90
mov rbx, rax
cmp rbx, 0
sete cl
mov eax, dword [0x1807a99a8]
add eax, dword [0x1807a99ac]
mov r8d, 0x8bb25c29
xor edx, edx
div r8d
add eax, 0xa5302a4b
xor eax, 0xcc713eef
cmp eax, 0x5ef79273
je 0x18049c44f
jmp 0x18049c0b5
mov eax, dword [0x1807a99b0]
or eax, dword [0x1807a99b4]
or eax, 0xb0db3fe0
sub eax, 0x20d7f05a
sub eax, 0xef7705b0
cmp eax, 0x878a0eca
jb 0x18049c0b5
test cl, 1
jne 0x18049c0de
jmp 0x18049c147
mov eax, dword [0x1807a99b8]
xor edx, edx
div dword [0x1807a99bc]
mov ecx, 0xe3648d36
xor edx, edx
div ecx
add eax, 0x36634494
sub eax, 0x4993144
cmp eax, 0xd210b784
ja 0x18049c460
mov esi, dword [0x1807a99c0]
or esi, dword [0x1807a99c4]
and esi, 0xfb13c628
xor esi, 0x58b394fc
add esi, 0x54c11ab5
mov ecx, 0x80
mov edx, 0x480
call fcn.18063bc30
cmp esi, 0xfafb6135
ja 0x18049c460
jmp 0x18049c145
ud2
mov r15, r12
add r15, 0xd0
mov qword [rbx], 0xcc
mov qword [rbx + 8], 0
lea rax, [0x1806c4260]
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], 0
mov qword [rbx + 0x20], r12
mov qword [rbx + 0x28], rdi
mov rcx, rbx
add rcx, 0x30
mov rdx, rsi
mov r8d, 0x3b8
call fcn.1806a7400
mov eax, dword [0x1807a99c8]
sub eax, dword [0x1807a99cc]
or eax, 0xef600164
and eax, 0x20e62bd4
sub eax, 0x456c032
cmp eax, 0x8dd6bbba
jae 0x18049c47c
jmp 0x18049c1b8
mov eax, dword [0x1807a99d0]
add eax, dword [0x1807a99d4]
add eax, 0xa0c8c39e
xor eax, 0xb32dee45
imul edi, eax, 0x352c51d
mov rcx, rbx
add rcx, 0x3e8
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
sete al
cmp edi, 0x3ffcc461
jbe 0x18049c1b8
test al, 1
je 0x18049c218
jmp 0x18049c2c4
ud2
mov eax, dword [0x1807a99d8]
add eax, dword [0x1807a99dc]
and eax, 0xcdf06a4
or eax, 0xea762ef7
add eax, 0x77595659
cmp eax, 0xb1d5be45
jae 0x18049c4ae
mov eax, dword [0x1807a99e0]
xor eax, dword [0x1807a99e4]
sub eax, 0xd142a45d
imul edi, eax, 0x225d806e
or edi, 0xa665b7d1
mov rcx, r14
mov rdx, rsi
xor r8d, r8d
call fcn.180655f40
cmp edi, 0x77c363f7
je 0x18049c4ae
jmp 0x18049c277
mov eax, dword [0x1807a99e8]
xor eax, dword [0x1807a99ec]
or eax, 0xab15716d
xor eax, 0x7c0df60a
imul eax, eax, 0xb534923f
cmp eax, 0x4924bc2e
je 0x18049c4cd
mov esp, 0x840f4924
invalid
jmp 0x18049c2a0
mov eax, dword [0x1807a99f0]
or eax, dword [0x1807a99f4]
and eax, 0x324b0269
sub eax, 0x95560723
xchg ebp, eax
or eax, 0xba3c198f
cmp eax, 0xf585c0ec
je 0x18049c2a0
jmp 0x18049c2c4
mov rax, rbx
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
stosd dword [rdi], eax
xor eax, 0xc5044afa
mov dword [rdi - 0x16], edx
and byte [rcx], al
jmp 0x18049ba9f
or al, 0xb8
pop rax
adc dword [rsi], esp
sub esi, dword [rcx - 0x3e]
mov fs, eax
loopne 0x18049c2b5
jmp 0x18049bb0c
jno 0x18049c294
or dword [rsi + riz*4 - 0x75a37630], ebp
add eax, 0x313afc
jmp 0x18049bb81
invalid
sub dword [rdi + 0x476c281e], edi
sub dl, al
ud2
pop rdi
or cl, cl
invalid
outsd dx, dword [rsi]
mov bh, 0x6f
mov rcx, r14
mov rdx, rsi
call fcn.180643620
jmp 0x18049bd32
sub byte [r8], r13b
invalid
shld ebp, edx, 0x96
loopne 0x18049c385
and ch, cl
push 0xfffffffffffffffa
invalid
cmpsd dword [rsi], dword [rdi]
pop rbp
lea ebx, [rdi - 0x6d]
mov ecx, 0xc748a5ea
sbb byte [r8], al
add byte [rax], al
add cl, ch
cld
cli
invalid
pop rdi
adc al, 0x2a
popfq
xchg ecx, eax
push rbp
xchg dh, dh
fidivr word [rdx + 0x65894dff]
add byte [rax - 0x77], cl
jnp 0x18049c40a
mov rcx, rbx
add rcx, 0x30
mov rdx, rsi
mov r8d, 0x3b8
call fcn.1806a7400
mov rcx, rbx
add rcx, 0x3e8
xor edx, edx
mov r8d, 0x18
call fcn.1806a7aa0
mov rcx, r14
xchg edx, eax
mov dh, 0x20
add byte [rcx + rcx*4 - 0xf], cl
mov rdx, rbx
mov r8, rbx
call fcn.180499460
mov rcx, r15
mov rdx, rax
call fcn.180641500
jmp 0x18049bf2a
out dx, eax
invalid
cmpsb byte [rsi], byte [rdi]
sti
invalid
or bh, byte [rdi + 0x4e]
mov dword [rax + 3], edi
invalid
pop rcx
leave
xor byte [rbp + 0x6b], 0x14
retf
xchg esp, eax
mov bh, 0x28
rcr ch, 0xd2
mov al, 0xb9
add byte [rax], 0
add byte [rdx + 0x480], bh
call fcn.18063bc30
jmp 0x18049c10a
jg 0x18049c4aa
jl 0x18049c435
ror dword [rax - 0x77], 1
invalid
or ch, bh
invalid
and ebx, ebx
invalid
invalid