Function at 0x40e1e0
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push 0xffffffffffffffff
push 0x46ec09
mov eax, dword fs:[0]
push eax
sub esp, 0xd4
mov eax, dword [0x48b998]
xor eax, esp
mov dword [esp + 0xd0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x48b998]
xor eax, esp
push eax
lea eax, [esp + 0xe8]
mov dword fs:[0], eax
xor ebp, ebp
mov dword [esp + 0x14], ebp
mov dword [esp + 0xf0], 3
call fcn.0040fe50
mov eax, dword [eax + 4]
cmp eax, ebp
lea ebx, [ebp + 7]
jg 0x40e371
lea eax, [esp + 0xf8]
push eax
mov edx, str.UnZipFile_begin__SrtFileFullName
lea esi, [esp + 0x40]
call fcn.0040d250
push str._DesFullPath
push eax
lea ecx, [esp + 0x2c]
push ecx
mov byte [esp + 0x100], 4
call fcn.0040b830
lea edx, [esp + 0x124]
push edx
mov ecx, eax
lea esi, [esp + 0x88]
mov byte [esp + 0x104], 5
call fcn.0040b900
push 0x47c5f0
push eax
lea eax, [esp + 0x74]
push eax
mov byte [esp + 0x110], 6
call fcn.0040b830
add esp, 4
mov byte [esp + 0x10c], bl
lea ecx, [esp + 0x14c]
mov esi, esp
mov dword [esp + 0x34], esp
push ecx
mov ecx, eax
call fcn.0040b900
add esp, 4
mov byte [esp + 0x10c], 8
call fcn.0040fe50
mov esi, eax
mov byte [esp + 0x10c], bl
call fcn.0040fbf0
mov edi, 8
cmp dword [esp + 0x70], edi
jb 0x40e2f8
mov edx, dword [esp + 0x5c]
push edx
call fcn.0042bced
add esp, 4
xor eax, eax
mov dword [esp + 0x70], ebx
mov dword [esp + 0x6c], ebp
mov word [esp + 0x5c], ax
cmp dword [esp + 0x8c], edi
jb 0x40e31d
mov ecx, dword [esp + 0x78]
push ecx
call fcn.0042bced
add esp, 4
xor edx, edx
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x88], ebp
mov word [esp + 0x78], dx
cmp dword [esp + 0x38], edi
jb 0x40e345
mov eax, dword [esp + 0x24]
push eax
call fcn.0042bced
add esp, 4
xor ecx, ecx
mov byte [esp + 0xf0], 3
mov dword [esp + 0x38], ebx
mov dword [esp + 0x34], ebp
mov word [esp + 0x24], cx
cmp dword [esp + 0x54], edi
jb 0x40e376
mov edx, dword [esp + 0x40]
push edx
call fcn.0042bced
add esp, 4
jmp 0x40e376
mov edi, 8
cmp dword [esp + 0x10c], ebp
jbe 0x40e874
cmp dword [esp + 0x128], ebp
jbe 0x40e874
mov eax, dword [esp + 0xfc]
cmp dword [esp + 0x110], edi
jae 0x40e3a7
lea eax, [esp + 0xfc]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x40e874
test al, 0x10
jne 0x40e874
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push 0xffffffffffffffff
push ebp
lea edx, [esp + 0x11c]
xor eax, eax
mov dword [ecx + 0x18], ebx
mov dword [ecx + 0x14], ebp
push edx
mov word [ecx + 4], ax
call fcn.004039d0
lea esi, [esp + 0xe4]
call fcn.004021a0
add esp, 0x1c
lea eax, [esp + 0x18]
push eax
lea edi, [esp + 0x118]
mov byte [esp + 0xf4], 0xa
call fcn.00409360
call fcn.00409f30
cmp word [eax], 0x5c
je 0x40e41c
call fcn.004093c0
sub esp, 0x1c
cmp byte [esp + 0x188], 0
mov ecx, esp
mov dword [esp + 0x34], esp
je 0x40e457
lea edx, [esp + 0x14c]
push edx
call fcn.00402d10
lea ecx, [esp + 0x3c]
call fcn.00402390
add esp, 0x1c
mov byte [esp + 0xf0], 0xb
mov ebx, 1
jmp 0x40e480
lea eax, [esp + 0x14c]
push eax
call fcn.00402d10
lea esi, [esp + 0x58]
call fcn.004021a0
add esp, 0x1c
mov dword [esp + 0xf0], 0xc
mov ebx, 2
push 0xffffffffffffffff
push ebp
mov edi, 0xf
push eax
lea ecx, [esp + 0x9c]
mov dword [esp + 0x20], ebx
mov dword [esp + 0xb4], edi
mov dword [esp + 0xb0], ebp
mov byte [esp + 0xa0], 0
call fcn.004035e0
mov dword [esp + 0xf0], 0xd
test bl, 2
je 0x40e4cf
and ebx, 0xfffffffd
lea ecx, [esp + 0x3c]
mov dword [esp + 0x14], ebx
call fcn.00402790
mov byte [esp + 0xf0], 0xf
test bl, 1
je 0x40e4ec
and ebx, 0xfffffffe
lea ecx, [esp + 0x20]
mov dword [esp + 0x14], ebx
call fcn.00402790
sub esp, 0x1c
cmp byte [esp + 0x188], 0
mov ecx, esp
mov dword [esp + 0x34], esp
je 0x40e525
lea edx, [esp + 0x16c]
push edx
call fcn.00402d10
lea ecx, [esp + 0x74]
call fcn.00402390
add esp, 0x1c
mov byte [esp + 0xf0], 0x10
or ebx, 4
jmp 0x40e54f
lea eax, [esp + 0x16c]
push eax
call fcn.00402d10
lea esi, [esp + 0x90]
call fcn.004021a0
add esp, 0x1c
mov dword [esp + 0xf0], 0x11
or ebx, 8
push 0xffffffffffffffff
push ebp
push eax
lea ecx, [esp + 0xb8]
mov dword [esp + 0x20], ebx
mov dword [esp + 0xd0], edi
mov dword [esp + 0xcc], ebp
mov byte [esp + 0xbc], 0
call fcn.004035e0
mov dword [esp + 0xf0], 0x12
test bl, 8
je 0x40e595
lea ecx, [esp + 0x74]
and ebx, 0xfffffff7
call fcn.00402790
mov byte [esp + 0xf0], 0x14
test bl, 4
je 0x40e5ab
lea ecx, [esp + 0x58]
call fcn.00402790
cmp dword [esp + 0x110], 8
mov eax, dword [esp + 0xfc]
jae 0x40e5c3
lea eax, [esp + 0xfc]
call fcn.00414c00
mov esi, eax
cmp esi, ebp
jne 0x40e664
call fcn.0040fe50
cmp dword [eax + 4], ebp
jg 0x40e60b
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push str.unzOpenW
call fcn.00402cd0
mov byte [esp + 0x10c], 0x15
call fcn.0040fe50
mov esi, eax
mov byte [esp + 0x10c], 0x14
call fcn.0040fbf0
lea ecx, [esp + 0xac]
call fcn.00402790
lea ecx, [esp + 0x90]
call fcn.00402790
lea ecx, [esp + 0xc8]
call fcn.00402790
lea ecx, [esp + 0xf8]
call fcn.00402d40
lea ecx, [esp + 0x114]
call fcn.00402d40
lea ecx, [esp + 0x130]
call fcn.00402d40
lea ecx, [esp + 0x150]
call fcn.00402d40
jmp 0x40e967
cmp dword [esp + 0xa4], ebp
ja 0x40e69a
cmp dword [esp + 0x12c], 8
mov eax, dword [esp + 0x118]
jae 0x40e685
lea eax, [esp + 0x118]
mov ecx, dword [esp + 0x16c]
push ecx
push eax
mov ecx, esi
call fcn.0040e9a0
add esp, 8
jmp 0x40e70f
cmp dword [esp + 0xc0], ebp
jne 0x40e6a7
xor ecx, ecx
jmp 0x40e6bf
cmp dword [esp + 0xc4], 0x10
mov ecx, dword [esp + 0xb0]
jae 0x40e6bf
lea ecx, [esp + 0xb0]
cmp dword [esp + 0x12c], 8
mov eax, dword [esp + 0x118]
jae 0x40e6d7
lea eax, [esp + 0x118]
cmp dword [esp + 0xa8], 0x10
mov edi, dword [esp + 0x94]
jae 0x40e6ef
lea edi, [esp + 0x94]
mov edx, dword [esp + 0x16c]
push edx
push eax
mov al, byte [esp + 0x154]
xor edx, edx
test al, al
sete dl
push edx
call fcn.0040ebc0
add esp, 0xc
test eax, eax
mov eax, esi
sete bl
call fcn.00415060
call fcn.0040fe50
test bl, bl
je 0x40e795
cmp dword [eax + 4], ebp
jg 0x40e819
lea eax, [esp + 0xf8]
push eax
mov edx, 0x47c6cc
lea esi, [esp + 0x24]
call fcn.0040d250
push 0x47c6b8
push eax
lea ecx, [esp + 0x48]
push ecx
mov byte [esp + 0x100], 0x16
call fcn.0040b830
sub esp, 0xc
mov byte [esp + 0x10c], 0x17
lea edx, [esp + 0x14c]
mov esi, esp
mov dword [esp + 0x34], esp
push edx
mov ecx, eax
call fcn.0040b900
add esp, 4
mov byte [esp + 0x10c], 0x18
call fcn.0040fe50
mov byte [esp + 0x10c], 0x17
jmp 0x40e800
cmp dword [eax + 4], ebp
jg 0x40e819
lea eax, [esp + 0xf8]
push eax
mov edx, str.UnZipFile
lea esi, [esp + 0x24]
call fcn.0040d250
push 0x47c6b8
push eax
lea ecx, [esp + 0x48]
push ecx
mov byte [esp + 0x100], 0x19
call fcn.0040b830
sub esp, 0xc
mov byte [esp + 0x10c], 0x1a
lea edx, [esp + 0x14c]
mov esi, esp
mov dword [esp + 0x34], esp
push edx
mov ecx, eax
call fcn.0040b900
add esp, 4
mov byte [esp + 0x10c], 0x1b
call fcn.0040fe50
mov byte [esp + 0x10c], 0x1a
mov esi, eax
call fcn.0040fbf0
lea ecx, [esp + 0x3c]
call fcn.00402d40
lea ecx, [esp + 0x20]
call fcn.00402d40
lea ecx, [esp + 0xac]
call fcn.00402790
lea ecx, [esp + 0x90]
call fcn.00402790
lea ecx, [esp + 0xc8]
call fcn.00402790
lea ecx, [esp + 0xf8]
call fcn.00402d40
lea ecx, [esp + 0x114]
call fcn.00402d40
lea ecx, [esp + 0x130]
call fcn.00402d40
lea ecx, [esp + 0x150]
call fcn.00402d40
mov al, bl
jmp 0x40e969
call fcn.0040fe50
cmp dword [eax + 4], ebp
jg 0x40e8bb
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push 0xe
xor eax, eax
mov dword [ecx + 0x18], ebx
mov dword [ecx + 0x14], ebp
push 0x47c67c
mov word [ecx + 4], ax
call fcn.00403ad0
mov byte [esp + 0x10c], 9
call fcn.0040fe50
mov esi, eax
mov byte [esp + 0x10c], 3
call fcn.0040fbf0
cmp dword [esp + 0x110], edi
jb 0x40e8d4
mov ecx, dword [esp + 0xfc]
push ecx
call fcn.0042bced
add esp, 4
xor edx, edx
mov dword [esp + 0x110], ebx
mov dword [esp + 0x10c], ebp
mov word [esp + 0xfc], dx
cmp dword [esp + 0x12c], edi
jb 0x40e905
mov eax, dword [esp + 0x118]
push eax
call fcn.0042bced
add esp, 4
xor ecx, ecx
mov dword [esp + 0x12c], ebx
mov dword [esp + 0x128], ebp
mov word [esp + 0x118], cx
cmp dword [esp + 0x148], edi
jb 0x40e936
mov edx, dword [esp + 0x134]
push edx
call fcn.0042bced
add esp, 4
xor eax, eax
mov dword [esp + 0x148], ebx
mov dword [esp + 0x144], ebp
mov word [esp + 0x134], ax
cmp dword [esp + 0x168], edi
jb 0x40e967
mov ecx, dword [esp + 0x154]
push ecx
call fcn.0042bced
add esp, 4
xor al, al
mov ecx, dword [esp + 0xe8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xd0]
xor ecx, esp
call fcn.0044b1f7
add esp, 0xe0
ret