Function at 0x404790
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x40c4
call fcn.00509ca0
mov eax, dword [0x58c8c0]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
mov edi, dword [ebp + 8]
push 0x38
lea eax, [ebp - 0x40bc]
push 0
push eax
mov esi, ecx
call fcn.00508fc0
add esp, 0xc
push edi
mov ecx, esi
call fcn.00404690
lea esp, [esp]
mov al, byte [edi]
cmp al, 0x5c
je 0x4047da
cmp al, 0x2f
jne 0x4047dd
inc edi
jmp 0x4047d0
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4047e2
sub eax, edx
cmp byte [eax + edi - 1], 0x2f
je 0x404b47
mov eax, edi
lea edx, [eax + 1]
jmp 0x404800
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x404800
sub eax, edx
cmp byte [eax + edi - 1], 0x5c
je 0x404b47
mov edx, dword [esi]
push 9
push 8
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x40bc]
push ecx
push edi
push edx
call fcn.0041a010
add esp, 0x28
mov dword [esi + 0xc], eax
test eax, eax
je 0x4048b7
lea eax, [ebp - 0x40c4]
push eax
call fcn.00509fac
lea ecx, [ebp - 0x40c4]
push ecx
call fcn.00509f85
push eax
push str._Y__m__d__H:_M:_S
lea edx, [ebp - 0x84]
push 0x80
push edx
call fcn.0050aabd
push 0x5c
push str.sourcedatazip.cpp
call fcn.00509cd0
add esp, 0x20
test eax, eax
jne 0x404885
mov eax, str.sourcedatazip.cpp
jmp 0x404886
inc eax
push edi
push 0x2e
push str.datazip::putfileinzip
push eax
lea eax, [ebp - 0x84]
push eax
push str._s__s__s__d:_err_in_opening__s_in_zipfile_n
call fcn.00509679
add esp, 0x18
pop edi
xor al, al
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005089e3
mov esp, ebp
pop ebp
ret 4
push ebx
push 0x539f20
push edi
call fcn.00509662
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x404948
lea ecx, [ebp - 0x40c4]
push ecx
call fcn.00509fac
lea edx, [ebp - 0x40c4]
push edx
call fcn.00509f85
push eax
push str._Y__m__d__H:_M:_S
lea eax, [ebp - 0x84]
push 0x80
push eax
call fcn.0050aabd
push 0x5c
push str.sourcedatazip.cpp
call fcn.00509cd0
add esp, 0x20
test eax, eax
jne 0x404915
mov eax, str.sourcedatazip.cpp
jmp 0x404916
inc eax
push edi
push 0x32
push str.datazip::putfileinzip
push eax
lea ecx, [ebp - 0x84]
push ecx
push str._s__s__s__d:_error_in_opening__s_n
call fcn.00509679
add esp, 0x18
pop ebx
pop edi
xor al, al
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005089e3
mov esp, ebp
pop ebp
ret 4
cmp dword [esi + 0xc], 0
jne 0x404a20
mov edx, dword [esi + 0x10]
push ebx
push edx
lea eax, [ebp - 0x4084]
push 1
push eax
mov dword [esi + 0xc], 0
call fcn.00509980
mov edi, eax
add esp, 0x10
cmp edi, dword [esi + 0x10]
jge 0x4049f4
push ebx
call fcn.0050aadc
add esp, 4
test eax, eax
jne 0x4049f4
lea ecx, [ebp - 0x40c4]
push ecx
call fcn.00509fac
lea edx, [ebp - 0x40c4]
push edx
call fcn.00509f85
push eax
push str._Y__m__d__H:_M:_S
lea eax, [ebp - 0x84]
push 0x80
push eax
call fcn.0050aabd
push 0x5c
push str.sourcedatazip.cpp
call fcn.00509cd0
add esp, 0x20
test eax, eax
jne 0x4049cc
mov eax, str.sourcedatazip.cpp
jmp 0x4049cd
inc eax
mov ecx, dword [esi + 8]
push ecx
push 0x3b
push str.datazip::putfileinzip
push eax
lea edx, [ebp - 0x84]
push edx
push str._s__s__s__d:_error_in_reading__s_n
call fcn.00509679
add esp, 0x18
mov dword [esi + 0xc], 0xffffffff
test edi, edi
jle 0x404a12
mov ecx, dword [esi]
push edi
lea eax, [ebp - 0x4084]
push eax
push ecx
call fcn.00418770
add esp, 0xc
mov dword [esi + 0xc], eax
test eax, eax
js 0x404a4f
cmp dword [esi + 0xc], 0
jne 0x404a20
test edi, edi
jg 0x404952
push ebx
call fcn.0050917b
add esp, 4
cmp dword [esi + 0xc], 0
jge 0x404ab6
pop ebx
pop edi
mov dword [esi + 0xc], 0xffffffff
mov al, 1
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005089e3
mov esp, ebp
pop ebp
ret 4
lea edx, [ebp - 0x40c4]
push edx
call fcn.00509fac
lea eax, [ebp - 0x40c4]
push eax
call fcn.00509f85
push eax
push str._Y__m__d__H:_M:_S
lea ecx, [ebp - 0x84]
push 0x80
push ecx
call fcn.0050aabd
push 0x5c
push str.sourcedatazip.cpp
call fcn.00509cd0
add esp, 0x20
test eax, eax
jne 0x404a98
mov eax, str.sourcedatazip.cpp
jmp 0x404a99
inc eax
mov edx, dword [esi + 8]
push edx
push 0x41
push str.datazip::putfileinzip
push eax
lea eax, [ebp - 0x84]
push eax
push str._s__s__s__d:_err_in_writing__s_in_the_zipfile_n
jmp 0x40492b
mov ecx, dword [esi]
push ecx
call fcn.00419860
add esp, 4
mov dword [esi + 0xc], eax
test eax, eax
je 0x404b32
lea edx, [ebp - 0x40c4]
push edx
call fcn.00509fac
lea eax, [ebp - 0x40c4]
push eax
call fcn.00509f85
push eax
push str._Y__m__d__H:_M:_S
lea ecx, [ebp - 0x84]
push 0x80
push ecx
call fcn.0050aabd
push 0x5c
push str.sourcedatazip.cpp
call fcn.00509cd0
add esp, 0x20
test eax, eax
jne 0x404b11
mov eax, str.sourcedatazip.cpp
jmp 0x404b12
inc eax
mov edx, dword [esi + 8]
push edx
push 0x4f
push str.datazip::putfileinzip
push eax
lea eax, [ebp - 0x84]
push eax
push str._s__s__s__d:_error_in_closing__s_in_the_zipfile__n
call fcn.00509679
add esp, 0x18
pop ebx
pop edi
mov al, 1
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005089e3
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
mov al, 1
pop esi
call fcn.005089e3
mov esp, ebp
pop ebp
ret 4