Function at 0x44d980
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 8
cmp dword [esi + 0xb4], 0
push ebx
push edi
jne 0x44dc1b
mov eax, dword [esi + 0xf0]
mov ecx, dword [esi + 0xf4]
mov edx, dword [esi + 0xf8]
mov dword [esi + 0x100], eax
mov eax, dword [esi + 0xfc]
test eax, eax
mov dword [esi + 0x104], ecx
mov dword [esi + 0x108], edx
mov dword [esi + 0x10c], eax
je 0x44d9da
mov eax, dword [esi + 0x108]
test eax, eax
jl 0x44d9da
mov ebx, eax
jmp 0x44d9dc
xor ebx, ebx
cmp dword [esi + 0x10c], 0
je 0x44d9ef
mov eax, dword [esi + 0x108]
test eax, eax
jge 0x44d9f1
xor eax, eax
cmp ebx, eax
jbe 0x44da1c
push 0x10
call fcn.00408960
add esp, 4
test eax, eax
je 0x44da1c
push 0x77d
push str.._tun.c
push str.Assertion_failed_at__s:_d
push 0x10
call fcn.00408640
add esp, 0x10
mov ecx, dword [esi + 0xc8]
push ecx
call dword [sym.imp.KERNEL32.dll_ResetEvent]
test eax, eax
jne 0x44da54
push 0x10
call fcn.00408960
add esp, 4
test eax, eax
je 0x44da54
push 0x780
push str.._tun.c
push str.Assertion_failed_at__s:_d
push 0x10
call fcn.00408640
add esp, 0x10
mov ecx, dword [esi + 0x10c]
test ecx, ecx
je 0x44da71
cmp dword [esi + 0x108], 0
jl 0x44da71
mov eax, dword [esi + 0x104]
add eax, ecx
jmp 0x44da73
xor eax, eax
lea edx, [esi + 0xb8]
push edx
lea edi, [esi + 0xcc]
push edi
push ebx
push eax
mov eax, dword [esi + 0xb0]
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x44db28
mov ecx, dword [esi + 0xc8]
push ecx
call dword [sym.imp.KERNEL32.dll_SetEvent]
test eax, eax
jne 0x44dad0
push 0x10
call fcn.00408960
add esp, 4
test eax, eax
je 0x44dad0
push 0x78d
push str.._tun.c
push str.Assertion_failed_at__s:_d
push 0x10
call fcn.00408640
add esp, 0x10
cmp dword [0x5426d0], 9
mov dword [esi + 0xb4], 2
mov dword [esi + 0xd4], 0
jb 0x44dc1b
push 0x46000089
call fcn.00408960
add esp, 4
test eax, eax
je 0x44dc1b
mov edx, dword [edi]
push edx
push ebx
push str.WIN32_I_O:_TAP_Read_immediate_return___d__d_
push 0x46000089
call fcn.00408640
mov eax, dword [esi + 0xb4]
add esp, 0x10
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
cmp edi, 0x3e5
jne 0x44db89
cmp dword [0x5426d0], 9
mov dword [esi + 0xb4], 1
mov dword [esi + 0xd4], eax
jb 0x44dc1b
push 0x46000089
call fcn.00408960
add esp, 4
test eax, eax
je 0x44dc1b
push ebx
push str.WIN32_I_O:_TAP_Read_queued___d_
push 0x46000089
call fcn.00408640
mov eax, dword [esi + 0xb4]
add esp, 0xc
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0xc8]
push eax
mov dword [esp + 0x10], 0
call dword [sym.imp.KERNEL32.dll_SetEvent]
test eax, eax
jne 0x44dbc9
push 0x10
call fcn.00408960
add esp, 4
test eax, eax
je 0x44dbc9
push 0x7a3
push str.._tun.c
push str.Assertion_failed_at__s:_d
push 0x10
call fcn.00408640
add esp, 0x10
cmp dword [0x5426d0], 9
mov dword [esi + 0xb4], 2
mov dword [esi + 0xd4], edi
jb 0x44dc12
push 0x46000089
call fcn.00408960
add esp, 4
test eax, eax
je 0x44dc12
lea ecx, [esp + 0xc]
xor edx, edx
call fcn.00408fd0
push eax
push ebx
push str.WIN32_I_O:_TAP_Read_error___d__:__s
push 0x46000089
call fcn.00408640
add esp, 0x10
lea ecx, [esp + 0xc]
call fcn.00438d30
mov eax, dword [esi + 0xb4]
pop edi
pop ebx
mov esp, ebp
pop ebp
ret