Function at 0x408620
Capabilities:
Create directory
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x41c6ec
mov eax, dword fs:[0]
push eax
push ecx
sub esp, 0x240
mov eax, dword [0x425008]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x1a0], 0
mov dword [ebp - 0x1ac], 0
mov dword [ebp - 0x1a4], 0
mov dword [ebp - 0x198], 0
mov dword [ebp - 4], 0
call fcn.00402de0
mov dword [ebp - 0x230], eax
cmp dword [ebp - 0x230], 0
je 0x4086b7
call fcn.004085a0
mov dword [ebp - 0x224], eax
mov eax, dword [ebp - 0x224]
mov dword [0x4274d4], eax
mov ecx, dword [0x4274d4]
mov dword [0x4264ec], ecx
push 0x4275e0
call fcn.004070a0
add esp, 4
mov dword [ebp - 0x22c], eax
mov edx, dword [ebp - 0x22c]
mov dword [ebp - 0x244], edx
lea ecx, [ebp - 0x194]
call fcn.00406e70
mov dword [ebp - 0x248], eax
mov byte [ebp - 4], 1
push 0x80
push 0x4264e8
push 3
push 3
push 0x80000000
push 0x4275e0
lea ecx, [ebp - 0x194]
call fcn.00406eb0
mov dword [ebp - 0x234], eax
cmp dword [ebp - 0x234], 0
jne 0x408738
mov dword [ebp - 0x23c], str.not_open_Application_file.
push 0x423d6c
lea eax, [ebp - 0x23c]
push eax
call fcn.0040d917
mov ecx, dword [ebp - 0x244]
push ecx
lea edx, [ebp - 0x194]
push edx
call fcn.00408460
add esp, 8
mov dword [ebp - 0x238], eax
cmp dword [ebp - 0x238], 0
jne 0x408778
mov dword [ebp - 0x1bc], str.not_valid_package
push 0x423d6c
lea eax, [ebp - 0x1bc]
push eax
call fcn.0040d917
push 0
lea ecx, [ebp - 0x194]
call fcn.00407080
mov dword [ebp - 0x210], eax
mov ecx, dword [ebp - 0x210]
mov dword [ebp - 0x20c], ecx
push 0
lea ecx, [ebp - 0x194]
call fcn.00406f50
mov dword [ebp - 0x1c4], eax
mov edx, dword [ebp - 0x1c4]
sub edx, dword [ebp - 0x20c]
cmp edx, 0x10
ja 0x4087d6
mov dword [ebp - 0x1cc], 0x422980
push 0x423d6c
lea eax, [ebp - 0x1cc]
push eax
call fcn.0040d917
push 4
lea ecx, [ebp - 0x1a0]
push ecx
lea ecx, [ebp - 0x194]
call fcn.00406f90
mov dword [ebp - 0x214], eax
mov edx, dword [ebp - 0x214]
mov dword [ebp - 0x1a4], edx
cmp dword [ebp - 0x1a4], 4
jne 0x408826
push 0
lea ecx, [ebp - 0x194]
call fcn.00406f50
mov dword [ebp - 0x1d4], eax
mov eax, dword [ebp - 0x1a0]
cmp eax, dword [ebp - 0x1d4]
jb 0x408841
mov dword [ebp - 0x21c], str.file_corrupted
push 0x423d6c
lea ecx, [ebp - 0x21c]
push ecx
call fcn.0040d917
push 4
lea edx, [ebp - 0x1ac]
push edx
lea ecx, [ebp - 0x194]
call fcn.00406f90
mov dword [ebp - 0x1dc], eax
mov eax, dword [ebp - 0x1dc]
mov dword [ebp - 0x1a4], eax
mov ecx, dword [ebp - 0x1a0]
push ecx
call fcn.00409e37
add esp, 4
mov dword [ebp - 0x218], eax
mov edx, dword [ebp - 0x218]
mov dword [ebp - 0x1e4], edx
mov eax, dword [ebp - 0x1e4]
mov dword [ebp - 0x198], eax
mov ecx, dword [ebp - 0x1a0]
push ecx
push 0
mov edx, dword [ebp - 0x198]
push edx
call fcn.0040ae60
add esp, 0xc
mov eax, dword [ebp - 0x1a0]
push eax
mov ecx, dword [ebp - 0x198]
push ecx
lea ecx, [ebp - 0x194]
call fcn.00406f90
mov dword [ebp - 0x1b4], eax
mov edx, dword [ebp - 0x1b4]
mov dword [ebp - 0x1a4], edx
lea ecx, [ebp - 0x194]
call fcn.00406f20
mov eax, dword [ebp - 0x1a0]
push eax
mov ecx, dword [ebp - 0x198]
push ecx
call fcn.00401240
add esp, 8
mov dword [ebp - 0x1ec], eax
mov edx, dword [ebp - 0x1ec]
mov dword [ebp - 0x220], edx
mov eax, dword [ebp - 0x1ac]
cmp eax, dword [ebp - 0x220]
je 0x408933
mov dword [ebp - 0x1f4], str.crc_verification_failed.
push 0x423d6c
lea ecx, [ebp - 0x1f4]
push ecx
call fcn.0040d917
push 0x104
push 0
lea edx, [ebp - 0x118]
push edx
call fcn.0040ae60
add esp, 0xc
push 0x103
lea eax, [ebp - 0x118]
push eax
call fcn.004038d0
add esp, 8
push 0
lea ecx, [ebp - 0x118]
push ecx
call fcn.0040ce05
add esp, 8
test eax, eax
je 0x4089a3
push 0x4264e8
lea edx, [ebp - 0x118]
push edx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
jne 0x4089a3
mov dword [ebp - 0x240], str.We_has_no_right_to_create_the_specified_directory.
push 0x423d6c
lea eax, [ebp - 0x240]
push eax
call fcn.0040d917
lea ecx, [ebp - 0x118]
push ecx
call fcn.00408390
add esp, 4
mov dword [ebp - 0x1fc], eax
cmp dword [ebp - 0x1fc], 0
jne 0x4089dc
mov dword [ebp - 0x228], str.We_has_no_right_to_access_the_specified_directory.
push 0x423d6c
lea edx, [ebp - 0x228]
push edx
call fcn.0040d917
lea eax, [ebp - 0x118]
push eax
lea ecx, [ebp - 0x130]
call fcn.00406280
mov dword [ebp - 0x24c], eax
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x130]
call fcn.00404820
sub eax, 1
push eax
lea ecx, [ebp - 0x130]
call fcn.004062c0
mov dword [ebp - 0x204], eax
mov ecx, dword [ebp - 0x204]
movsx edx, byte [ecx]
cmp edx, 0x5c
je 0x408a36
push 0x422a24
lea ecx, [ebp - 0x130]
call fcn.004047d0
push 0x422a28
lea eax, [ebp - 0x130]
push eax
lea ecx, [ebp - 0x190]
push ecx
call fcn.00405140
add esp, 0xc
mov dword [ebp - 0x1b8], eax
mov edx, dword [ebp - 0x1b8]
mov dword [ebp - 0x1c0], edx
mov byte [ebp - 4], 3
push pe_nt_image_headers32
push 0x4264e8
push 2
push 0
push 0x40000000
mov ecx, dword [ebp - 0x1c0]
call fcn.004062e0
push eax
lea ecx, [ebp - 0x194]
call fcn.00406eb0
mov dword [ebp - 0x1c8], eax
cmp dword [ebp - 0x1c8], 0
jne 0x408aac
mov dword [ebp - 0x1a8], 1
jmp 0x408ab6
mov dword [ebp - 0x1a8], 0
mov al, byte [ebp - 0x1a8]
mov byte [ebp - 0x19a], al
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x190]
call fcn.00406430
movzx ecx, byte [ebp - 0x19a]
test ecx, ecx
je 0x408af7
mov dword [ebp - 0x1d0], str.Can_not_open_compressed_file.
push 0x423d6c
lea edx, [ebp - 0x1d0]
push edx
call fcn.0040d917
mov eax, dword [ebp - 0x1a0]
push eax
mov ecx, dword [ebp - 0x198]
push ecx
lea ecx, [ebp - 0x194]
call fcn.00406fe0
mov dword [ebp - 0x1d8], eax
mov edx, dword [ebp - 0x1d8]
mov dword [ebp - 0x1a4], edx
cmp dword [ebp - 0x198], 0
je 0x408b50
mov eax, dword [ebp - 0x198]
mov dword [ebp - 0x1e0], eax
mov ecx, dword [ebp - 0x1e0]
push ecx
call fcn.0040d278
add esp, 4
mov dword [ebp - 0x198], 0
lea ecx, [ebp - 0x194]
call fcn.00406f20
push 0x422a50
lea edx, [ebp - 0x130]
push edx
lea eax, [ebp - 0x178]
push eax
call fcn.00405140
add esp, 0xc
mov dword [ebp - 0x1e8], eax
mov ecx, dword [ebp - 0x1e8]
mov dword [ebp - 0x1f0], ecx
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x1f0]
call fcn.004062e0
push eax
lea ecx, [ebp - 0x130]
call fcn.004062e0
push eax
call fcn.00407610
add esp, 8
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x178]
call fcn.00406430
push 0x422a58
lea edx, [ebp - 0x130]
push edx
lea eax, [ebp - 0x160]
push eax
call fcn.00405140
add esp, 0xc
mov dword [ebp - 0x1f8], eax
push 0
mov ecx, dword [ebp - 0x1f8]
call fcn.004062e0
push eax
call fcn.0040ce05
add esp, 8
test eax, eax
jne 0x408c02
mov dword [ebp - 0x1b0], 1
jmp 0x408c0c
mov dword [ebp - 0x1b0], 0
mov cl, byte [ebp - 0x1b0]
mov byte [ebp - 0x199], cl
lea ecx, [ebp - 0x160]
call fcn.00406430
movzx edx, byte [ebp - 0x199]
test edx, edx
je 0x408c6c
push str.package
lea eax, [ebp - 0x130]
push eax
lea ecx, [ebp - 0x148]
push ecx
call fcn.00405140
add esp, 0xc
mov dword [ebp - 0x200], eax
mov ecx, dword [ebp - 0x200]
call fcn.004062e0
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea ecx, [ebp - 0x148]
call fcn.00406430
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x130]
call fcn.00406430
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x194]
call fcn.00406e90
jmp 0x408ccd
mov dword [ebp - 4], 0xffffffff
jmp 0x408cdd
cmp dword [0x4274d4], 0
je 0x408cf3
mov edx, dword [0x4274d4]
push edx
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov byte [0x4274cc], 1
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00409e94
mov esp, ebp
pop ebp
ret