Function at 0x180416ab0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
push rax
mov rbp, rsp
mov rsi, rcx
mov eax, dword [0x18079b438]
imul eax, dword [0x18079b43c]
xor eax, 0xffb3caf1
xor eax, 0x3079717
and eax, 0x7211a292
cmp eax, 0x420cfdd1
jae 0x180416fb1
mov eax, dword [0x18079b440]
mov ecx, dword [0x18079b444]
or eax, ecx
add eax, 0xbbfa7686
imul rcx, rax, 0x68cc7bf9
shr rcx, 0x3e
mov eax, 0x10
call fcn.180698e80
sub rsp, rax
mov rdi, rsp
mov eax, 0x10
call fcn.180698e80
sub rsp, rax
mov rbx, rsp
cmp ecx, 0x3a7d22e3
ja 0x180416fb1
jmp 0x180416b36
sub rsp, 0x20
mov rcx, rsi
call fcn.18063b300
add rsp, 0x20
test al, 1
jne 0x180416e33
jmp 0x180416b50
sub rsp, 0x20
mov rcx, rsi
call fcn.18063b3a0
add rsp, 0x20
mov cl, al
mov eax, dword [0x18079b448]
xor eax, dword [0x18079b44c]
add eax, 0x9cd92b1f
sub eax, 0x67ae7636
imul eax, eax, 0x6e55e63
cmp eax, 0x2e5d87b6
jbe 0x180416fc2
jmp 0x180416b8b
mov eax, dword [0x18079b450]
or eax, dword [0x18079b454]
mov r8d, 0x130e378a
xor edx, edx
div r8d
imul eax, eax, 0xb4f837da
add eax, 0x35d1c915
cmp eax, 0xa7ce4c19
jae 0x180416b8b
test cl, 1
jne 0x180416bbe
jmp 0x180416fa0
mov eax, dword [0x18079b458]
imul eax, dword [0x18079b45c]
mov ecx, 0xe3b210a8
xor edx, edx
div ecx
sub eax, 0xc9aefea0
mov ecx, 0x9ddf3642
xor edx, edx
div ecx
cmp eax, 0xaa73c3ef
ja 0x180416fcf
jmp 0x180416bef
mov eax, dword [0x18079b460]
xor eax, dword [0x18079b464]
xor eax, 0xdd664b2d
sub eax, 0xc433cd67
mov ecx, 0xd979f31a
xor edx, edx
div ecx
mov rcx, rsi
add rcx, 0x20
cmp eax, 0x3f34bcd2
ja 0x180416bef
jmp 0x180416c1e
mov eax, dword [0x18079b468]
and eax, dword [0x18079b46c]
add eax, 0x7244fa6
xor eax, 0x229520b1
xor eax, 0xa03e4a5
cmp eax, 0xef078323
je 0x180416fe0
mov eax, 0x94197977
mov rdx, qword [rcx]
mov r8, 0xffffffffffffffff
lock xadd qword [rdx], r8
cmp eax, 0x27b812c8
jb 0x180416fe0
jmp 0x180416c65
mov eax, dword [0x18079b470]
and eax, dword [0x18079b474]
and eax, 0x6870538f
xor eax, 0xb26a7511
and eax, 0x9c1e2e4c
cmp eax, 0x89efe73c
je 0x180416ff4
mov eax, dword [0x18079b478]
add eax, dword [0x18079b47c]
add eax, 0xd762409f
mov r9d, 0xc258b751
xor edx, edx
div r9d
xor eax, 0x174ce33
cmp r8, 1
sete dl
cmp eax, 0x70e7b8d
je 0x180416ff4
test dl, 1
jne 0x180416cc5
jmp 0x180416d29
mov eax, dword [0x18079b480]
imul eax, dword [0x18079b484]
mov r8d, 0x174ad5bf
xor edx, edx
div r8d
xor eax, 0x7e41744c
sub eax, 0x72c22c5a
cmp eax, 0xb5d7e88d
jae 0x180417001
jmp 0x180416cf4
mov eax, dword [0x18079b488]
mov edx, dword [0x18079b48c]
and eax, edx
xor eax, 0x40080000
or eax, 0xa45fb7b
and eax, 0x4a4ffb7b
cmp eax, 0xf5be11a6
jae 0x180416cf4
jmp 0x180416d1a
sub rsp, 0x20
call fcn.1804bab90
add rsp, 0x20
jmp 0x180416d29
mov rcx, rsi
add rcx, 0x30
sub rsp, 0x20
call fcn.1803fdae0
add rsp, 0x20
mov r8, qword [rsi + 0xd8]
mov eax, dword [0x18079b490]
add eax, dword [0x18079b494]
and eax, 0x84d23a7d
xor eax, 0x6bffdfe4
imul eax, eax, 0x9c1be5bd
cmp eax, 0x44d3ce83
jb 0x18041700e
jmp 0x180416d6d
mov eax, dword [0x18079b498]
xor edx, edx
div dword [0x18079b49c]
mov ecx, 0x7b1fc0d6
xor edx, edx
div ecx
mov ecx, 0x65b239ad
xor edx, edx
div ecx
mov ecx, 0x354a2076
xor edx, edx
div ecx
cmp r8, 0
sete cl
cmp eax, 0x8a269558
jae 0x180416d6d
jmp 0x180416da6
test cl, 1
jne 0x180416dc5
jmp 0x180416dad
mov rcx, qword [rsi + 0xe0]
add r8, 0x18
sub rsp, 0x20
call qword [r8]
add rsp, 0x20
jmp 0x180416dc5
sub rsp, 0x20
mov rcx, rsi
mov edx, 0x100
mov r8d, 0x80
call fcn.1804cafa0
add rsp, 0x20
mov eax, dword [0x18079b4a0]
xor eax, dword [0x18079b4a4]
or eax, 0x14f6a125
sub eax, 0xc2e807e
and eax, 0x30d9f780
cmp eax, 0xde7fe2a5
jae 0x18041701f
jmp 0x180416e08
mov eax, dword [0x18079b4a8]
sub eax, dword [0x18079b4ac]
and eax, 0xc6e84a45
xor eax, 0xfeb2f747
mov ecx, 0xf913eb64
xor edx, edx
div ecx
cmp eax, 0xd6ce7d50
ja 0x180416e08
jmp 0x180416fa0
mov eax, dword [0x18079b4b0]
imul eax, dword [0x18079b4b4]
xor eax, 0xa78af1b3
xor eax, 0x968a8d8a
imul eax, eax, 0x328f76ca
cmp eax, 0x5fc974a0
jb 0x18041702c
jmp 0x180416e5d
mov eax, dword [0x18079b4b8]
imul eax, dword [0x18079b4bc]
and eax, 0xc3650ed9
add eax, 0xd7a2dd9b
mov ecx, 0x473e1502
xor edx, edx
div ecx
mov r13, rsi
add r13, 0x28
cmp eax, 0x5a889b37
ja 0x180416e5d
jmp 0x180416e8d
mov eax, dword [0x18079b4c0]
xor eax, dword [str.m_]
and eax, 0xc8265ac7
mov ecx, 0x6795b170
xor edx, edx
div ecx
or eax, 0xe666b516
cmp eax, 0x4b481f0b
jbe 0x180417039
jmp 0x180416eb9
mov eax, dword [0x18079b4c8]
add eax, dword [0x18079b4cc]
mov ecx, 0xfd8ca100
xor edx, edx
div ecx
mov r14d, eax
add r14d, 0xeca7778f
and r14d, 0x37c771ca
mov rcx, qword [r13]
sub rsp, 0x20
call fcn.18063f660
add rsp, 0x20
mov qword [rbx], rax
mov qword [rbx + 8], rdx
mov r15, rsi
add r15, 0x30
sub rsp, 0x20
mov rcx, r15
call fcn.18034ffd0
add rsp, 0x20
movabs rax, 0x8000000000000007
mov qword [rsi + 0x30], rax
sub rsp, 0x20
mov rcx, rbx
call fcn.18063f700
add rsp, 0x20
mov r12, qword [r13]
sub rsp, 0x20
mov rcx, r12
call fcn.18063f660
add rsp, 0x20
mov qword [rdi], rax
mov qword [rdi + 8], rdx
sub rsp, 0x20
sub esp, 0x20
mov rcx, r15
call fcn.18034ffd0
add rsp, 0x20
movabs rax, 0x8000000000000006
mov qword [rsi + 0x30], rax
mov qword [rsi + 0x38], 1
mov qword [rsi + 0x40], 0
mov qword [rsi + 0x50], r12
cmp r14d, 0x8b7be9a5
jae 0x180416eb9
jmp 0x180416f88
sub rsp, 0x20
mov rcx, rdi
call fcn.18063f700
mov rcx, rsi
call fcn.180410b30
add rsp, 0x20
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
fadd qword [rsi + 0x3f]
jno 0x180416f48
push rdx
popfq
invalid
jmp 0x1b7c9b85f
jp 0x180417023
mov dh, byte [rax - 0x21589395]
enter 0xffffffffffffb09d, 0xffffffffffffff9e
jmp 0x180416bed
stc
sal dword [rcx + 0x2b68035c], 1
invalid
jo 0x180417019
and ebx, esp
and al, 0xad
sbb eax, 0xfc8ae985
invalid
mov byte [rcx + 0x7d2e892b], cl
in eax, 0xe9
in al, 0xfc
invalid
wait
jno 0x180417075
xchg esp, ebp
mov eax, cs
jmp 0x180416ff6
in al, dx
jmp 0x180416d6b
pop rax
xor byte [rdx], cl
invalid
ret 0xef6e
invalid
sub al, 0x2a
invalid
add byte [rax], al
add byte [rax], al
or byte [rax - 0x77], 0x46
xor byte [rax - 0x7d], cl
in al, dx
and byte [rax - 0x77], cl
fld1
jbe 0x18041700e
and al, byte [rax]
add rsp, 0x20
mov r15, qword [r13]
sub rsp, 0x20
mov rcx, r15
call fcn.18063f660
add rsp, 0x20
mov qword [rdi], rax
mov qword [rdi + 8], rdx
sub rsp, 0x20
mov rcx, r14
call fcn.18034ffd0
add rsp, 0x20
movabs rax, 0x8000000000000006
mov qword [rsi + 0x30], rax
mov qword [rsi + 0x38], 1
mov qword [rsi + 0x40], 0
mov qword [rsi + 0x50], r15
jmp 0x180416eb7