Function at 0x41506b
Capabilities:
Get file size
Read file on windows

Disassembly:
push 0x3cc
mov eax, 0x4770a3
call fcn.0045af9c
mov esi, ecx
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x3d8], ebx
call fcn.004154a8
call fcn.00417a9e
push eax
lea ecx, [ebp - 0x94]
call fcn.0040e107
and dword [ebp - 4], 0
call fcn.00417aaa
mov ecx, eax
call fcn.0040e92d
test al, al
je 0x41519d
push ebx
lea ecx, [ebp - 0x94]
call fcn.0040e399
xor ebx, ebx
lea ecx, [ebp - 0x94]
push ebx
push 0x80
push 3
push ebx
push 1
push SysReAllocString
call fcn.0040e338
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x3d0], eax
push ebx
cmp eax, 0xffffffff
jne 0x4150f9
push str.Error_opening_file
jmp 0x415229
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov edi, eax
test edi, edi
jne 0x415111
push ebx
push str.File_is_empty
jmp 0x415229
cmp edi, 0x400000
jbe 0x415124
push ebx
push str.File_too_large
jmp 0x415229
push edi
mov dword [ebp - 0x3d4], ebx
call fcn.0045acd3
pop ecx
mov ebx, eax
lea eax, [ebp - 0x3d4]
push 0
push eax
push edi
push ebx
push dword [ebp - 0x3d0]
mov dword [ebp - 0x3d8], ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
push dword [ebp - 0x3d0]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x3d4], edi
je 0x41517e
push ebx
call fcn.0045a7ee
pop ecx
mov ecx, esi
call fcn.004154a8
push 0
push str.Could_not_read_file
jmp 0x415229
push dword [ebp + 0xc]
mov ecx, esi
push edi
push ebx
call fcn.0041535b
push dword [ebp - 0x3d8]
mov bl, al
call fcn.0045a7ee
pop ecx
jmp 0x415346
call fcn.00417aaa
push eax
lea ecx, [ebp - 0x94]
call fcn.0040e37c
call fcn.00417dc8
test al, al
je 0x4151c0
call fcn.00417ab0
mov edi, eax
jmp 0x41521f
call fcn.00417ab6
push eax
lea ecx, [ebp - 0x19c]
call fcn.0040e107
lea ecx, [ebp - 0x19c]
mov byte [ebp - 4], 1
call fcn.0040e338
push eax
call fcn.0041c4f4
pop ecx
mov ebx, eax
lea ecx, [ebp - 0x94]
push ebx
call fcn.0040e338
push eax
call fcn.0043262c
mov edi, eax
pop ecx
pop ecx
test ebx, ebx
je 0x41520a
push ebx
call fcn.0045a7ee
pop ecx
lea ecx, [ebp - 0x19c]
mov byte [ebp - 4], 0
call fcn.0040e22e
mov ebx, dword [ebp - 0x3d8]
test edi, edi
jne 0x415237
push edi
push str.Error_opening_zip_file
mov ecx, esi
call fcn.004154d0
mov bl, al
jmp 0x415346
and dword [ebp - 0x3d4], 0
lea ecx, [ebp - 0x118]
push 0xffffffffffffffff
push ebx
call fcn.0040e12c
push 0x47e8f4
push 0x47af08
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 2
call fcn.0040eafa
lea eax, [ebp - 0x3cc]
push eax
lea eax, [ebp - 0x3d4]
push eax
push 1
lea ecx, [ebp - 0x118]
call fcn.0040e338
push eax
push edi
call fcn.00432003
add esp, 0x14
test eax, eax
je 0x415297
push 0
push 0x47e8f8
jmp 0x415305
mov ebx, dword [ebp - 0x1a0]
test ebx, ebx
jne 0x4152a9
push ebx
push str.File_is_empty
jmp 0x415305
cmp ebx, 0x400000
jbe 0x4152ba
push 0
push str.File_too_large
jmp 0x415305
push ebx
call fcn.0045acd3
push ebx
push eax
push dword [ebp - 0x3d4]
mov dword [ebp - 0x3d0], eax
push edi
call fcn.00432a66
add esp, 0x14
test eax, eax
je 0x415310
cmp eax, 0x600
je 0x415310
push dword [ebp - 0x3d0]
call fcn.0045a7ee
pop ecx
call fcn.00417dc8
test al, al
jne 0x4152fe
push edi
call fcn.00431de2
pop ecx
push 0
push str.Could_not_unzip_file
mov ecx, esi
call fcn.004154d0
mov bl, al
jmp 0x41533b
call fcn.00417dc8
test al, al
jne 0x415320
push edi
call fcn.00431de2
pop ecx
push dword [ebp + 0xc]
mov edi, dword [ebp - 0x3d0]
mov ecx, esi
push ebx
push edi
call fcn.0041535b
push edi
mov bl, al
call fcn.0045a7ee
pop ecx
lea ecx, [ebp - 0x118]
call fcn.0040e22e
lea ecx, [ebp - 0x94]
call fcn.0040e22e
mov al, bl
call fcn.0045af57
ret 8