Function at 0x140028060
Capabilities:
Read file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xf8
movaps xmmword [rsp + 0xe0], xmm6
mov r15, r8
mov rbx, rcx
mov rax, qword [0x140213038]
xor rax, rsp
mov qword [rsp + 0xd8], rax
lea rdi, [rsp + 0x80]
mov dword [rdi], 0xaaaaaaaa
mov qword [rsp + 0x20], rdi
mov dword [rsp + 0x28], 0
xor esi, esi
mov rcx, rdx
mov edx, 0x8000
mov r8d, 0x40
xor r9d, r9d
call fcn.14011458c
cmp eax, 1
sbb esi, esi
not esi
or esi, dword [rdi]
js 0x1400281fe
movaps xmm6, xmmword [0x1401d9dd0]
lea rdx, [rsp + 0xb0]
movaps xmmword [rdx + 0x10], xmm6
movaps xmmword [rdx], xmm6
mov ecx, esi
mov r8d, 0x20
call fcn.14011373c
mov ebp, 6
cmp eax, 0x20
jne 0x1400281e6
mov ecx, dword [rsp + 0xb8]
mov rbp, qword [sym.imp.WS2_32.dll_ntohl]
call rbp
mov dword [rsp + 0xb8], eax
mov ecx, dword [rsp + 0xbc]
call rbp
mov dword [rsp + 0xbc], eax
mov ecx, dword [rsp + 0xc0]
call rbp
mov dword [rsp + 0xc0], eax
mov ecx, dword [rsp + 0xc4]
call rbp
mov dword [rsp + 0xc4], eax
mov ecx, dword [rsp + 0xc8]
call rbp
mov dword [rsp + 0xc8], eax
mov ecx, dword [rsp + 0xcc]
call rbp
mov dword [rsp + 0xcc], eax
lea rdx, [rsp + 0x80]
movaps xmmword [rdx + 0x20], xmm6
movaps xmmword [rdx + 0x10], xmm6
movaps xmmword [rdx], xmm6
mov ecx, esi
call fcn.140111ab8
mov ebp, 6
test eax, eax
jne 0x1400281e6
movabs rax, 0x303146464944424d
mov ebp, 8
cmp qword [rsp + 0xb0], rax
jne 0x1400281e6
movsxd rax, dword [rsp + 0x94]
cmp rax, 0x20
jb 0x1400281e6
add rax, 0xffffffffffffffe0
mov ecx, dword [rsp + 0xc4]
sub rax, rcx
jb 0x1400281e6
mov ecx, dword [rsp + 0xc8]
sub rax, rcx
jb 0x1400281e6
mov ecx, dword [rsp + 0xcc]
xor ebp, ebp
cmp rax, rcx
setne bpl
shl ebp, 3
mov r12d, 0xffffffff
xor r14d, r14d
test ebp, ebp
je 0x140028208
mov r13d, 0xffffffff
jmp 0x1400283a9
mov ebp, 6
jmp 0x1400283d2
mov dword [rsp + 0x80], 0xaaaaaaaa
mov qword [rsp + 0x20], rdi
mov dword [rsp + 0x28], 0
mov rcx, rbx
mov edx, 0x8000
mov r8d, 0x40
xor r9d, r9d
call fcn.14011458c
mov r13d, dword [rsp + 0x80]
cmp eax, 1
mov ebx, 0
sbb ebx, ebx
not ebx
or ebx, r13d
js 0x140028397
lea rdx, [rsp + 0x80]
movaps xmmword [rdx + 0x20], xmm6
movaps xmmword [rdx + 0x10], xmm6
movaps xmmword [rdx], xmm6
mov ecx, ebx
call fcn.140111ab8
mov r12d, 0xffffffff
mov ebp, 6
test eax, eax
jne 0x1400283a6
mov edi, dword [rsp + 0x94]
cmp edi, dword [rsp + 0xb8]
jne 0x1400283a1
mov rcx, rdi
call fcn.1400e0eb0
test rax, rax
je 0x140028400
mov r14, rax
mov ecx, ebx
mov rdx, rax
mov r8d, edi
call fcn.14011373c
cmp eax, dword [rsp + 0xb8]
jne 0x1400283a9
mov ebx, eax
call fcn.140169280
movsxd rdx, ebx
mov rcx, r14
call fcn.140169250
not eax
cmp dword [rsp + 0xbc], eax
jne 0x14002840a
lea rbx, [rsp + 0x7c]
mov dword [rbx], 0xaaaaaaaa
mov qword [rsp + 0x20], rbx
mov dword [rsp + 0x28], 0
xor edi, edi
mov rcx, r15
mov edx, 0x8301
mov r8d, 0x40
xor r9d, r9d
call fcn.14011458c
mov r12d, dword [rbx]
cmp eax, 1
sbb edi, edi
not edi
or edi, r12d
js 0x140028411
mov ebx, dword [rsp + 0xb8]
mov ebp, dword [rsp + 0xc8]
add ebp, dword [rsp + 0xc4]
add ebp, dword [rsp + 0xcc]
mov rcx, rbp
call fcn.1400e0eb0
test rax, rax
je 0x140028403
mov r15, rax
add rbx, r14
mov qword [rsp + 0x50], rbx
mov rbx, rax
mov qword [rsp + 0x70], rax
test ebp, ebp
je 0x140028416
mov ecx, esi
mov rdx, rbx
mov r8d, ebp
call fcn.14011373c
test eax, eax
js 0x140028435
sub ebp, eax
mov ecx, eax
add rbx, rcx
test eax, eax
jne 0x140028366
test ebp, ebp
je 0x140028366
jmp 0x14002842e
mov ebp, 6
mov r13d, ebx
jmp 0x1400283a9
mov ebp, 8
xor r14d, r14d
mov rcx, r14
call fcn.1400e0f00
mov ecx, esi
call fcn.14010ecc0
test r13d, r13d
js 0x1400283c5
mov ecx, r13d
call fcn.14010ecc0
test r12d, r12d
js 0x1400283d2
mov ecx, r12d
call fcn.14010ecc0
mov rcx, qword [rsp + 0xd8]
xor rcx, rsp
call fcn.1401013e0
mov eax, ebp
movaps xmm6, xmmword [rsp + 0xe0]
add rsp, 0xf8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor r14d, r14d
mov ebp, 1
jmp 0x1400283a9
mov ebp, 4
jmp 0x1400283a9
mov r12d, edi
jmp 0x1400283a9
mov eax, dword [rsp + 0xc4]
imul ecx, eax, 0xaaaaaaab
ror ecx, 2
cmp ecx, 0x15555555
jbe 0x140028449
mov ebp, 8
jmp 0x14002843a
mov ebp, 6
mov rcx, qword [rsp + 0x70]
call fcn.1400e0f00
jmp 0x1400283a9
test eax, eax
je 0x140028584
mov rcx, r15
add rcx, rax
mov eax, dword [rsp + 0xc8]
add rax, rcx
mov edx, dword [rsp + 0xcc]
add rdx, rax
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x48], rcx
mov rbx, r14
mov ecx, dword [r15]
mov rbp, qword [sym.imp.WS2_32.dll_ntohl]
call rbp
mov dword [r15], eax
mov ecx, dword [r15 + 4]
call rbp
mov dword [r15 + 4], eax
mov ecx, dword [r15 + 8]
call rbp
mov dword [r15 + 8], eax
mov eax, dword [r15]
mov rcx, qword [rsp + 0x50]
sub rcx, rbx
cmp rcx, rax
jb 0x14002842e
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x48]
sub rcx, rdx
cmp rcx, rax
jb 0x14002842e
test eax, eax
je 0x1400284ed
xor eax, eax
mov cl, byte [rbx + rax]
add byte [rdx + rax], cl
inc rax
mov r8d, dword [r15]
cmp rax, r8
jb 0x1400284da
jmp 0x1400284f0
xor r8d, r8d
mov ecx, edi
call fcn.1401176c8
mov ebp, 7
cmp eax, dword [r15]
jne 0x14002843a
mov dword [rsp + 0x3c], eax
mov r8d, dword [r15 + 4]
mov rax, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x40]
sub rax, rdx
cmp rax, r8
jb 0x14002842e
mov ecx, edi
call fcn.1401176c8
cmp eax, dword [r15 + 4]
jne 0x14002843a
mov edx, dword [rsp + 0x3c]
add rbx, rdx
movsxd rcx, dword [r15 + 8]
mov rbp, r14
sub rbp, rbx
cmp rbp, rcx
jg 0x14002842e
mov rbp, qword [rsp + 0x50]
sub rbp, rbx
cmp rbp, rcx
jl 0x14002842e
add qword [rsp + 0x48], rdx
mov eax, eax
add qword [rsp + 0x40], rax
add rbx, rcx
add r15, 0xc
xor ebp, ebp
cmp r15, qword [rsp + 0x58]
jb 0x140028487
jmp 0x14002843a
xor ebp, ebp
jmp 0x14002843a