Function at 0x18049f9a0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
mov rsi, qword [rcx + 8]
add rcx, 0x10
mov rdi, qword [rcx]
cmp rdi, 0
je 0x18049fc10
xor r8d, r8d
jmp 0x18049f9c1
mov eax, dword [str._fO_f]
or eax, dword [0x1807a9f4c]
sub eax, 0x1c04de3c
xor eax, 0x2305a559
add eax, 0x8ebc06ed
cmp eax, 0x1b21a441
je 0x18049fc18
mov eax, dword [0x1807a9f50]
add eax, dword [0x1807a9f54]
mov ecx, 0xcfa45bf8
xor edx, edx
div ecx
and eax, 0xc152c419
or eax, 0xae4e5b2c
imul rdx, r8, 0x28
mov rcx, rsi
add rcx, rdx
mov rbx, r8
add rbx, 1
mov rdx, qword [rcx]
movabs r9, 0x8000000000000000
mov r10, rdx
xor r10, r9
mov r9, r10
sub r9, 5
mov r9d, 5
cmovb r9, r10
cmp eax, 0x94130182
jb 0x18049fc18
mov rax, r9
sub rax, 4
jb 0x18049fadb
jmp 0x18049fa55
sub r9, 4
je 0x18049fa63
mov rax, rcx
jmp 0x18049fae7
mov eax, dword [0x1807a9f58]
or eax, dword [0x1807a9f5c]
sub eax, 0x7d7707f4
and eax, 0xdba0f55e
and eax, 0x8b881be1
cmp eax, 0x6d7e3a27
ja 0x18049fc29
jmp 0x18049fa8b
mov r8d, dword [0x1807a9f60]
and r8d, dword [0x1807a9f64]
add r8d, 0x5b2e5845
xor r8d, 0x3a660871
and r8d, 0x58d84978
mov rax, rcx
add rax, 8
mov rdx, qword [rcx + 8]
cmp r8d, 0x496f9356
jb 0x18049fa8b
jmp 0x18049fac4
movabs rcx, 0x8000000000000002
cmp rdx, rcx
setl cl
test cl, 1
jne 0x18049fb56
jmp 0x18049fae7
add rcx, 8
mov rdx, qword [rcx]
mov rax, rcx
jmp 0x18049fae7
cmp rdx, 0
je 0x18049fb56
add rax, 8
mov rcx, qword [rax]
mov r8d, 1
call fcn.1804cafa0
mov eax, dword [0x1807a9f68]
sub eax, dword [0x1807a9f6c]
add eax, 0xcf4f13ee
mov ecx, 0x74c4a22f
xor edx, edx
div ecx
mov ecx, 0x76f03381
xor edx, edx
div ecx
cmp eax, 0xff4ee38c
jae 0x18049fc3a
mov eax, dword [0x1807a9f70]
or eax, dword [0x1807a9f74]
add eax, 0xe1eca42f
imul eax, eax, 0x305ea227
or eax, 0x504261ec
cmp eax, 0xa10fae80
jae 0x18049fc3a
jmp 0x18049fb56
mov eax, dword [0x1807a9f78]
imul eax, dword [0x1807a9f7c]
add eax, 0x851a2f82
sub eax, 0x45fb9c65
xor eax, 0x1fb8cb9
cmp eax, 0x67c9e70c
jbe 0x18049fc4b
mov ecx, dword [0x1807a9f80]
add ecx, dword [0x1807a9f84]
xor ecx, 0xaae12ba5
sub ecx, 0x473eb502
add ecx, 0x7f745e1
cmp rbx, rdi
sete al
cmp ecx, 0x3d403aa0
jbe 0x18049fc4b
jmp 0x18049fbaf
mov ecx, dword [0x1807a9f88]
imul ecx, dword [0x1807a9f8c]
xor ecx, 0xd67af864
imul ecx, ecx, 0x98137b
xor ecx, 0x7bb016bc
mov al, 0x7b
cmp ecx, 0xab73c17b
je 0x18049fc5c
jmp 0x18049fbdc
mov ecx, dword [0x1807a9f90]
sub ecx, dword [0x1807a9f94]
xor ecx, 0xe6f04233
or ecx, 0xe46c021e
add ecx, 0xd696519b
cmp ecx, 0x3bf90736
jbe 0x18049fbdc
test al, 1
mov r8, rbx
jne 0x18049fc0e
jmp 0x18049f9c1
jmp 0x18049fc10
add rsp, 0x20
pop rbx
pop rdi
pop rsi
ret
add eax, 0xd732b7c9
cmp dl, byte [rdx - 0x1e]
pushfq
invalid
jnp 0x18049fbcc
mov cl, 0x24
mov qword [r15], r14
and dword [rcx + 0x2e], eax
mov byte [rax], dh
jmp 0x18049fa89
ja 0x18049fc88
sar dword [rcx + 0xf70a428], 0xca
cmp al, 0xa1
sub cl, 0xe2
invalid
mov dh, 0xaf
push rcx
sub dl, byte [rsp + rdx*2]
xchg ebp, eax
out 0x62, eax
jp 0x18049fc87
shr ecx, 0x21
invalid
cmp edx, dword [rbp + 0x33ddbee7]
call 0x1ea456e0e
xor ch, cl
insd dword [rdi], dx
invalid
inc dword [rax]
add byte [rdi], cl
xchg esp, eax
shr byte [rax - 0x687af0ff], 1
add byte [rax], al