Function at 0x14005fdb0
Capabilities:
Get file size
Read file on windows

Disassembly:
push rbp
push rsi
push rdi
push r12
lea rbp, [rsp - 0x88]
sub rsp, 0x188
mov rdi, rcx
lea r9, [rbp + 0xb0]
mov rcx, qword [rcx + 0x70]
lea rdx, [rsp + 0x30]
xor r12d, r12d
mov esi, recv
mov r8d, esi
mov dword [rbp + 0xb0], r12d
mov qword [rsp + 0x20], r12
call qword [sym.imp.KERNEL32.dll_ReadFile]
cmp dword [rsp + 0x30], 0x4d524f46
mov eax, dword [rsp + 0x34]
bswap eax
mov dword [rsp + 0x34], eax
je 0x14005fe1b
mov eax, 0x8004020a
add rsp, 0x188
pop r12
pop rdi
pop rsi
pop rbp
ret
mov eax, dword [rsp + 0x38]
cmp eax, 0x56533631
je 0x14005fe48
cmp eax, 0x58565338
je 0x14005fe3f
mov eax, 0x80040208
add rsp, 0x188
pop r12
pop rdi
pop rsi
pop rbp
ret
lea r8, [0x14012f1f8]
jmp 0x14005fe4f
lea r8, [0x14012f1c8]
mov qword [rsp + 0x180], rbx
lea rcx, [rdi + 0x58]
mov edx, 2
mov qword [rsp + 0x178], r14
mov qword [rsp + 0x170], r15
movaps xmmword [rsp + 0x160], xmm6
lea r9d, [rdx - 3]
call fcn.140025fb0
mov rcx, rdi
call fcn.140023ca0
mov rcx, qword [rdi + 0x70]
lea rdx, [rbp + 0xb0]
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
mov r15, r12
cmovne r15, qword [rbp + 0xb0]
cmp rsi, r15
jge 0x1400602fe
movss xmm6, dword [0x140143678]
nop dword [rax + rax]
mov rcx, qword [rdi + 0x70]
xor r9d, r9d
xor r8d, r8d
mov rdx, rsi
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
mov rcx, qword [rdi + 0x70]
lea r9, [rbp + 0xb8]
mov r8d, 8
mov dword [rbp + 0xb8], r12d
lea rdx, [rbp + 0xc0]
mov qword [rsp + 0x20], r12
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov ecx, dword [rbp + 0xc4]
lea rdx, [rsi + 8]
mov eax, dword [rbp + 0xc0]
bswap ecx
mov ecx, ecx
mov dword [rbp + 0xc4], ecx
lea rsi, [rdx + rcx]
cmp eax, 0x4f4e4e41
ja 0x1400601da
je 0x1400601ff
cmp eax, 0x20296328
je 0x140060190
cmp eax, 0x454d414e
je 0x140060146
cmp eax, 0x48545541
je 0x1400600fc
cmp eax, 0x4e414843
jne 0x1400602f5
mov rcx, qword [rdi + 0x70]
lea r9, [rbp + 0xb8]
mov r8d, 4
mov dword [rbp + 0xb8], r12d
lea rdx, [rbp + 0xb0]
mov qword [rsp + 0x20], r12
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov ecx, dword [rbp + 0xb0]
mov eax, r12d
bswap ecx
mov dword [rbp + 0xb0], ecx
mov dword [rdi + 0x20], r12d
test cl, 1
je 0x14005ffa8
mov dword [rdi + 0x20], 1
mov eax, 1
test cl, 2
je 0x14005ffb2
inc eax
mov dword [rdi + 0x20], eax
test cl, 4
je 0x14005ffbc
inc eax
mov dword [rdi + 0x20], eax
test cl, 8
je 0x14005ffc6
inc eax
mov dword [rdi + 0x20], eax
test cl, 0x10
je 0x14005ffd0
inc eax
mov dword [rdi + 0x20], eax
test cl, 0x20
je 0x14005ffda
inc eax
mov dword [rdi + 0x20], eax
test cl, 0x40
je 0x14005ffe4
inc eax
mov dword [rdi + 0x20], eax
test cl, cl
jns 0x14005ffed
inc eax
mov dword [rdi + 0x20], eax
bt ecx, 8
jae 0x14005fff8
inc eax
mov dword [rdi + 0x20], eax
bt ecx, 9
jae 0x140060003
inc eax
mov dword [rdi + 0x20], eax
bt ecx, 0xa
jae 0x14006000e
inc eax
mov dword [rdi + 0x20], eax
bt ecx, 0xb
jae 0x140060019
inc eax
mov dword [rdi + 0x20], eax
bt ecx, 0xc
jae 0x140060024
inc eax
mov dword [rdi + 0x20], eax
bt ecx, 0xd
jae 0x14006002f
inc eax
mov dword [rdi + 0x20], eax
bt ecx, 0xe
jae 0x14006003a
inc eax
mov dword [rdi + 0x20], eax
bt ecx, 0xf
jae 0x140060045
inc eax
mov dword [rdi + 0x20], eax
bt ecx, 0x10
jae 0x140060050
inc eax
mov dword [rdi + 0x20], eax
bt ecx, 0x11
jae 0x14006005b
inc eax
mov dword [rdi + 0x20], eax
bt ecx, 0x12
jae 0x140060066
inc eax
mov dword [rdi + 0x20], eax
bt ecx, 0x13
jae 0x140060071
inc eax
mov dword [rdi + 0x20], eax
bt ecx, 0x14
jae 0x14006007c
inc eax
mov dword [rdi + 0x20], eax
bt ecx, 0x15
jae 0x140060087
inc eax
mov dword [rdi + 0x20], eax
bt ecx, 0x16
jae 0x140060092
inc eax
mov dword [rdi + 0x20], eax
bt ecx, 0x17
jae 0x14006009d
inc eax
mov dword [rdi + 0x20], eax
bt ecx, 0x18
jae 0x1400600a8
inc eax
mov dword [rdi + 0x20], eax
bt ecx, 0x19
jae 0x1400600b3
inc eax
mov dword [rdi + 0x20], eax
bt ecx, 0x1a
jae 0x1400600be
inc eax
mov dword [rdi + 0x20], eax
bt ecx, 0x1b
jae 0x1400600c9
inc eax
mov dword [rdi + 0x20], eax
bt ecx, 0x1c
jae 0x1400600d4
inc eax
mov dword [rdi + 0x20], eax
bt ecx, 0x1d
jae 0x1400600df
inc eax
mov dword [rdi + 0x20], eax
bt ecx, 0x1e
jae 0x1400600ea
inc eax
mov dword [rdi + 0x20], eax
test ecx, ecx
jns 0x1400602f5
inc eax
mov dword [rdi + 0x20], eax
jmp 0x1400602f5
mov ebx, 0x100
mov dword [rbp + 0xb8], r12d
cmp ecx, ebx
mov qword [rsp + 0x20], r12
lea r9, [rbp + 0xb8]
cmovb ebx, ecx
lea rdx, [rsp + 0x60]
mov rcx, qword [rdi + 0x70]
mov r8d, ebx
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov r9d, ebx
lea r8, [rsp + 0x60]
mov edx, 5
lea rcx, [rdi + 0x58]
call fcn.140025fb0
jmp 0x1400602f5
mov ebx, 0x100
mov dword [rbp + 0xb8], r12d
cmp ecx, ebx
mov qword [rsp + 0x20], r12
lea r9, [rbp + 0xb8]
cmovb ebx, ecx
lea rdx, [rsp + 0x60]
mov rcx, qword [rdi + 0x70]
mov r8d, ebx
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov r9d, ebx
lea r8, [rsp + 0x60]
mov edx, 3
lea rcx, [rdi + 0x58]
call fcn.140025fb0
jmp 0x1400602f5
mov ebx, 0x100
mov dword [rbp + 0xb8], r12d
cmp ecx, ebx
mov qword [rsp + 0x20], r12
lea r9, [rbp + 0xb8]
cmovb ebx, ecx
lea rdx, [rsp + 0x60]
mov rcx, qword [rdi + 0x70]
mov r8d, ebx
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov r9d, ebx
lea r8, [rsp + 0x60]
mov edx, reloc.WSOCK32.dll_recv
lea rcx, [rdi + 0x58]
call fcn.140025fb0
jmp 0x1400602f5
cmp eax, 0x52444856
je 0x140060249
cmp eax, 0x544d4f43
je 0x1400601ff
cmp eax, 0x59444f42
jne 0x1400602f5
mov qword [rdi + 0x290], rdx
jmp 0x1400602f5
mov ebx, 0x100
mov dword [rbp + 0xb8], r12d
cmp ecx, ebx
mov qword [rsp + 0x20], r12
lea r9, [rbp + 0xb8]
cmovb ebx, ecx
lea rdx, [rsp + 0x60]
mov rcx, qword [rdi + 0x70]
mov r8d, ebx
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov r9d, ebx
lea r8, [rsp + 0x60]
mov edx, recv
lea rcx, [rdi + 0x58]
call fcn.140025fb0
jmp 0x1400602f5
mov rcx, qword [rdi + 0x70]
lea r9, [rbp + 0xb8]
mov r8d, socket
mov dword [rbp + 0xb8], r12d
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x20], r12
call qword [sym.imp.KERNEL32.dll_ReadFile]
movzx r9d, word [rsp + 0x4c]
mov edx, dword [rsp + 0x40]
mov eax, dword [rsp + 0x44]
mov r8d, dword [rsp + 0x48]
mov r10d, dword [rsp + 0x50]
ror r9w, 8
bswap edx
bswap eax
bswap r8d
bswap r10d
cmp byte [rsp + 0x4f], r12b
jne 0x140060311
cmp dword [rdi + 0x2ac], 0x10
jne 0x1400602af
shr edx, 1
shr eax, 1
shr r8d, 1
mov ecx, eax
xorps xmm0, xmm0
mov eax, edx
add rcx, rax
mov byte [rdi + 0x38], 1
movzx eax, r9w
test r8d, r8d
mov dword [rdi + 0x28], eax
lea eax, [r8 + rdx]
mov dword [rdi + 0x4c], eax
setne al
mov byte [rdi + 0x44], al
imul eax, r10d, 0x2580
mov qword [rdi + 0x18], rcx
mov dword [rdi + 0x48], edx
sub eax, 0x25800000
cvtsi2ss xmm0, rax
mulss xmm0, xmm6
movss dword [rdi + 0x40], xmm0
cmp rsi, r15
jl 0x14005fec0
cmp qword [rdi + 0x18], r12
je 0x140060318
cmp qword [rdi + 0x290], r12
je 0x140060318
xor eax, eax
jmp 0x14006031d
mov eax, 0x8004020b
jmp 0x14006031d
mov eax, 0x8004020d
mov r15, qword [rsp + 0x170]
mov r14, qword [rsp + 0x178]
mov rbx, qword [rsp + 0x180]
movaps xmm6, xmmword [rsp + 0x160]
add rsp, 0x188
pop r12
pop rdi
pop rsi
pop rbp
ret