Function at 0x4137a0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xa0
mov edi, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov eax, dword [0x4b5040]
xor eax, ebp
mov dword [esp + 0x98], eax
test edi, edi
je 0x4137d8
cmp byte [edi + 0xb], 0
js 0x413994
xor eax, eax
mov byte [edi], al
mov byte [edi + 0xb], al
mov ecx, esi
call fcn.00457e20
test al, al
jne 0x4137f5
push 0x4aba48
push esi
call fcn.00413a30
add esp, 8
test eax, eax
jne 0x41380f
xor ebx, ebx
mov ecx, dword [esp + 0x98]
xor ecx, ebp
call fcn.00461246
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
test edi, edi
je 0x413824
cmp byte [edi + 0xb], 0
js 0x4139c6
xor ecx, ecx
mov byte [edi], cl
mov byte [edi + 0xb], cl
xor ebx, ebx
mov dword [esp + 0x18], ebx
pxor xmm0, xmm0
movq qword [esp + 0x10], xmm0
push ebx
push ebx
push eax
mov dword [esp + 0x18], eax
call fcn.00460185
add esp, 0xc
pcmpeqd xmm0, xmm0
lea edi, [esp + 0x60]
movdqa xmmword [edi + 0x20], xmm0
movdqa xmmword [edi + 0x10], xmm0
movdqa xmmword [edi], xmm0
lea esi, [esp + 0x20]
push 0x48
push str....._base_files_file_util.cc
push str.ReadStreamToSpanWithMaxSize
push esi
call fcn.00440e50
add esp, 0x10
mov ecx, edi
push ebx
push esi
call fcn.00447150
mov dword [esi + 0x30], ebx
pxor xmm0, xmm0
movdqa xmmword [esi + 0x20], xmm0
movdqa xmmword [esi + 0x10], xmm0
movdqa xmmword [esi], xmm0
push dword [esp + 0xc]
call fcn.004600d6
add esp, 4
push eax
call fcn.004601bf
add esp, 4
push esi
push eax
call dword [sym.imp.KERNEL32.dll_GetFileInformationByHandle]
test eax, eax
je 0x4139a5
mov eax, dword [esp + 0x44]
mov ecx, eax
neg ecx
sbb ebx, dword [esp + 0x40]
mov ebx, 0xffff
cmovl ebx, eax
mov eax, dword [ebp + 0x10]
cmp ebx, eax
cmovae ebx, eax
inc ebx
lea edi, [esp + 0x10]
mov ecx, edi
push 0
push ebx
call fcn.00446ee0
cmp byte [edi + 0xb], 0
jns 0x4138ea
mov edi, dword [esp + 0x10]
push dword [esp + 0xc]
push ebx
push 1
push edi
call fcn.004600b9
add esp, 0x10
test eax, eax
je 0x4139af
xor esi, esi
mov ecx, dword [ebp + 0x10]
sub ecx, esi
cmp ecx, eax
jb 0x4139bc
mov edi, eax
add edi, esi
push dword [esp + 0xc]
call fcn.004600fd
add esp, 4
test eax, eax
je 0x4139e9
push dword [esp + 0xc]
call fcn.00460129
add esp, 4
test eax, eax
sete bl
lea ecx, [esp + 0x10]
push 0
push edi
call fcn.00446ee0
lea ecx, [esp + 0x60]
call fcn.00449c10
mov edi, dword [ebp + 0xc]
test edi, edi
je 0x4139b6
mov ecx, dword [edi]
mov edx, dword [edi + 4]
mov eax, dword [edi + 8]
movq xmm0, qword [esp + 0x10]
movq qword [edi], xmm0
mov esi, dword [esp + 0x18]
mov dword [edi + 8], esi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], eax
shr eax, 0x18
test al, al
mov eax, dword [esp + 0xc]
js 0x4139d7
push eax
call fcn.00460155
add esp, 4
jmp 0x4137f7
mov eax, dword [edi]
mov byte [eax], 0
mov dword [edi + 4], 0
jmp 0x4137d8
mov ebx, 0xffff
jmp 0x4138c9
xor edi, edi
jmp 0x413929
mov al, byte [esp + 0x1b]
jmp 0x41397e
xor ebx, ebx
mov edi, dword [ebp + 0x10]
jmp 0x41393a
mov ecx, dword [edi]
mov byte [ecx], 0
mov dword [edi + 4], 0
jmp 0x413824
push dword [esp + 0x10]
call fcn.0045e41e
mov eax, dword [esp + 0x10]
add esp, 4
jmp 0x413986
test esi, esi
mov eax, 0x10000
cmove ebx, eax
lea eax, [ebx + edi]
lea esi, [esp + 0x10]
mov ecx, esi
push 0
push eax
call fcn.00446ee0
cmp byte [esi + 0xb], 0
jns 0x413a0e
mov esi, dword [esp + 0x10]
add esi, edi
push dword [esp + 0xc]
push ebx
push 1
push esi
call fcn.004600b9
add esp, 0x10
mov esi, edi
test eax, eax
jne 0x413904
jmp 0x413929