Function at 0x140083cc0
Capabilities:
Read file on windows

Disassembly:
push rbp
push rbx
lea rbp, [rsp - 0xf78]
mov eax, 0x1078
call fcn.1400b6710
sub rsp, rax
cmp byte [rcx + 0x2c0], 0
mov rbx, rcx
je 0x140083cf2
add rsp, 0x1078
pop rbx
pop rbp
jmp method.awReaderFilter.virtual_56
movzx eax, word [rcx + 0x2c8]
mov qword [rsp + 0x10a8], rsi
mov qword [rsp + 0x1070], rdi
mov qword [rsp + 0x1068], r12
mov qword [rsp + 0x1060], r13
mov qword [rsp + 0x1058], r14
mov qword [rsp + 0x1050], r15
mov byte [rcx + 0x31c], 0
cmp ax, 0x50
jne 0x140083ede
mov rcx, qword [rcx + 0x338]
test rcx, rcx
je 0x140083d50
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov ecx, 0x58
call fcn.1400b6058
xor esi, esi
test rax, rax
je 0x14008442a
mov r9, qword [rbx + 0x2d0]
lea rcx, [rbx + 0x34c]
mov r8, qword [rbx + 0x290]
lea rdx, [rbx + 0x70]
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rcx
mov rcx, rax
call fcn.140044a90
mov qword [rbx + 0x338], rax
test rax, rax
je 0x140084431
mov rcx, qword [rbx + 0x340]
test rcx, rcx
je 0x140083db4
mov rax, qword [rcx]
lea edx, [rsi + 1]
call qword [rax]
mov ecx, 0x9600
call fcn.1400b6058
test rax, rax
je 0x14008441c
mov rdx, qword [rbx + 0x338]
mov rcx, rax
call fcn.14003f2a0
mov qword [rbx + 0x340], rax
test rax, rax
je 0x140084431
mov rcx, rax
call fcn.140043a00
mov rdi, qword [rbx + 0x30]
cmp rdi, 0x480
jl 0x140083e2f
nop dword [rax + rax]
mov rcx, qword [rbx + 0x340]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rsi
xor edx, edx
call fcn.14003f330
test eax, eax
je 0x140084418
mov eax, eax
sub rdi, rax
cmp rdi, 0x480
jge 0x140083e00
mov rcx, qword [rbx + 0x340]
lea rax, [rbp + 0xf90]
lea r9, [rbp + 0xf98]
mov qword [rsp + 0x20], rax
xor r8d, r8d
xor edx, edx
call fcn.14003f330
mov edi, eax
test eax, eax
je 0x140084418
nop dword [rax]
mov rcx, qword [rbx + 0x338]
lea rdx, [rsp + 0x50]
mov r9d, dword [rbp + 0xf90]
mov r8d, dword [rbp + 0xf98]
mov r10, qword [rcx]
call qword [r10 + 0x40]
test al, al
je 0x140084438
mov rcx, qword [rbx + 0x10]
lea rdx, [rsp + 0x50]
mov r8d, dword [rbp + 0xf90]
mov r9d, edi
mov rax, qword [rcx]
call qword [rax + 0x20]
mov ecx, eax
shr ecx, 0x1f
test cl, cl
jne 0x14008443d
mov rcx, qword [rbx + 0x340]
lea rax, [rbp + 0xf90]
lea r9, [rbp + 0xf98]
mov qword [rsp + 0x20], rax
xor r8d, r8d
xor edx, edx
call fcn.14003f330
mov edi, eax
test eax, eax
jne 0x140083e60
jmp 0x14008443d
mov ecx, 0xff
cmp ax, cx
jne 0x1400841a5
mov r15d, dword [rbx + 0x2d0]
mov ecx, r15d
call fcn.1400b609c
mov r13, rax
test rax, rax
je 0x140084431
mov rdx, qword [rbx + 0x290]
xor r9d, r9d
mov rcx, qword [rbx + 0x70]
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
mov rcx, qword [rbx + 0x70]
lea r9, [rbp + 0xf90]
xor esi, esi
mov r8d, r15d
mov rdx, r13
mov dword [rbp + 0xf90], esi
mov qword [rsp + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x14008419b
cmp dword [rbp + 0xf90], r15d
jne 0x14008419b
movzx eax, byte [rbx + 0x34c]
mov byte [rsp + 0x30], al
cmp byte [r13], 0xff
jne 0x140084032
movzx eax, byte [r13 + 1]
and al, 0xf6
cmp al, 0xf0
jne 0x140084032
lea r8, [rsp + 0x30]
mov rdx, r13
lea rcx, [rsp + 0x31]
call fcn.14003edc0
mov rcx, qword [rbx + 0x10]
lea rdx, [rsp + 0x30]
xor r9d, r9d
lea r8d, [rax + 1]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov ecx, eax
mov edi, eax
shr ecx, 0x1f
not cl
test cl, 1
je 0x14008418c
cmp r15d, 7
jbe 0x14008418c
mov edi, esi
lea rdx, [rbp + 0xf90]
add rdi, r13
mov rcx, rdi
call fcn.14003eec0
mov r14d, eax
test eax, eax
je 0x14008401e
mov rcx, qword [rbx + 0x10]
lea r8d, [rax - 7]
mov r9d, dword [rbp + 0xf90]
lea rdx, [rdi + 7]
mov r10, qword [rcx]
call qword [r10 + 0x20]
mov ecx, eax
mov edi, eax
shr ecx, 0x1f
test cl, cl
jne 0x14008418c
add esi, r14d
lea eax, [rsi + 7]
cmp eax, r15d
jb 0x140083fc0
mov rcx, r13
call fcn.1400b60a4
mov eax, edi
jmp 0x14008443d
mov rcx, r13
mov edi, 0x8004020d
call fcn.1400b60a4
mov eax, edi
jmp 0x14008443d
mov rdx, qword [rbx + 0x340]
test rdx, rdx
je 0x140084187
mov ecx, dword [rbx + 0x348]
cmp ecx, 2
jl 0x140084187
mov eax, reloc.WSOCK32.dll_recv
cmp ecx, eax
cmovl eax, ecx
lea rcx, [rsp + 0x31]
mov r8d, eax
mov edi, eax
call fcn.1400b9e30
mov rcx, qword [rbx + 0x10]
lea r8d, [rdi + 1]
xor r9d, r9d
lea rdx, [rsp + 0x30]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov edi, eax
shr eax, 0x1f
not al
test al, 1
je 0x14008418c
mov ecx, 0x60
call fcn.1400b6058
test rax, rax
je 0x140084431
mov rcx, rax
call fcn.14003e010
mov qword [rbp + 0xfa0], rax
mov r12, rax
test rax, rax
je 0x140084431
mov edx, dword [rbx + 0x20]
mov rcx, rax
call fcn.14003e0f0
mov r14d, esi
cmp r15d, 1
jbe 0x140084163
nop word [rax + rax]
mov eax, r15d
mov r12d, r14d
lea rcx, [rbp + 0xf98]
mov dword [rbp + 0xf90], esi
mov qword [rsp + 0x28], rcx
lea r8, [rbp + 0xf90]
mov rcx, qword [rbp + 0xfa0]
sub eax, r14d
add r12, r13
mov dword [rsp + 0x20], eax
mov r9, r12
xor edx, edx
call fcn.14003e5d0
mov edi, eax
shr eax, 0x1f
test al, al
jne 0x14008415c
mov r8d, dword [rbp + 0xf98]
test r8d, r8d
je 0x14008415c
mov rcx, qword [rbx + 0x10]
mov rdx, r12
mov r9d, dword [rbp + 0xf90]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov edi, eax
shr eax, 0x1f
test al, al
jne 0x14008415c
add r14d, dword [rbp + 0xf98]
lea eax, [r14 + 1]
cmp eax, r15d
jb 0x1400840e0
mov r12, qword [rbp + 0xfa0]
mov rcx, r12
call fcn.14003e0c0
mov edx, 0x60
mov rcx, r12
call fcn.1400b6094
mov rcx, r13
call fcn.1400b60a4
mov eax, edi
jmp 0x14008443d
mov edi, 0x8004020b
mov rcx, r13
call fcn.1400b60a4
mov eax, edi
jmp 0x14008443d
mov eax, 0x80040205
jmp 0x14008443d
mov ecx, 0x2000
cmp ax, cx
jne 0x1400842e3
mov ecx, 0x58
call fcn.1400b6058
xor esi, esi
test rax, rax
je 0x14008442a
mov r9, qword [rbx + 0x2d0]
lea rdx, [rbx + 0x70]
mov r8, qword [rbx + 0x290]
mov rcx, rax
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rsi
call fcn.140044a90
mov qword [rbx + 0x338], rax
test rax, rax
je 0x140084431
lea ecx, [rsi + 0x28]
call fcn.1400b6058
test rax, rax
je 0x14008441c
mov rcx, qword [rbx + 0x338]
mov qword [rax + 0x20], rcx
mov rcx, rax
mov qword [rbx + 0x340], rax
call fcn.14002b850
cmp eax, 1
je 0x140084418
mov ecx, eax
shr ecx, 0x1f
test cl, cl
jne 0x14008443d
mov rax, qword [rbx + 0x340]
lea rdx, [rsp + 0x50]
mov rcx, qword [rbx + 0x338]
mov r9d, dword [rax + 4]
mov r10, qword [rcx]
mov r8d, dword [rax]
call qword [r10 + 0x40]
test al, al
je 0x140084438
mov rax, qword [rbx + 0x340]
lea rdx, [rsp + 0x50]
mov rcx, qword [rbx + 0x10]
mov r9d, dword [rax + 8]
mov r10, qword [rcx]
mov r8d, dword [rax + 4]
call qword [r10 + 0x20]
mov ecx, eax
shr ecx, 0x1f
test cl, cl
jne 0x14008443d
mov rcx, qword [rbx + 0x338]
mov rdi, qword [rbx + 0x340]
mov rax, qword [rcx]
call qword [rax + 0x28]
mov edx, dword [rdi + 4]
add edx, dword [rdi]
shl rdx, 3
sub rdx, rax
test rdx, rdx
jle 0x1400842cb
mov rcx, qword [rbx + 0x338]
mov rax, qword [rcx]
call qword [rax + 0x38]
mov rdi, qword [rbx + 0x340]
mov rcx, rdi
call fcn.14002b850
cmp eax, 1
jne 0x140084230
xor eax, eax
jmp 0x14008443d
mov ecx, 0x2001
cmp ax, cx
jne 0x140084438
mov ecx, 0x58
call fcn.1400b6058
xor esi, esi
test rax, rax
je 0x14008442a
mov r9, qword [rbx + 0x2d0]
lea rdx, [rbx + 0x70]
mov r8, qword [rbx + 0x290]
mov rcx, rax
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rsi
call fcn.140044a90
mov qword [rbx + 0x338], rax
test rax, rax
je 0x140084431
lea ecx, [rsi + 0x28]
call fcn.1400b6058
test rax, rax
je 0x14008441c
mov rcx, qword [rbx + 0x338]
mov qword [rax + 0x20], rcx
mov rcx, rax
mov qword [rbx + 0x340], rax
call fcn.14002da80
cmp eax, 1
je 0x140084418
nop
mov ecx, eax
shr ecx, 0x1f
test cl, cl
jne 0x14008443d
mov rax, qword [rbx + 0x340]
lea rdx, [rsp + 0x50]
mov rcx, qword [rbx + 0x338]
mov r9d, dword [rax + 4]
mov r10, qword [rcx]
mov r8d, dword [rax]
call qword [r10 + 0x40]
test al, al
je 0x140084438
mov rax, qword [rbx + 0x340]
lea rdx, [rsp + 0x50]
mov rcx, qword [rbx + 0x10]
mov r9d, dword [rax + 8]
mov r10, qword [rcx]
mov r8d, dword [rax + 4]
call qword [r10 + 0x20]
mov ecx, eax
shr ecx, 0x1f
test cl, cl
jne 0x14008443d
mov rcx, qword [rbx + 0x338]
mov rdi, qword [rbx + 0x340]
mov rax, qword [rcx]
call qword [rax + 0x28]
mov edx, dword [rdi + 4]
add edx, dword [rdi]
shl rdx, 3
sub rdx, rax
test rdx, rdx
jle 0x140084407
mov rcx, qword [rbx + 0x338]
mov rax, qword [rcx]
call qword [rax + 0x38]
mov rdi, qword [rbx + 0x340]
mov rcx, rdi
call fcn.14002da80
cmp eax, 1
jne 0x140084370
xor eax, eax
jmp 0x14008443d
mov qword [rbx + 0x340], rsi
mov eax, 0x80040202
jmp 0x14008443d
mov qword [rbx + 0x338], rsi
mov eax, 0x80040202
jmp 0x14008443d
mov eax, 0x80040200
mov r14, qword [rsp + 0x1058]
mov r13, qword [rsp + 0x1060]
mov r12, qword [rsp + 0x1068]
mov rdi, qword [rsp + 0x1070]
mov rsi, qword [rsp + 0x10a8]
mov r15, qword [rsp + 0x1050]
add rsp, 0x1078
pop rbx
pop rbp
ret