Function at 0x180447f30
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rsi, rcx
mov al, byte [rsi + 0x38]
movzx eax, al
test eax, eax
je 0x180447f66
jmp 0x180447f4b
mov ecx, eax
sub ecx, 3
je 0x180448050
jmp 0x180447f58
sub eax, 4
je 0x1804486a8
jmp 0x18044a28f
mov rdi, qword [rsi]
cmp rdi, 0
sete al
test al, 1
jne 0x180448037
jmp 0x180447f7a
mov eax, dword [0x1807a0850]
xor eax, dword [0x1807a0854]
sub eax, 0x9f777c78
or eax, 0x317ee3e0
or eax, 0x5171ca17
cmp eax, 0xa4336c
je 0x18044a2e7
jmp 0x180447fa2
mov ecx, dword [0x1807a0858]
and ecx, dword [0x1807a085c]
xor ecx, 0x111c25aa
or ecx, 0x526743f
sub ecx, 0xe6f8dce
mov rax, rsi
add rax, 8
cmp ecx, 0x29ea85b2
jbe 0x180447fa2
jmp 0x180447fd1
mov rbx, qword [rax]
mov eax, dword [0x1807a0860]
add eax, dword [0x1807a0864]
or eax, 0xe9e32661
or eax, 0x87fc25fa
xor eax, 0x7a29c114
cmp eax, 0x8a61ef16
jb 0x18044a2f4
mov eax, dword [0x1807a0868]
imul eax, dword [0x1807a086c]
add eax, 0x54918804
imul ebp, eax, 0xb0a14949
sub ebp, 0x9e7d7c73
mov rcx, rbx
mov rdx, rdi
mov r8d, 1
call fcn.1804cafa0
cmp ebp, 0xc3daaf2b
ja 0x18044a2f4
jmp 0x180448037
mov rax, rsi
add rax, 0x18
add eax, 0x18
mov al, byte [rsi + 0x58]
movzx eax, al
mov ecx, dword [0x1807a0870]
or ecx, dword [0x1807a0874]
sub ecx, 0xe435fd3b
add ecx, 0x994a4d75
and ecx, 0x5e34665f
cmp ecx, 0x5c133029
jae 0x18044a312
mov ecx, dword [0x1807a0878]
or ecx, dword [0x1807a087c]
xor ecx, 0x78ca7195
and ecx, 0x9b1d4f23
sub ecx, 0x6fd70557
cmp ecx, 0xc183cbe2
ror dword [rdi], 0x83
invalid
and al, byte [rax]
invalid
test eax, eax
je 0x1804480c7
jmp 0x1804480b0
mov rax, rsi
add rax, 0x40
mov rdx, qword [rax]
cmp rdx, 0
je 0x18044a084
mov rax, rsi
add rax, 0x48
mov rcx, qword [rax]
mov r8d, 1
call fcn.1804cafa0
add cl, ch
invalid
invalid
add byte [rax], al
mov r14, rsi
add r14, 0x68
movzx ecx, byte [rsi + 0x296]
mov eax, ecx
sub ecx, 0x35
ja case.0x1804486cf.1
lea rcx, [0x1806c8d0c]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov rdx, qword [r14]
cmp rdx, 0
sete al
test al, 1
jne case.0x180439eb1.216
jmp 0x1804486e1
mov rcx, qword [rsi + 0x70]
mov eax, dword [0x1807a09b0]
or eax, dword [0x1807a09b4]
and eax, 0x8dbfcb17
imul eax, eax, 0x64760ecf
imul eax, eax, 0x4688c31d
cmp eax, 0x1aa2ff14
jbe 0x18044a45c
mov eax, dword [str.Q_]
and eax, dword [0x1807a09bc]
and eax, 0xc781a03d
add eax, 0x93e14492
loope 0x180448923
mov rcx, rsi
add rcx, 0x2a8
call fcn.18044a880
jmp case.0x1804486cf.33
mov rcx, rsi
add rcx, 0x2a8
test al, 2
add byte [rax], al
mov eax, dword [0x1807a09c0]
imul eax, dword [0x1807a09c4]
mov rax, rsi
add rax, 0x178
mov r8, qword [rax]
cmp r8, 0
sete al
test al, 1
jne 0x180448e0d
jmp 0x180448da8
mov eax, dword [0x1807a0a50]
xor edx, edx
div dword [0x1807a0a54]
or eax, 0x99ed6af0
xor eax, 0x26252bb3
sub eax, 0xc78e11d6
cmp eax, 0xd1b3bbba
jbe 0x18044a503
jmp 0x180448dd2
mov eax, dword [0x1807a0a58]
or eax, dword [0x1807a0a5c]
sub eax, 0xad5b5fe8
or eax, 0xf8dc3e1a
xor eax, 0x93430979
mov rcx, qword [rsi + 0x180]
cmp eax, 0x8090082f
jae 0x180448dd2
jmp 0x180448dfd
mov rdx, r8
mov r8d, 1
call fcn.1804cafa0
jmp 0x180448e0d
mov eax, dword [0x1807a0a60]
xor eax, dword [0x1807a0a64]
mov ecx, 0xbedaeebf
xor edx, edx
div ecx
mov ecx, 0x791f9fc5
xor edx, edx
div ecx
int1
mov rdi, rsi
add rdi, 0x210
mov eax, dword [0x1807a0b40]
imul eax, dword [0x1807a0b44]
xor eax, 0xef7246e0
mov ecx, 0x5640e04d
xor edx, edx
div ecx
or eax, 0xd1181d84
cmp eax, 0x9aa4898e
mov cs, word [rcx - 0x79f0655c]
rcl dword [rcx], cl
add byte [rax], al
add ecx, dword [rcx]
in al, 6
fidivr word [rsi]
sbb eax, 0xdcace9a8
invalid
int 0x7d
stosb byte [rdi], al
xlatb
xchg esp, eax
pop rbx
rcr byte [rax + rcx*2], 0x89
invalid
xor eax, 0xf4431200
push rsp
invalid
xor dword [rcx], edx
xchg byte [0x10b8001f1], ch