Function at 0x412553
Capabilities:
Check if file exists
Create directory
Get file attributes

Disassembly:
push 0x120
mov eax, 0x446955
call fcn.00429d79
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x124], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x128], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x118], eax
mov eax, dword [ebp + 0x20]
xor ebx, ebx
mov dword [ebp - 0x11c], ecx
mov dword [ebp - 0x114], esi
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x10c], ebx
lea edx, [ebp - 0x10c]
push edx
push ebx
push ebx
mov dword [ebp - 4], ebx
mov eax, dword [esi]
mov ecx, dword [eax]
push ebx
push eax
call dword [ecx + 0x2c]
cmp eax, ebx
jge 0x4127a4
push 0x24
push str.Cannot_unzip_the_downloaded_archive.
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x34], 0xf
mov dword [ebp - 0x38], ebx
mov byte [ebp - 0x48], bl
call fcn.0040366e
mov byte [ebp - 4], 1
lea eax, [ebp - 0x48]
lea esi, [ebp - 0xc0]
call fcn.00416a20
push 0x455268
mov eax, esi
push eax
call fcn.0042a64b
cmp dword [ebp - 0x104], 2
jne 0x41263c
push dword [ebp + 0x28]
mov ebx, dword [ebp - 0x120]
push dword [ebp + 0x24]
mov ecx, dword [ebp - 0x124]
push dword [ebp + 0x1c]
lea edx, [ebp - 0x108]
push dword [ebp - 0x118]
push dword [ebp - 0x128]
push esi
push dword [ebp - 0x11c]
call fcn.00412968
xor ebx, ebx
cmp dword [ebp - 0x104], 1
jne 0x4127a4
push dword [ebp - 0x12c]
lea esi, [ebp - 0x64]
call fcn.00409c54
mov edi, 0x44c80c
push edi
mov eax, esi
push eax
mov byte [ebp - 4], 2
call fcn.00410ec1
push dword [ebp - 0x108]
mov eax, esi
push eax
call fcn.00410ec1
push dword [ebp - 0x124]
lea esi, [ebp - 0x2c]
call fcn.00409c54
push edi
mov eax, esi
push eax
mov byte [ebp - 4], 3
call fcn.00410ec1
push dword [ebp - 0x108]
mov eax, esi
push eax
call fcn.00410ec1
cmp dword [ebp - 0x18], 8
mov eax, dword [ebp - 0x2c]
jae 0x4126ab
mov eax, esi
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x4126cb
cmp dword [ebp - 0x18], 8
mov eax, dword [ebp - 0x2c]
jae 0x4126c3
lea eax, [ebp - 0x2c]
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
push 0xf
pop esi
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x38], ebx
mov byte [ebp - 0x48], bl
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 4
call fcn.00407f46
mov edi, dword [ebp - 0x128]
pop ecx
push ebx
lea ecx, [ebp - 0x48]
call fcn.00404461
mov edi, eax
mov dword [ebp - 0x110], ebx
mov eax, dword [ebp - 0x114]
lea edx, [ebp - 0x110]
push edx
push ebx
push ebx
push ebx
mov byte [ebp - 4], 5
mov eax, dword [eax]
mov ecx, dword [eax]
push ebx
push dword [ebp - 0x108]
push eax
call dword [ecx + 0x18]
cmp eax, ebx
jl 0x4127de
cmp dword [ebp - 0x110], ebx
je 0x4127de
push dword [ebp + 0x28]
mov ecx, dword [ebp - 0x11c]
push dword [ebp + 0x24]
lea eax, [ebp - 0x2c]
push dword [ebp - 0x120]
push dword [ebp + 0x1c]
push dword [ebp - 0x118]
push edi
push eax
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x110]
push eax
call fcn.00412553
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x110]
cmp eax, ebx
je 0x41277a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push ebx
push 1
lea ecx, [ebp - 0x48]
call fcn.00403a1b
push ebx
push 1
lea ecx, [ebp - 0x2c]
call fcn.00409b07
push ebx
push 1
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], bl
call fcn.00409b07
mov esi, dword [ebp - 0x114]
mov eax, dword [ebp - 0x10c]
mov ecx, dword [eax]
push ebx
lea edx, [ebp - 0x108]
push edx
push 1
push eax
call dword [ecx + 0xc]
test eax, eax
je 0x4125fe
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x10c]
cmp eax, ebx
je 0x4127d6
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
call fcn.00429dfc
ret 0x24
push 0x24
push str.Cannot_unzip_the_downloaded_archive.
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x6c], esi
mov dword [ebp - 0x70], ebx
mov byte [ebp - 0x80], bl
call fcn.0040366e
mov byte [ebp - 4], 6
lea eax, [ebp - 0x80]
jmp 0x4125e6