Function at 0x140004d00
Capabilities:
Encode data using xor
Read file on windows

Disassembly:
mov qword [rsp + 0x20], rsi
push r14
sub rsp, 0x30
mov qword [rsp + 0x40], rbx
mov rsi, r9
mov r9, qword [rsp + 0x60]
mov ebx, r8d
movsxd r14, ecx
mov rcx, rsi
mov qword [rsp + 0x48], rbp
mov r8, r14
movsxd rbp, edx
mov rdx, rbp
mov qword [rsp + 0x50], rdi
call fcn.14003bcb0
movsxd rcx, eax
test ebx, ebx
mov rbx, qword [rsp + 0x40]
mov r10, rax
lea rdx, [rsi + rcx*4]
jne 0x140004e99
cmp ebp, 1
jne 0x140004d88
lea ecx, [rax - 1]
movsxd r8, ecx
test ecx, ecx
js 0x140004fd4
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rsi + r8]
lea rdx, [rdx - 4]
shl eax, 0x18
sub r8, rbp
mov dword [rdx], eax
jns 0x140004d70
jmp 0x140004fd4
cmp ebp, 2
jne 0x140004dd4
lea eax, [rax*2 - 2]
movsxd rcx, eax
test eax, eax
js 0x140004fd4
lea r8, [rcx + rsi]
nop dword [rax]
nop word [rax + rax]
movzx ecx, byte [r8 + 1]
lea rdx, [rdx - 4]
movzx eax, byte [r8]
sub r8, rbp
shl ecx, 8
or ecx, eax
shl ecx, 0x10
cmp r8, rsi
mov dword [rdx], ecx
jns 0x140004db0
jmp 0x140004fd4
cmp ebp, 3
jne 0x140004e32
dec eax
lea eax, [rax + rax*2]
movsxd rcx, eax
test eax, eax
js 0x140004fd4
lea r8, [rsi + 1]
mov r9, rsi
add r8, rcx
not r9
nop word [rax + rax]
movzx eax, byte [r8]
lea rdx, [rdx - 4]
movzx ecx, byte [r8 + 1]
shl ecx, 8
or ecx, eax
movzx eax, byte [r8 - 1]
shl ecx, 8
sub r8, rbp
or ecx, eax
shl ecx, 8
mov dword [rdx], ecx
lea rax, [r8 + r9]
test rax, rax
jns 0x140004e00
jmp 0x140004fd4
cmp ebp, 4
jne 0x140004fd4
lea eax, [rax*4 - 4]
movsxd rcx, eax
test eax, eax
js 0x140004fd4
lea r8, [rsi + 2]
mov r9, 0xfffffffffffffffe
add r8, rcx
sub r9, rsi
nop
movzx eax, byte [r8]
lea rdx, [rdx - 4]
movzx ecx, byte [r8 + 1]
shl ecx, 8
or ecx, eax
movzx eax, byte [r8 - 1]
shl ecx, 8
or ecx, eax
movzx eax, byte [r8 - 2]
sub r8, rbp
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
lea rax, [r9 + r8]
test rax, rax
jns 0x140004e60
jmp 0x140004fd4
cmp ebp, 1
jne 0x140004ed1
sub eax, ebp
movsxd rcx, eax
js 0x140004fd4
nop dword [rax]
movzx eax, byte [rsi + rcx]
lea rdx, [rdx - 4]
shl eax, 0x18
xor eax, 0x807f0000
or eax, 0x7f0000
sub rcx, rbp
mov dword [rdx], eax
jns 0x140004eb0
jmp 0x140004fd4
cmp ebp, 2
jne 0x140004f14
lea eax, [rax*2 - 2]
movsxd rcx, eax
test eax, eax
js 0x140004fd4
lea r8, [rcx + rsi]
nop dword [rax]
movzx eax, byte [r8]
lea rdx, [rdx - 4]
movzx ecx, byte [r8 + 1]
sub r8, rbp
shl eax, 8
or ecx, eax
shl ecx, 0x10
cmp r8, rsi
mov dword [rdx], ecx
jns 0x140004ef0
jmp 0x140004fd4
cmp ebp, 3
jne 0x140004f6f
dec eax
lea eax, [rax + rax*2]
movsxd rcx, eax
test eax, eax
js 0x140004fd4
lea r8, [rsi + 1]
mov r9, rsi
add r8, rcx
not r9
nop word [rax + rax]
movzx eax, byte [r8]
lea rdx, [rdx - 4]
movzx ecx, byte [r8 - 1]
shl ecx, 8
or ecx, eax
movzx eax, byte [r8 + 1]
shl ecx, 8
sub r8, rbp
or ecx, eax
shl ecx, 8
mov dword [rdx], ecx
lea rax, [r8 + r9]
test rax, rax
jns 0x140004f40
jmp 0x140004fd4
cmp ebp, 4
jne 0x140004fd4
lea eax, [rax*4 - 4]
movsxd rcx, eax
test eax, eax
js 0x140004fd4
lea r8, [rsi + 2]
mov r9, 0xfffffffffffffffe
add r8, rcx
sub r9, rsi
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [r8 - 1]
lea rdx, [rdx - 4]
movzx ecx, byte [r8 - 2]
shl ecx, 8
or ecx, eax
movzx eax, byte [r8]
shl ecx, 8
or ecx, eax
movzx eax, byte [r8 + 1]
sub r8, rbp
shl ecx, 8
or ecx, eax
mov dword [rdx], ecx
lea rax, [r8 + r9]
test rax, rax
jns 0x140004fa0
cmp dword [0x14007b420], 0
mov rdi, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x48]
je 0x140005185
movss xmm4, dword [0x14005aa28]
xor edx, edx
movss xmm3, dword [0x14005aa50]
movss xmm5, dword [0x14005aa40]
movss xmm2, dword [0x14005aa24]
movaps xmmword [rsp + 0x20], xmm6
xorps xmm6, xmm6
cmp r14, 4
jl 0x14000512a
lea r8, [r14 - 4]
shr r8, 2
lea rcx, [rsi + 8]
inc r8
lea rdx, [r8*4]
movss xmm1, dword [rcx - 8]
comiss xmm1, xmm4
jb 0x140005047
mov eax, 0x7fffffff
jmp 0x14000506d
comiss xmm1, xmm3
ja 0x140005053
mov eax, 0x80000000
jmp 0x14000506d
comiss xmm1, xmm6
movaps xmm0, xmm1
mulss xmm0, xmm5
jb 0x140005065
addss xmm0, xmm2
jmp 0x140005069
subss xmm0, xmm2
cvttss2si eax, xmm0
mov dword [rcx - 8], eax
movss xmm1, dword [rcx - 4]
comiss xmm1, xmm4
jb 0x140005081
mov eax, 0x7fffffff
jmp 0x1400050a7
comiss xmm1, xmm3
ja 0x14000508d
mov eax, 0x80000000
jmp 0x1400050a7
comiss xmm1, xmm6
movaps xmm0, xmm1
mulss xmm0, xmm5
jb 0x14000509f
addss xmm0, xmm2
jmp 0x1400050a3
subss xmm0, xmm2
cvttss2si eax, xmm0
mov dword [rcx - 4], eax
movss xmm1, dword [rcx]
comiss xmm1, xmm4
jb 0x1400050ba
mov eax, 0x7fffffff
jmp 0x1400050e0
comiss xmm1, xmm3
ja 0x1400050c6
mov eax, 0x80000000
jmp 0x1400050e0
comiss xmm1, xmm6
movaps xmm0, xmm1
mulss xmm0, xmm5
jb 0x1400050d8
addss xmm0, xmm2
jmp 0x1400050dc
subss xmm0, xmm2
cvttss2si eax, xmm0
mov dword [rcx], eax
movss xmm1, dword [rcx + 4]
comiss xmm1, xmm4
jb 0x1400050f3
mov eax, 0x7fffffff
jmp 0x140005119
comiss xmm1, xmm3
ja 0x1400050ff
mov eax, 0x80000000
jmp 0x140005119
comiss xmm1, xmm6
movaps xmm0, xmm1
mulss xmm0, xmm5
jb 0x140005111
addss xmm0, xmm2
jmp 0x140005115
subss xmm0, xmm2
cvttss2si eax, xmm0
mov dword [rcx + 4], eax
add rcx, 0x10
sub r8, 1
jne 0x140005036
cmp rdx, r14
jge 0x140005171
movss xmm1, dword [rsi + rdx*4]
comiss xmm1, xmm4
jb 0x140005140
mov eax, 0x7fffffff
jmp 0x140005166
comiss xmm1, xmm3
ja 0x14000514c
mov eax, 0x80000000
jmp 0x140005166
comiss xmm1, xmm6
movaps xmm0, xmm1
mulss xmm0, xmm5
jb 0x14000515e
addss xmm0, xmm2
jmp 0x140005162
subss xmm0, xmm2
cvttss2si eax, xmm0
mov dword [rsi + rdx*4], eax
inc rdx
cmp rdx, r14
jl 0x14000512f
movaps xmm6, xmmword [rsp + 0x20]
mov eax, r10d
mov rsi, qword [rsp + 0x58]
add rsp, 0x30
pop r14
ret
mov rsi, qword [rsp + 0x58]
mov eax, r10d
add rsp, 0x30
pop r14
ret