Function at 0x1e0cf310
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x34
push ebx
push esi
push edi
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x58]
push eax
push str.slllllll
push dword [ebp + 0xc]
xor edi, edi
mov dword [esp + 0x4c], edi
mov dword [esp + 0x48], edi
call sym.python31.dll_PyArg_ParseTuple
add esp, 0x28
test eax, eax
je 0x1e0cf512
push 0x1e18f280
push dword [ebp + 8]
call dword [sym.imp.MSVCR90.dll_fopen]
mov ebx, eax
pop ecx
pop ecx
cmp ebx, edi
jne 0x1e0cf397
push dword [ebp + 8]
push str.zipimport:_can_not_open_file__s
push dword [sym.python31.dll_PyExc_IOError]
call sym.python31.dll_PyErr_Format
add esp, 0xc
jmp 0x1e0cf512
mov esi, dword [sym.imp.MSVCR90.dll_fseek]
push edi
push dword [esp + 0x18]
push ebx
call esi
add esp, 0xc
push ebx
call sym.python31.dll_PyMarshal_ReadLongFromFile
pop ecx
cmp eax, 0x4034b50
je 0x1e0cf3d8
push dword [ebp + 8]
push str.bad_local_file_header_in__s
push dword [0x1e1f9584]
call sym.python31.dll_PyErr_Format
add esp, 0xc
push ebx
call dword [sym.imp.MSVCR90.dll_fclose]
jmp 0x1e0cf511
mov eax, dword [esp + 0x14]
push edi
add eax, 0x1a
push eax
push ebx
call esi
add esp, 0xc
push ebx
call sym.python31.dll_PyMarshal_ReadShortFromFile
pop ecx
push ebx
mov edi, eax
call sym.python31.dll_PyMarshal_ReadShortFromFile
lea eax, [edi + eax + 0x1e]
add dword [esp + 0x18], eax
cmp dword [esp + 0x1c], 0
mov eax, dword [esp + 0x14]
pop ecx
je 0x1e0cf40b
inc eax
test eax, eax
jne 0x1e0cf410
inc eax
push eax
push 0
call sym.python31.dll_PyBytes_FromStringAndSize
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x1e0cf3cc
push edi
call sym.python31.dll_PyBytes_AsString
pop ecx
push 0
push dword [esp + 0x18]
mov dword [esp + 0x24], eax
push ebx
call esi
mov esi, dword [esp + 0x28]
add esp, 0xc
mov dword [esp + 0x28], eax
test eax, eax
jne 0x1e0cf458
push ebx
push dword [esp + 0x14]
push 1
push esi
call dword [sym.imp.MSVCR90.dll_fread]
add esp, 0x10
mov dword [esp + 0x20], eax
push ebx
call dword [sym.imp.MSVCR90.dll_fclose]
xor ebx, ebx
pop ecx
cmp dword [esp + 0x28], ebx
jne 0x1e0cf4f4
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x20], eax
jne 0x1e0cf4f4
cmp dword [esp + 0x18], ebx
je 0x1e0cf489
mov byte [esi + eax], 0x5a
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
mov byte [esi + eax], bl
cmp dword [esp + 0x18], ebx
jne 0x1e0cf4b0
push dword [esp + 0x10]
push esi
call sym.python31.dll_PyBytes_FromStringAndSize
dec dword [edi]
pop ecx
pop ecx
mov esi, eax
jne 0x1e0cf4ac
mov eax, dword [edi + 4]
push edi
call dword [eax + 0x18]
pop ecx
mov eax, esi
jmp 0x1e0cf514
call fcn.1e0ba439
cmp eax, ebx
jne 0x1e0cf4cd
push str.cant_decompress_data__zlib_not_available
push dword [0x1e1f9584]
call sym.python31.dll_PyErr_SetString
pop ecx
pop ecx
jmp 0x1e0cf4e2
push 0xfffffffffffffff1
push edi
push 0x1e0e1ec8
push eax
call sym.python31.dll_PyObject_CallFunction
add esp, 0x10
mov dword [esp + 0x24], eax
dec dword [edi]
jne 0x1e0cf4ee
mov eax, dword [edi + 4]
push edi
call dword [eax + 0x18]
pop ecx
mov eax, dword [esp + 0x24]
jmp 0x1e0cf514
push str.zipimport:_cant_read_data
push dword [sym.python31.dll_PyExc_IOError]
call sym.python31.dll_PyErr_SetString
dec dword [edi]
pop ecx
pop ecx
jne 0x1e0cf512
mov eax, dword [edi + 4]
push edi
call dword [eax + 0x18]
pop ecx
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret