Function at 0x140056e78
Capabilities:
Read file on windows

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x58]
sub rsp, 0x120
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
mov rax, qword [0x1400f2118]
xor rax, rsp
mov qword [rbp - 0x10], rax
xor sil, sil
mov rbx, rdx
mov rdi, rcx
mov r12d, 1
cmp byte [rcx], sil
jne 0x140056ed1
mov rcx, qword [rcx + 0x20]
call fcn.14004e6a8
test al, al
je 0x140056ed1
mov r15b, r12b
jmp 0x140056ed4
xor r15b, r15b
lea rdx, [0x1400cdb24]
mov rcx, rbx
call fcn.1400673f4
mov qword [rsp + 0x58], rax
mov r14, rax
test rax, rax
je 0x1400571f3
call fcn.14004def8
mov ebx, 0x8000c
mov qword [rsp + 0x60], rax
mov ecx, ebx
xor r8d, r8d
mov rdx, r12
call fcn.140008cbc
mov r9, r14
mov r8d, ebx
mov rdx, r12
mov rcx, rax
mov r13, rax
call fcn.140067750
movsxd rcx, eax
mov r12, rax
mov qword [rsp + 0x38], rcx
xor ecx, ecx
and dword [rsp + 0x40], ecx
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x28]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x48], rax
cmp rcx, 0x40006
jb 0x140056fb2
sub r12d, dword [rsp + 0x30]
lea rdx, [rcx + r13]
movsxd rbx, r12d
mov rcx, r13
mov r8, rbx
call fcn.140059500
mov r8d, 0x8000c
lea rcx, [rbx + r13]
sub r8, rbx
mov r9, r14
mov edx, 1
call fcn.140067750
and qword [rsp + 0x30], 0
add r12d, eax
and dword [rsp + 0x40], 0
movsxd rax, r12d
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x28]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x28], r13
mov rcx, qword [rsp + 0x48]
call fcn.140008a5c
mov rdx, qword [rsp + 0x48]
lea rcx, [rbp - 0x60]
mov r12d, eax
call fcn.140056b04
mov rdx, qword [rsp + 0x48]
lea rcx, [rbp - 0x50]
movups xmm7, xmmword [rax]
movaps xmmword [rsp + 0x70], xmm7
call fcn.140056b04
lea rcx, [rbp - 0x80]
movups xmm0, xmmword [rax]
movdqu xmmword [rbp - 0x80], xmm0
call fcn.140049d04
mov r14, rax
cmp byte [rax], 0
je 0x140057008
mov rcx, rax
call fcn.1400814ac
mov ebx, eax
jmp 0x14005700b
or ebx, 0xffffffff
mov rcx, r14
call fcn.140008bbc
mov rdx, qword [rsp + 0x48]
lea rcx, [rbp - 0x40]
call fcn.140056b04
mov rdx, qword [rsp + 0x48]
lea rcx, [rbp - 0x30]
movups xmm6, xmmword [rax]
call fcn.140056b04
movups xmm0, xmmword [rax]
mov rax, qword [rsp + 0x48]
movdqu xmmword [rbp - 0x80], xmm0
cmp dword [rax + 0x18], 0
jne 0x1400571ca
cmp dword [rdi + 0x10], 0
jl 0x1400571b1
test ebx, ebx
js 0x140057060
cmp dword [rdi + 0x10], ebx
jne 0x1400571b1
mov r14d, 1
lea rbx, str.MIT_MAGIC_COOKIE_1
mov rdx, qword [rbx]
lea rcx, [rbp - 0x70]
movdqa xmmword [rbp - 0x70], xmm6
call fcn.140049e78
test al, al
jne 0x14005708f
inc r14d
add rbx, 8
cmp r14d, 3
jb 0x14005706d
cmp r14d, 3
je 0x1400571b1
test r12d, r12d
je 0x140057132
cmp r12d, 6
je 0x1400570f2
cmp r12d, 0x100
jne 0x1400571b1
cmp byte [rdi], 0
jne 0x1400570c3
test r15b, r15b
je 0x1400571b1
mov rbx, qword [rsp + 0x60]
test rbx, rbx
je 0x1400571b1
mov rdx, rbx
movdqa xmmword [rbp - 0x70], xmm7
lea rcx, [rbp - 0x70]
call fcn.140049e78
test al, al
je 0x1400571b1
mov sil, 1
jmp 0x14005717b
cmp byte [rdi], 0
jne 0x1400571b1
mov rcx, qword [rdi + 0x20]
call fcn.14004e740
cmp eax, 2
jne 0x1400571b1
mov rcx, qword [rdi + 0x20]
lea rdx, [rbp - 0x20]
call fcn.14004e624
cmp qword [rsp + 0x78], 0x10
jne 0x1400571b1
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rbp - 0x20]
jmp 0x140057166
cmp byte [rdi], 0
jne 0x1400571b1
mov rcx, qword [rdi + 0x20]
call fcn.14004e740
cmp eax, 1
jne 0x1400571b1
mov rcx, qword [rdi + 0x20]
lea rdx, [rsp + 0x20]
call fcn.14004e624
cmp qword [rsp + 0x78], 4
jne 0x1400571b1
mov r8d, 4
lea rdx, [rsp + 0x20]
mov rcx, qword [rsp + 0x70]
call fcn.140059cd0
test eax, eax
jne 0x1400571b1
mov sil, r15b
xor sil, 1
mov rcx, qword [rdi + 0x40]
mov dword [rdi + 0x38], r14d
call fcn.140008bbc
mov rbx, qword [rbp - 0x78]
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 1]
call fcn.140008cbc
mov rdx, qword [rbp - 0x80]
mov r8, rbx
mov rcx, rax
mov qword [rdi + 0x40], rax
call fcn.140059500
mov dword [rdi + 0x48], ebx
test sil, sil
jne 0x1400571ca
mov rcx, qword [rsp + 0x30]
mov r14, qword [rsp + 0x58]
mov r12, qword [rsp + 0x50]
jmp 0x140056f4e
mov rcx, qword [rsp + 0x58]
call fcn.1400670bc
mov edx, 0x8000c
mov rcx, r13
call fcn.14004db88
mov rcx, r13
call fcn.140008bbc
mov rcx, qword [rsp + 0x60]
call fcn.140008bbc
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.1400581b0
lea r11, [rsp + 0x120]
mov rbx, qword [r11 + 0x50]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret