Function at 0x140058f20
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x28
lea rbp, [rsp + 0x20]
mov r15, r8
mov r12, rdx
mov rsi, rcx
mov eax, dword [0x141f35580]
xor edx, edx
div dword [0x141f35584]
and eax, 0x8e98303d
imul eax, eax, 0x6ebe81ed
imul rcx, rax, 0xb5783e5
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1d
cmp eax, 0xe8462ac5
jbe 0x140058f90
mov eax, 0x40
call fcn.1400f4d10
sub rsp, rax
mov eax, 0x10
call fcn.1400f4d10
sub rsp, rax
nop dword [rax]
mov eax, dword [0x141f35588]
and eax, dword [0x141f3558c]
imul ecx, eax, 0xdac65550
or ecx, 0x81b02950
mov eax, 0x40
call fcn.1400f4d10
sub rsp, rax
mov r14, rsp
mov eax, 0x10
call fcn.1400f4d10
sub rsp, rax
mov rdi, rsp
cmp ecx, 0xd3aa0594
ja 0x140058f90
mov eax, dword [0x141f35590]
xor eax, dword [0x141f35594]
add eax, 0xe057a9b8
xor eax, 0xc2220380
and eax, 0xd722b7c1
cmp eax, 0xecd217eb
jbe 0x140059000
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
nop
mov eax, dword [0x141f35598]
imul eax, dword [0x141f3559c]
imul ecx, eax, 0xf5a90f4c
add ecx, 0xddf29b79
or ecx, 0x2b02e736
mov eax, 0x20
call fcn.1400f4d10
sub rsp, rax
mov rbx, rsp
cmp ecx, 0x92cd1eed
je 0x140059000
cmp byte [rsi + 0x10], 0
mov r13, qword [rsi]
mov al, 1
jne 0x140059426
mov rax, qword [rsi + 8]
mov qword [rbp], rax
mov ecx, dword [rax + 0x34]
nop word cs:[rax + rax]
mov eax, dword [0x141f355a0]
xor edx, edx
div dword [0x141f355a4]
or eax, 0x514018
and eax, 0xb251601a
cmp eax, 0xe51afa17
je 0x140059060
test cl, 4
jne 0x1400591c1
lea rax, [0x141f2224b]
lea rcx, [0x141f2223f]
nop word cs:[rax + rax]
mov r10d, dword [0x141f355a8]
add r10d, dword [0x141f355ac]
and r10d, 0x9810298
add r10d, 0x33dfde1d
xor r8d, r8d
test r13, r13
mov r9, rcx
cmove r9, rax
setne dl
cmp r10d, 0x6f49c22
jb 0x1400590a0
mov r8b, dl
inc r8
mov r10, qword [rbp]
mov rcx, qword [r10 + 0x20]
nop word cs:[rax + rax]
mov eax, dword [0x141f355b0]
xor edx, edx
div dword [0x141f355b4]
xor eax, 0x2e801804
and eax, 0x3ee9d81e
imul rdx, rax, 0x390a4885
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 0x1f
cmp eax, 0xe498f223
ja 0x1400590f0
mov rax, qword [r10 + 0x28]
sub rsp, 0x20
mov rdx, r9
call qword [rax + 0x18]
add rsp, 0x20
mov ecx, eax
mov al, 1
test cl, cl
jne 0x140059400
mov eax, dword [0x141f355b8]
xor edx, edx
div dword [0x141f355bc]
add eax, 0xa5be9151
and eax, 0xba7126d2
imul eax, eax, 0xc58b328d
cmp eax, 0xe7ce735d
mov rbx, qword [rbp]
jbe 0x140059180
sub rsp, 0x20
mov rcx, r12
mov rdx, rbx
call r15
add rsp, 0x20
nop dword [rax + rax]
mov eax, dword [0x141f355c0]
imul eax, dword [0x141f355c4]
xor eax, 0x5a9c3686
imul eax, eax, 0x8f4a011c
imul rdi, rax, 0x21944f25
shr rdi, 0x38
sub rsp, 0x20
mov rcx, r12
mov rdx, rbx
call r15
add rsp, 0x20
cmp edi, 0x3b7b4305
ja 0x140059180
jmp 0x140059400
test r13, r13
jne 0x1400592b4
mov qword [rbp - 0x10], r12
mov qword [rbp - 0x18], r15
nop word cs:[rax + rax]
mov eax, dword [0x141f355c8]
xor eax, dword [0x141f355cc]
xor eax, 0xdd2b6634
cmp eax, 0x90439789
ja 0x1400591e0
mov rcx, qword [rbp]
mov rax, qword [rcx + 0x20]
mov qword [rbp - 8], rax
mov eax, dword [0x141f355d0]
add eax, dword [0x141f355d4]
mov r15, qword [rcx + 0x28]
or eax, 0x6eeb5936
imul eax, eax, 0xd71e33c
cmp eax, 0x45f9c5a0
je 0x140059268
mov r12d, dword [0x141f355d8]
xor r12d, dword [0x141f355dc]
add r12d, 0x612bfcc6
or r12d, 0x21ae813f
sub rsp, 0x20
lea rdx, [0x141f2224c]
mov r8d, 2
mov rcx, qword [rbp - 8]
call qword [r15 + 0x18]
add rsp, 0x20
cmp r12d, 0x956ae1c2
jne 0x140059287
sub rsp, 0x20
lea rdx, [0x141f2224c]
mov r8d, 2
mov rcx, qword [rbp - 8]
call qword [r15 + 0x18]
add rsp, 0x20
jmp 0x140059226
mov ecx, eax
mov al, 1
test cl, cl
mov r15, qword [rbp - 0x18]
mov r12, qword [rbp - 0x10]
jne 0x140059400
mov rax, qword [rbp]
mov ecx, dword [rax + 0x34]
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x1400592b0
mov byte [rdi], 1
mov r8, qword [rbp]
movups xmm0, xmmword [r8 + 0x20]
movaps xmmword [rbx], xmm0
mov qword [rbx + 0x10], rdi
mov eax, dword [r8 + 0x30]
movzx edx, byte [r8 + 0x38]
mov dword [r14 + 0x34], ecx
mov dword [r14 + 0x30], eax
mov byte [r14 + 0x38], dl
movups xmm0, xmmword [r8]
movaps xmmword [r14], xmm0
movups xmm0, xmmword [r8 + 0x10]
movaps xmmword [r14 + 0x10], xmm0
mov qword [r14 + 0x20], rbx
lea rax, [0x141f22208]
mov qword [r14 + 0x28], rax
sub rsp, 0x20
mov rcx, r12
mov rdx, r14
call r15
add rsp, 0x20
test al, al
je 0x140059320
mov al, 1
jmp 0x140059400
mov eax, dword [0x141f355e0]
xor eax, dword [0x141f355e4]
imul eax, eax, 0xc979c2f3
add eax, 0x4b4129ce
imul rax, rax, 0x46252085
shr rax, 0x3e
cmp eax, 0xcc748bab
je 0x140059320
nop dword [rax]
mov eax, dword [0x141f355e8]
add eax, dword [0x141f355ec]
xor eax, 0x70604258
or eax, 0x8a9fb4a5
xor eax, 0xab747baf
cmp eax, 0x91d8779e
ja 0x140059350
mov rdi, qword [r14 + 0x20]
mov eax, dword [0x141f355f0]
add eax, dword [0x141f355f4]
cmp eax, 0x72579d31
je 0x1400593d2
mov eax, dword [0x141f355f8]
add eax, dword [0x141f355fc]
xor eax, 0x5c9b6b57
imul rbx, rax, 0x107505fd
shr rbx, 0x3c
or ebx, 0x9dda8a42
mov rax, qword [r14 + 0x28]
sub rsp, 0x20
lea rdx, [0x141f22246]
mov r8d, 2
mov rcx, rdi
call qword [rax + 0x18]
add rsp, 0x20
cmp ebx, 0x330c3af6
jae 0x140059400
mov rax, qword [r14 + 0x28]
sub rsp, 0x20
lea rdx, [0x141f22246]
mov r8d, 2
mov rcx, rdi
call qword [rax + 0x18]
add rsp, 0x20
jmp 0x140059389
mov ecx, dword [0x141f35600]
xor ecx, dword [0x141f35604]
and ecx, 0x40c04801
or ecx, 0x3f3e87d6
xor ecx, 0xea99483f
cmp ecx, 0x4d39cab5
jb 0x140059400
mov ecx, dword [0x141f35608]
xor ecx, dword [0x141f3560c]
imul ecx, ecx, 0x594bbbde
cmp ecx, 0x44284c8c
je 0x140059470
mov ecx, dword [0x141f35610]
add ecx, dword [0x141f35614]
and ecx, 0x73a33d82
add ecx, 0x8c02e631
and ecx, 0xbfa3d1a2
lea rdx, [r13 + 1]
mov byte [rsi + 0x10], al
mov qword [rsi], rdx
cmp ecx, 0x9f9d9fdf
jbe 0x14005947c
mov byte [rsi + 0x10], al
lea rcx, [r13 + 1]
mov qword [rsi], rcx
jmp 0x140059440
mov rax, rsi
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret