Function at 0x180435e30
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
xor esi, esi
xchg qword [rcx], rsi
cmp rsi, 0
sete al
mov ecx, dword [0x18079e708]
and ecx, dword [0x18079e70c]
and ecx, 0x2c6165f5
sub ecx, 0x1d503afc
or ecx, 0x495a48c
cmp ecx, 0xcad5ed91
je 0x180436401
mov ecx, dword [0x18079e710]
sub ecx, dword [0x18079e714]
add ecx, 0x3a5b0554
sub ecx, 0x533fe87e
and ecx, 0xe54fbece
cmp ecx, 0x3e8c9cb8
jae 0x180436401
test al, 1
jne 0x1804363f0
jmp 0x180435eaa
mov rbx, rsi
add rbx, 0x40
mov eax, dword [0x18079e718]
and eax, dword [0x18079e71c]
imul eax, eax, 0x1cb97626
sub eax, 0x2174576c
sub eax, 0xe244df2f
cmp eax, 0x299c2b2f
jbe 0x180436412
mov eax, dword [0x18079e720]
add eax, dword [0x18079e724]
xor eax, 0xa0c35779
and eax, 0x5b9f779e
sub eax, 0x8b91f0d
mov r8, qword [rsi + 0x58]
cmp eax, 0x7698f477
jae 0x180436412
jmp 0x180435f04
mov eax, dword [0x18079e728]
xor eax, dword [0x18079e72c]
xor eax, 0xafa649c2
imul eax, eax, 0x6895f611
add eax, 0xdeb1a04a
cmp eax, 0xa0bf92e4
ja 0x180436423
jmp 0x180435f2d
mov eax, dword [0x18079e730]
and eax, dword [0x18079e734]
add eax, 0x6384cd4b
mov ecx, 0x9ba4d140
xor edx, edx
div ecx
and eax, 0x8228c4dc
cmp r8, 0
sete cl
cmp eax, 0xe4557d59
jae 0x180435f2d
test cl, 1
jne 0x180436263
jmp 0x180435f65
mov rax, qword [rbx]
mov rcx, qword [rsi + 0x50]
xor edx, edx
cmp rcx, rax
mov r9, rax
cmovb r9, rdx
sub rcx, r9
mov rdx, rax
sub rdx, rcx
cmp rdx, r8
setb r11b
mov r9, rcx
add r9, r8
xor r10d, r10d
mov r14, r8
sub r14, rdx
cmovb r14, r10
cmp rdx, r8
cmovb r9, rax
mov r15, qword [rsi + 0x48]
mov rax, rcx
shl rax, 3
mov r12, r15
add r12, rax
mov r13, r9
sub r13, rcx
mov eax, dword [0x18079e738]
xor eax, dword [0x18079e73c]
mov r8d, 0xa9502b12
xor edx, edx
div r8d
xor eax, 0x7da2925d
mov r8d, 0x627c8980
xor edx, edx
div r8d
cmp eax, 0x650dbffa
ja 0x180436430
mov edx, dword [0x18079e740]
or edx, dword [0x18079e744]
add edx, 0x69b45ed7
sub edx, 0xaf9ed9ca
sub edx, 0x851b9edb
cmp r9, rcx
sete al
cmp edx, 0x4a8550b3
je 0x180436430
test al, 1
jne 0x180436179
jmp 0x180436025
mov byte [rsp + 0x27], r11b
mov qword [rsp + 0x30], r14
xor r14d, r14d
mov qword [rsp + 0x28], r15
jmp 0x180436039
mov eax, dword [0x18079e748]
add eax, dword [0x18079e74c]
imul eax, eax, 0xa9558951
xor eax, 0xf8c8cc18
xor eax, 0x8333b862
cmp eax, 0x160212f7
jbe 0x180436441
jmp 0x180436062
mov eax, dword [0x18079e750]
and eax, dword [0x18079e754]
and eax, 0xd17e9014
imul r15d, eax, 0x3935e8ff
or r15d, 0x96656c1f
mov rbp, r14
add rbp, 1
mov rdi, qword [r12 + r14*8]
mov rcx, rdi
call fcn.18063b3a0
cmp r15d, 0xc22491f0
je 0x180436062
test al, 1
jne 0x1804360a3
jmp 0x1804360ad
mov rcx, rdi
call fcn.18063bbc0
jmp 0x1804360ad
mov eax, dword [0x18079e758]
and eax, dword [0x18079e75c]
imul eax, eax, 0x582739a5
xor eax, 0xee946134
mov ecx, 0x98646350
xor edx, edx
div ecx
cmp eax, 0x36088fb5
jae 0x180436457
mov eax, dword [0x18079e760]
xor edx, edx
div dword [0x18079e764]
add eax, 0xc7ec1fb3
imul eax, eax, 0x2f8f7883
xor eax, 0x1ef5cdc6
cmp rbp, r13
sete cl
cmp eax, 0xc83f3da5
je 0x180436457
mov r15, qword [rsp + 0x28]
jmp 0x18043610e
mov eax, dword [0x18079e768]
xor eax, dword [0x18079e76c]
mov r8d, 0xfef064f0
xor edx, edx
div r8d
sub eax, 0xf334dd0
sub eax, 0x37b75a8c
cmp eax, 0xae62582e
jbe 0x180436468
mov eax, dword [0x18079e770]
or eax, dword [0x18079e774]
xor eax, 0x6558e631
and eax, 0x61151e9f
sub eax, 0x7d37ff3f
cmp eax, 0xd78958f7
jae 0x180436468
test cl, 1
mov r14, rbp
jne 0x18043616d
jmp 0x180436039
mov r14, qword [rsp + 0x30]
mov r11b, byte [rsp + 0x27]
jmp 0x180436179
test r11b, 1
jne 0x180436184
jmp 0x180436263
xor r13d, r13d
jmp 0x180436189
mov eax, dword [0x18079e778]
xor edx, edx
div dword [0x18079e77c]
xor eax, 0x74a289f4
sub eax, 0x95c8e97e
xor eax, 0xd1eb7177
cmp eax, 0xbdd39d8e
je 0x180436479
mov ebp, dword [0x18079e780]
sub ebp, dword [0x18079e784]
and ebp, 0x85ac737e
or ebp, 0xbf552df7
add ebp, 0xd3b84749
mov r12, r13
add r12, 1
mov rdi, qword [r15 + r13*8]
mov rcx, rdi
call fcn.18063b3a0
cmp ebp, 0xc10d0e0d
jae 0x180436479
test al, 1
jne 0x1804361f4
jmp 0x18043624f
mov eax, dword [0x18079e788]
add eax, dword [0x18079e78c]
add eax, 0x188bfed6
add eax, 0x57f873ab
imul eax, eax, 0xdff7851e
cmp eax, 0xf361a5cc
je 0x18043648f
jmp 0x18043621d
mov ebp, dword [0x18079e790]
and ebp, dword [0x18079e794]
add ebp, 0x8b5136d3
and ebp, 0xa4c00f30
xor ebp, 0xc24ed0f4
mov rcx, rdi
call fcn.18063bbc0
cmp ebp, 0xc39f3745
je 0x18043621d
jmp 0x18043624d
jmp 0x18043624f
cmp r12, r14
sete al
test al, 1
mov r13, r12
jne 0x180436261
jmp 0x180436189
jmp 0x180436263
mov rdx, qword [rbx]
cmp rdx, 0
sete al
test al, 1
jne 0x180436288
jmp 0x180436273
mov rcx, qword [rsi + 0x48]
shl rdx, 3
mov r8d, 8
call fcn.1804cafa0
jmp 0x180436288
mov rax, qword [rsi]
cmp rax, 2
sete al
test al, 1
jne 0x1804362a2
jmp 0x180436298
mov rcx, rsi
call fcn.180427330
jmp 0x1804362a2
mov eax, dword [0x18079e798]
add eax, dword [0x18079e79c]
and eax, 0x4c8393cf
imul eax, eax, 0x34d3770f
imul eax, eax, 0x85b8a508
cmp eax, 0xc80c9d59
jb 0x1804364a4
mov eax, dword [0x18079e7a0]
xor edx, edx
div dword [0x18079e7a4]
and eax, 0x13701553
mov ecx, 0x97d67822
xor edx, edx
div ecx
or eax, 0xfb7776f5
mov rcx, rsi
add rcx, 0x60
cmp eax, 0xbf3a790
jb 0x1804364a4
jmp 0x1804362ff
cmp dword [rsi + 0x88], 0x3b9aca00
sete r8b
mov eax, dword [0x18079e7a8]
xor edx, edx
div dword [0x18079e7ac]
xor eax, 0xf5d75de5
xor eax, 0xc01870fd
and eax, 0x68693a98
cmp eax, 0x8716cff1
jae 0x1804364b1
mov eax, dword [0x18079e7b0]
or eax, dword [0x18079e7b4]
imul eax, eax, 0x3774a58
or eax, 0x27dc1d1d
xor eax, 0x10613641
cmp eax, 0x794d2258
je 0x1804364b1
test r8b, 1
jne 0x1804363db
jmp 0x180436364
mov eax, dword [0x18079e7b8]
or eax, dword [0x18079e7bc]
and eax, 0x8cf09149
imul eax, eax, 0xb8675736
imul eax, eax, 0xfe306ea8
cmp eax, 0x582a69c8
jb 0x1804364c2
mov eax, dword [0x18079e7c0]
or eax, dword [0x18079e7c4]
xor eax, 0x4670afd5
imul edx, eax, 0x4f7e4760
or edx, 0xdd8b1546
mov rax, rsi
add rax, 0x68
cmp edx, 0x3be506ea
jbe 0x1804364c2
jmp 0x1804363be
mov rdx, qword [rax]
cmp rdx, 0
je 0x1804363db
mov rcx, qword [rcx]
shl rdx, 3
mov r8d, 8
call fcn.1804cafa0
jmp 0x1804363db
mov rcx, rsi
mov edx, 0x100
mov r8d, 8
call fcn.1804cafa0
mov dl, 0x4b
or dword [rax], eax
jmp 0x1804363f0
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movsd dword [rdi], dword [rsi]
add byte [rax], cl
xchg rbx, rax
insd dword [rdi], dx
movabs al, byte [0xfa64e92f9e53e95d]
invalid
pop rbp
jmp 0x169730261
add al, 0x2f
push r14
mov dl, 0x84
sub eax, 0xe765f821
loopne 0x180436408
mov ch, 0xfa
invalid
jno 0x1804363ea
invalid
mov edx, 0xee905c0d
mov ebx, 0xd11bf775
invalid
invalid
call 0x1f2e57bde
or dword [rsi + 0x33], esp
sbb dword [rcx], 0xffffff9d
cld
jmp 0x1804360d8
xor esi, dword [rbp + 0x70]
and edi, ebx
ret
invalid
sub bl, ch
je 0x1804364f4
int 7
sbb ebp, edx
mov rcx, rdi
call fcn.18063bbc0
jmp 0x18043621b
mov ecx, 0x1b16aec2
mov al, 9
and ebp, ecx
sbb esi, edi
invalid
invalid
or al, 0x83
jbe 0x1804364f9
stc
jne 0x1804364df
xchg ebp, eax
idiv ebp
js 0x1804364d1
jmp 0x18043638c
invalid
int3
and byte [rax - 0x77], cl
xlatb
mov dword [rbp], ecx