Function at 0x1e083ad0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push ecx
push ebx
push esi
mov esi, dword [ebp + 8]
mov ebx, dword [esi + 8]
push edi
xor edi, edi
test ebx, ebx
jge 0x1e083af2
call fcn.1e0837e0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.1e050890
test eax, eax
jne 0x1e083b11
push eax
mov eax, dword [sym.python27.dll_PyExc_IOError]
push eax
call sym.python27.dll_PyErr_SetFromErrnoWithFilenameObject
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x2015
call sym.python27.dll_PyObject_Malloc
xor ebx, ebx
add esp, 4
cmp eax, ebx
jne 0x1e083b2b
call sym.python27.dll_PyErr_NoMemory
jmp 0x1e083b4f
mov dword [eax + 8], 0x2000
mov dword [eax + 4], sym.python27.dll_PyString_Type
mov dword [eax], 1
mov dword [eax + 0xc], 0xffffffff
mov dword [eax + 0x10], ebx
mov byte [eax + 0x2014], bl
mov dword [esp + 0xc], eax
cmp eax, ebx
je 0x1e083c65
push ebx
mov ebx, esi
call fcn.1e083a40
mov esi, eax
add esp, 4
cmp esi, 0x7fffffff
ja 0x1e083c3c
test esi, esi
jbe 0x1e083c3c
mov ecx, dword [esp + 0xc]
cmp dword [ecx + 8], esi
jge 0x1e083b9b
lea edx, [esp + 0xc]
push esi
push edx
call sym.python27.dll__PyString_Resize
add esp, 8
test eax, eax
jl 0x1e083c65
call sym.python27.dll_PyEval_SaveThread
mov ebx, eax
call dword [sym.imp.MSVCR90.dll__errno]
sub esi, edi
cmp esi, 0x7fffffff
mov dword [eax], 0
jle 0x1e083bbd
mov esi, 0x7fffffff
mov eax, dword [esp + 0xc]
mov edx, dword [ebp + 8]
lea ecx, [eax + edi + 0x14]
mov eax, dword [edx + 8]
push esi
push ecx
push eax
call dword [sym.imp.MSVCR90.dll__read]
add esp, 0xc
push ebx
mov esi, eax
call sym.python27.dll_PyEval_RestoreThread
add esp, 4
test esi, esi
je 0x1e083c79
jge 0x1e083c20
mov esi, dword [sym.imp.MSVCR90.dll__errno]
call esi
cmp dword [eax], 4
jne 0x1e083c6e
call sym.python27.dll_PyErr_CheckSignals
test eax, eax
je 0x1e083c22
mov eax, dword [esp + 0xc]
add dword [eax], 0xffffffff
jne 0x1e083c65
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 0x18]
push eax
call edx
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
add edi, esi
mov ebx, dword [ebp + 8]
push edi
call fcn.1e083a40
mov esi, eax
add esp, 4
cmp esi, 0x7fffffff
jbe 0x1e083b74
mov ecx, dword [sym.python27.dll_PyExc_OverflowError]
push str.unbounded_read_returned_more_bytes_than_a_Python_string_can_hold
push ecx
call sym.python27.dll_PyErr_SetString
mov eax, dword [esp + 0x14]
add esp, 8
add dword [eax], 0xffffffff
jne 0x1e083c65
mov edx, dword [eax + 4]
push eax
mov eax, dword [edx + 0x18]
call eax
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call esi
cmp dword [eax], 0xb
jne 0x1e083cc6
test edi, edi
jle 0x1e083c9f
mov eax, dword [esp + 0xc]
cmp dword [eax + 8], edi
jle 0x1e083c94
lea ecx, [esp + 0xc]
push edi
push ecx
call sym.python27.dll__PyString_Resize
add esp, 8
test eax, eax
jl 0x1e083c65
mov eax, dword [esp + 0xc]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0xc]
add dword [eax], 0xffffffff
jne 0x1e083cb4
mov edx, dword [eax + 4]
push eax
mov eax, dword [edx + 0x18]
call eax
add esp, 4
inc dword [sym.python27.dll__Py_NoneStruct]
mov eax, sym.python27.dll__Py_NoneStruct
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0xc]
add dword [eax], 0xffffffff
jne 0x1e083cdb
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 0x18]
push eax
call edx
add esp, 4
mov eax, dword [sym.python27.dll_PyExc_IOError]
push eax
call sym.python27.dll_PyErr_SetFromErrno
add esp, 4
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret