Function at 0x1804285d0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov rsi, rcx
mov rax, rsi
add rax, 0xb8
mov cl, byte [rax]
mov eax, dword [0x18079d048]
or eax, dword [0x18079d04c]
mov r8d, 0xa2aa3c65
xor edx, edx
div r8d
mov r8d, 0xafd90268
xor edx, edx
div r8d
and eax, 0xcdd14c0f
cmp eax, 0x5bdb5858
je 0x180429033
mov eax, dword [0x18079d050]
imul eax, dword [0x18079d054]
sub eax, 0x7a8c415a
mov r8d, 0x9996565b
xor edx, edx
div r8d
mov r8d, 0x7c76d9f9
xor edx, edx
div r8d
cmp cl, 0xa
setb dl
cmp eax, 0xf3a5cb1c
jae 0x180429033
test dl, 1
jne 0x1804287ef
jmp 0x180428664
mov eax, dword [0x18079d058]
or eax, dword [0x18079d05c]
xor eax, 0x63ffc870
add eax, 0x77e3e06e
and eax, 0xf6ba87fe
cmp eax, 0xceb84cec
je 0x180429040
jmp 0x18042868c
mov ecx, dword [0x18079d060]
or ecx, dword [0x18079d064]
or ecx, 0x7b782171
or ecx, 0x895cc330
add ecx, 0x2f23029b
mov rax, rsi
add rax, 0xc8
cmp ecx, 0x394634a1
ja 0x18042868c
jmp 0x1804286bd
mov rdi, qword [rax]
cmp rdi, 0
sete cl
mov eax, dword [0x18079d068]
xor edx, edx
div dword [0x18079d06c]
add eax, 0x92ee6764
mov r8d, 0x362b5187
xor edx, edx
div r8d
xor eax, 0xd455d333
cmp eax, 0x34a6e832
je 0x18042904d
jmp 0x1804286f7
mov eax, dword [0x18079d070]
imul eax, dword [0x18079d074]
mov r8d, 0xe3fcca43
xor edx, edx
div r8d
and eax, 0xf793f3b1
xor eax, 0x422e289e
cmp eax, 0xdc9e4ed9
ja 0x1804286f7
test cl, 1
jne 0x1804287ef
jmp 0x18042872b
mov rbx, qword [rsi + 0xc0]
mov eax, dword [0x18079d078]
xor edx, edx
div dword [0x18079d07c]
xor eax, 0x817f4879
add eax, 0xd060debf
mov ecx, 0x81bfc67a
xor edx, edx
div ecx
cmp eax, 0x56ec5085
je 0x18042905e
mov ebp, dword [0x18079d080]
or ebp, dword [0x18079d084]
or ebp, 0x294b7a48
and ebp, 0xaed1be80
add ebp, 0x35cfd4c8
mov rcx, rbx
mov rdx, rdi
mov r8d, 1
call fcn.1804cafa0
cmp ebp, 0x61cb0da1
je 0x18042905e
jmp 0x18042879b
mov eax, dword [0x18079d088]
xor edx, edx
div dword [0x18079d08c]
xor eax, 0x5f98b91
xor eax, 0x8d3c6f46
and eax, 0x81c98da0
cmp eax, 0x7d3342cf
jbe 0x180429080
jmp 0x1804287c5
mov eax, dword [0x18079d090]
xor edx, edx
div dword [0x18079d094]
or eax, 0xbcb1eeee
or eax, 0xfc71fd41
mov ecx, 0xccaefd37
xor edx, edx
div ecx
cmp eax, 0x605d9524
je 0x1804287c5
jmp 0x1804287ef
mov rax, rsi
add rax, 0x60
mov ecx, dword [0x18079d098]
xor ecx, dword [0x18079d09c]
imul ecx, ecx, 0x1619343c
sub ecx, 0xff9b758c
imul ecx, ecx, 0xf3ecd5a
cmp ecx, 0x4718af6e
jbe 0x18042908d
mov edx, dword [0x18079d0a0]
and edx, dword [0x18079d0a4]
sub edx, 0xb7d1516a
sub edx, 0xcdf27f51
xor edx, 0x464d15a4
mov cl, byte [rax]
cmp edx, 0xed8049a4
je 0x18042908d
jmp 0x18042884e
mov eax, dword [0x18079d0a8]
sub eax, dword [0x18079d0ac]
or eax, 0x4c08a63b
or eax, 0x2bf86f09
mov r8d, 0x5d9c6f61
xor edx, edx
div r8d
cmp eax, 0x4918a469
ja 0x18042909e
jmp 0x18042887c
mov eax, dword [0x18079d0b0]
and eax, dword [0x18079d0b4]
add eax, 0x14ad7204
imul edx, eax, 0x5f22d9d6
or edx, 0xce8ddb8e
cmp cl, 2
setb al
cmp edx, 0xce220801
je 0x18042887c
test al, 1
jne 0x180428940
jmp 0x1804288b1
mov rdi, qword [rsi + 0x68]
mov eax, dword [0x18079d0b8]
add eax, dword [0x18079d0bc]
or eax, 0xb0ef4784
sub eax, 0xb446e1ff
mov ecx, 0x19199fe
xor edx, edx
div ecx
cmp eax, 0xc1e9efe
je 0x1804290ab
mov eax, dword [0x18079d0c0]
sub eax, dword [0x18079d0c4]
imul r9d, eax, 0xe027235f
sub r9d, 0xc63f725c
sub r9d, 0x9b9a207c
mov rax, qword [rdi]
mov rax, qword [rax + 0x20]
mov rcx, rdi
add rcx, 0x18
mov rdx, qword [rdi + 8]
mov r8, rdi
add r8, 0x10
cmp r9d, 0x7e079302
je 0x1804290ab
jmp 0x180428928
mov r8, qword [r8]
call rax
mov rcx, rdi
mov edx, 0x20
mov r8d, 8
call fcn.1804cafa0
mov rax, qword [rsi + 0x70]
mov rax, qword [rax + 0x20]
mov rcx, rsi
add rcx, 0x88
mov rdx, qword [rsi + 0x78]
mov r8, qword [rsi + 0x80]
call rax
mov r9, rsi
add r9, 0x90
mov eax, dword [0x18079d0c8]
imul eax, dword [0x18079d0cc]
and eax, 0x75dfdee5
or eax, 0xdcfd2e33
xor eax, 0xb9458727
cmp eax, 0xc4b07012
jae 0x1804290b8
jmp 0x180428992
mov eax, dword [0x18079d0d0]
sub eax, dword [0x18079d0d4]
sub eax, 0x5b91cfc1
mov ecx, 0xac54b865
xor edx, edx
div ecx
and eax, 0x873ac4c7
mov rcx, qword [r9]
mov r10, qword [rcx + 0x20]
mov rcx, rsi
add rcx, 0xa8
mov rdx, qword [rsi + 0x98]
mov r8, qword [rsi + 0xa0]
cmp eax, 0x45a12d6f
ja 0x180428992
jmp 0x1804289d9
call r10
mov rdx, qword [rsi + 0x50]
cmp rdx, 0
je 0x1804289ff
mov rax, rsi
add rax, 0x48
mov rcx, qword [rax]
shl rdx, 2
mov r8d, 2
call fcn.1804cafa0
mov eax, dword [0x18079d0d8]
add eax, dword [0x18079d0dc]
sub eax, 0xee05e13d
or eax, 0xd56717b4
and eax, 0xe412eb5b
cmp eax, 0x8209fc55
je 0x1804290c5
jmp 0x180428a27
mov eax, dword [0x18079d0e0]
or eax, dword [0x18079d0e4]
imul eax, eax, 0xb1e4308a
sub eax, 0x1d8f9e4c
add eax, 0xb926759a
mov rbx, rsi
add rbx, 0x18
mov rdi, rsi
add rdi, 0x20
mov r14, qword [rsi + 0x20]
cmp eax, 0xda2f8165
jae 0x180428a27
jmp 0x180428a5e
mov eax, dword [0x18079d0e8]
xor eax, dword [0x18079d0ec]
imul eax, eax, 0x52f43943
mov ecx, 0xb2d51022
xor edx, edx
div ecx
imul eax, eax, 0x61159a16
cmp eax, 0x5c44de9a
je 0x1804290d6
mov eax, dword [0x18079d0f0]
and eax, dword [0x18079d0f4]
sub eax, 0xb24fd03c
sub eax, 0xb4532e2c
add eax, 0x790bddd
mov r8, qword [rsi + 0x28]
cmp eax, 0xfc0aed4a
ja 0x1804290d6
jmp 0x180428ab6
mov eax, dword [0x18079d0f8]
xor edx, edx
div dword [0x18079d0fc]
sub eax, 0xca2f76d6
imul eax, eax, 0x8837bf22
sub eax, 0xc8afe9b1
cmp eax, 0x1f49b6e9
je 0x1804290e3
mov eax, dword [0x18079d100]
sub eax, dword [0x18079d104]
imul ecx, eax, 0x1d0a8c52
and ecx, 0xcc5fb982
sub ecx, 0x237857f2
cmp r8, 0
sete al
cmp ecx, 0x42ed0f65
je 0x1804290e3
test al, 1
jne 0x180428cb6
jmp 0x180428b1a
mov qword [rsp + 0x30], r8
xor eax, eax
mov qword [rsp + 0x28], r14
jmp 0x180428b28
mov ecx, dword [0x18079d108]
add ecx, dword [0x18079d10c]
imul ecx, ecx, 0x1071b9ad
and ecx, 0x41476811
or ecx, 0x61586b8a
cmp ecx, 0x42104a54
jbe 0x1804290f4
mov r8d, dword [0x18079d110]
imul r8d, dword [0x18079d114]
or r8d, 0x301057b4
and r8d, 0x97a9e40c
add r8d, 0x730445a2
imul rcx, rax, 0x68
mov r13, r14
add r13, rcx
mov r12, rax
add r12, 1
mov rcx, qword [r13 + 0x40]
cmp rcx, 0
sete dl
cmp r8d, 0x7112de67
ja 0x1804290f4
test dl, 1
jne 0x180428c1b
jmp 0x180428ba6
mov eax, dword [0x18079d118]
and eax, dword [0x18079d11c]
add eax, 0x2b1be1aa
imul eax, eax, 0x5e8c1262
imul eax, eax, 0xbedb2ef9
cmp eax, 0x82dbd71b
je 0x180429105
jmp 0x180428bd0
mov eax, dword [0x18079d120]
xor eax, dword [str._aL__2]
or eax, 0x38ab383f
and eax, 0xa98e971a
mov r8d, 0xe66c7268
xor edx, edx
div r8d
mov rdx, rcx
add rdx, 0x20
cmp eax, 0x4c1414cc
je 0x180428bd0
jmp 0x180428c01
mov rax, qword [rdx]
mov rcx, r13
add rcx, 0x58
mov rdx, r13
add rdx, 0x48
mov rdx, qword [rdx]
mov r8, qword [r13 + 0x50]
call rax
mov rbp, r13
add rbp, 0x18
mov eax, dword [0x18079d128]
imul eax, dword [0x18079d12c]
mov ecx, 0x8043204c
xor edx, edx
div ecx
or eax, 0x8fa0b1ad
mov ecx, 0x6d2ae84d
xor edx, edx
div ecx
cmp eax, 0xd81dfa4b
jae 0x180429116
mov r14, qword [rsp + 0x30]
jmp 0x180428c58
mov eax, dword [0x18079d130]
and eax, dword [0x18079d134]
mov ecx, 0xc36c03ff
xor edx, edx
div ecx
sub eax, 0xd13ca937
imul r15d, eax, 0x20cb9e4a
mov rax, qword [rbp]
mov rax, qword [rax + 0x20]
mov rcx, r13
add rcx, 0x30
mov rdx, qword [r13 + 0x20]
mov r8, qword [r13 + 0x28]
call rax
cmp r12, r14
sete al
cmp r15d, 0x72961114
je 0x180428c58
jmp 0x180428ca3
test al, 1
mov rax, r12
mov r14, qword [rsp + 0x28]
jne 0x180428cb4
jmp 0x180428b28
jmp 0x180428cb6
mov eax, dword [str.a_vF_n]
add eax, dword [0x18079d13c]
mov ecx, 0x6aa79b7d
xor edx, edx
div ecx
sub eax, 0xd548f48a
and eax, 0xbd3350b6
cmp eax, 0xf1156452
ja 0x180429140
mov eax, dword [0x18079d140]
imul eax, dword [0x18079d144]
add eax, 0x8e793c85
imul eax, eax, 0x818f29e9
add eax, 0xa1a5f22a
cmp eax, 0xa220c96d
je 0x180429140
jmp 0x180428d0a
mov rax, qword [rbx]
cmp rax, 0
je 0x180428d72
mov rcx, qword [rdi]
imul rdx, rax, 0x68
mov r8d, 8
call fcn.1804cafa0
mov eax, dword [0x18079d148]
add eax, dword [0x18079d14c]
imul eax, eax, 0xe0ce00f
add eax, 0x63bb037d
add eax, 0x955c0265
cmp eax, 0x58cfe896
je 0x180429151
jmp 0x180428d4e
mov eax, dword [0x18079d150]
or eax, dword [0x18079d154]
sub eax, 0xff87843c
sub eax, 0x5e2652a5
or eax, 0xc5198d18
cmp eax, 0xcd948c68
je 0x180428d4e
jmp 0x180428d72
mov rdi, rsi
add rdi, 0x30
mov rbx, rsi
add rbx, 0x38
mov r14, qword [rsi + 0x38]
mov eax, dword [0x18079d158]
xor eax, dword [0x18079d15c]
and eax, 0x7095260e
add eax, 0x18019afe
mov ecx, 0xbb0d29db
xor edx, edx
div ecx
cmp eax, 0xb7dd7157
ja 0x18042915e
jmp 0x180428db0
mov eax, dword [0x18079d160]
xor edx, edx
div dword [0x18079d164]
add eax, 0x96ffd04
imul ecx, eax, 0x33b2664a
sub ecx, 0xe2cc1696
mov r15, qword [rsi + 0x40]
cmp r15, 0
sete al
cmp ecx, 0xabca7d56
ja 0x180428db0
test al, 1
jne 0x180428e1b
jmp 0x180428de8
xor r12d, r12d
jmp 0x180428ded
imul rax, r12, 0x48
mov r8, r14
add r8, rax
add r12, 1
mov rax, qword [r8 + 0x20]
mov rax, qword [rax + 0x20]
mov rcx, r8
add rcx, 0x38
mov rdx, qword [r8 + 0x28]
mov r8, qword [r8 + 0x30]
call rax
cmp r12, r15
jne 0x180428ded
jmp 0x180428e1b
mov rax, qword [rdi]
cmp rax, 0
sete cl
test cl, 1
jne 0x180428ef2
jmp 0x180428e30
mov ecx, dword [0x18079d168]
and ecx, dword [0x18079d16c]
and ecx, 0x4c5be5b4
imul ecx, ecx, 0x26c5ad66
sub ecx, 0x1cd02ff9
cmp ecx, 0x7689e3c2
jae 0x18042916f
mov ecx, dword [0x18079d170]
add ecx, dword [0x18079d174]
sub ecx, 0x33a0f648
imul ecx, ecx, 0x85c539bc
sub ecx, 0xa4c4c532
mov rdi, qword [rbx]
cmp ecx, 0x95945924
jb 0x18042916f
jmp 0x180428e89
imul rbx, rax, 0x48
mov eax, dword [0x18079d178]
sub eax, dword [0x18079d17c]
and eax, 0xc1465f2f
add eax, 0xdb6cd94d
xor eax, 0x1a63b0c0
cmp eax, 0xcf096914
je 0x18042917c
jmp 0x180428eb5
mov eax, dword [0x18079d180]
xor edx, edx
div dword [0x18079d184]
mov ebp, eax
add ebp, 0xd243b829
add ebp, 0x7480b5
sub ebp, 0x794d67f
mov rcx, rdi
mov rdx, rbx
mov r8d, 8
call fcn.1804cafa0
cmp ebp, 0xfa3a137f
ja 0x180428eb5
jmp 0x180428ef2
mov eax, dword [0x18079d188]
or eax, dword [0x18079d18c]
or eax, 0x9926e402
sub eax, 0xc06d7b71
or eax, 0x7ba4cd41
cmp eax, 0xb5f3eb56
ja 0x18042919e
mov eax, dword [0x18079d190]
xor eax, dword [0x18079d194]
imul ecx, eax, 0xb8f8c5c6
and ecx, 0x7e6c4eca
sub ecx, 0x6eb3386a
mov rax, rsi
add rax, 0xd0
cmp ecx, 0x47319846
jb 0x18042919e
jmp 0x180428f4d
mov rsi, qword [rax]
cmp rsi, 0
sete al
test al, 1
jne 0x180429022
jmp 0x180428f61
mov rcx, rsi
call fcn.18045e090
mov eax, dword [0x18079d198]
add eax, dword [0x18079d19c]
add eax, 0x5da61141
sub eax, 0x1c079639
add eax, 0x5e5b64a8
cmp eax, 0x4b4da75
je 0x1804291ab
mov eax, dword [0x18079d1a0]
or eax, dword [str._Fbe]
or eax, 0xa72c647a
mov ecx, 0x33207180
xor edx, edx
div ecx
mov edi, eax
add edi, 0x5caebb59
mov rcx, rsi
mov edx, 0x20
mov r8d, 8
call fcn.1804cafa0
cmp edi, 0xe5a787e0
ja 0x1804291ab
jmp 0x180428fd2
mov eax, dword [0x18079d1a8]
xor edx, edx
div dword [0x18079d1ac]
sub eax, 0xb6dc878a
add eax, 0xa121075f
or eax, 0x27823da9
cmp eax, 0x5d43a039
je 0x1804291cb
mov eax, dword [0x18079d1b0]
xor eax, dword [0x18079d1b4]
add eax, 0xf037352a
or eax, 0x859857c7
sub eax, 0x86cba308
cmp eax, 0x1a61ebb8
jb 0x1804291cb
invalid
jmp 0x180429022
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
sbb ebx, esp
popfq
outsb dx, byte [rsi]
invalid
cmp al, 0x6a
add byte [0x18ff7f3a6], bh
jmp 0x18042868a
not byte [r8]
cmc
shl esi, 0xd0
jno 0x180429009
sal byte [rcx - 0x4e], 1
jmp 0x180429054
jge 0x1804290db
mov byte [rdx + 0x6ed35bad], bh
cmp eax, dword [rax - 0x76b70723]
invalid
call 0x180b0233f
fisub dword [rdi]
add ecx, ebp
idiv edi
call qword [rax]
jmp 0x1201e5963
adc cl, ch
ror al, 1
fistp dword [rdi - 0x53a79532]
scasd eax, dword [rdi]
push 0xffffffffffffffe9
invalid
add dword [rdi - 0x2226d7e6], esi
add byte [0x1803a6093], al
call [rsi + 0x37a74a48]
out 0x36, eax
cmp ecx, ebp
invalid
sahf
cmpsq qword [rsi], qword [rdi]
invalid
and edi, esi
invalid
shr ebp, cl
cmp r11b, spl
or edi, dword [rdx + 0x68aae7be]
shr ecx, 0x4f
stc
invalid
invalid
fistp qword [rsi - 0x65816a0]
invalid
push rbx
and ebx, dword [rbp - 0xafcfb3c]
imul esi, dword [rcx + rax*8], 0xebe90e29
stc
invalid
ror byte [rsi + rsi*8], 0x96
cdq
cmp eax, 0x3d8d7ab
mov ecx, 0xfa4de90d
invalid
invalid
xor al, 0x65
fistp qword [rbx - 0x1c]
jnp 0x1804290b8
invalid
ja 0x18042914d
loope 0x1804291a9
invalid
invalid
movabs byte [0xe9034d25c209ceec], al
out dx, al
sti
invalid
in al, 0x2e
fnstcw word [rdi]
out 0x49, al
push rdi
jae 0x18042911b
mov al, 0x4d
jmp 0x180428dae
mov cl, 0x46
invalid
js 0x1804291a0
int3
jl 0x180429160
xchg esi, eax
invalid
invalid
mov ebp, 0x8191521
xchg edi, eax
invalid
clc
fcomp qword [rax + rdi*4 - 0x10732476]
jmp 0x180428ffa