Function at 0x403897
Capabilities:
Delete file
Get disk size
Get file size
Read .ini file

Disassembly:
mov eax, 0x41fd6f
call fcn.00417a5c
sub esp, 0x7f4
push ebx
push esi
push edi
push str.UnCompressThread
push str._s_Start
call fcn.004033a5
pop ecx
pop ecx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, 0x493e0
cmp eax, ecx
jae 0x4038e2
mov esi, ecx
sub esi, eax
push esi
push str._Sleep..._d
call fcn.004033a5
pop ecx
pop ecx
push esi
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edi, dword [ebp + 8]
xor ebx, ebx
cmp edi, ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x2c], ebx
je 0x40393e
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
push 0x3ea
push edi
call esi
push 2
push edi
call esi
push ebx
push edi
mov dword [ebp - 0x28], eax
call dword [sym.imp.USER32.dll_GetSystemMenu]
mov esi, eax
push esi
mov dword [ebp - 0x38], esi
call dword [sym.imp.USER32.dll_GetMenuItemCount]
dec eax
push eax
push esi
call dword [sym.imp.USER32.dll_GetMenuItemID]
push 1
push eax
push esi
mov dword [ebp - 0x2c], eax
call dword [sym.imp.USER32.dll_EnableMenuItem]
push ebx
push dword [ebp - 0x28]
call dword [sym.imp.USER32.dll_EnableWindow]
push ebx
call fcn.0040281e
test eax, eax
pop ecx
jne 0x40396f
cmp edi, ebx
mov dword [0x5290c8], 0x2714
je 0x403df7
push ebx
push 1
push 0x111
push edi
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x403df7
lea eax, [ebp - 0x1dc]
push eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x1dc], 0x94
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
test eax, eax
mov esi, 0x528ea0
je 0x403ab3
push 0x4214c0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
cmp eax, ebx
je 0x403ab3
cmp dword [ebp - 0x1d8], 4
jne 0x403a31
cmp dword [ebp - 0x1d4], ebx
jne 0x403a31
push 0x4217ac
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
je 0x403ab3
push esi
lea eax, [ebp - 0x148]
push eax
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x24], ebx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [ebp - 0x148]
push 0x5c
push eax
call fcn.00417bd0
pop ecx
mov byte [eax + 1], bl
pop ecx
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x3c]
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x148]
push eax
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceA]
mov eax, dword [ebp - 0x3c]
imul eax, dword [ebp - 0x30]
imul eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], ebx
jmp 0x403ab3
push 0x421798
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
mov dword [ebp - 0x24], eax
je 0x403ab3
push 0x40
pop ecx
xor eax, eax
mov byte [ebp - 0x148], bl
lea edi, [ebp - 0x147]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push esi
lea eax, [ebp - 0x148]
push eax
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], ebx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [ebp - 0x148]
push 0x5c
push eax
call fcn.00417bd0
pop ecx
mov byte [eax + 1], bl
pop ecx
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x148]
push eax
call dword [ebp - 0x24]
cmp eax, ebx
je 0x403ab3
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x14], eax
push 0x41
pop ecx
xor eax, eax
mov byte [ebp - 0x4f0], bl
lea edi, [ebp - 0x4ef]
rep stosd dword es:[edi], eax
mov byte [ebp - 0x6f8], bl
mov ecx, 0x81
lea edi, [ebp - 0x6f7]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x104
lea eax, [ebp - 0x4f0]
push eax
push dword [0x5290ac]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push esi
lea eax, [ebp - 0x6f8]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push str.Rav.7z
lea eax, [ebp - 0x6f8]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
push ebx
push ebx
push 3
push ebx
push 3
push SysReAllocString
lea eax, [ebp - 0x4f0]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov edi, eax
cmp edi, 0xffffffff
jne 0x403b6d
cmp dword [ebp + 8], ebx
je 0x403b57
push 0x10
push 9
push ebx
call fcn.004024be
add esp, 0xc
push ebx
push 1
push 0x111
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_SendMessageA]
push esi
call fcn.0040268c
pop ecx
mov dword [0x5290c8], 0x2715
jmp 0x403df7
lea eax, [ebp - 0x44]
push eax
push edi
mov dword [ebp - 0x44], ebx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
push 2
pop ecx
mul ecx
cmp dword [ebp - 0x14], edx
ja 0x403bcb
jb 0x403b8c
cmp dword [ebp - 0x18], eax
jae 0x403bcb
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push esi
call fcn.0040268c
cmp dword [ebp + 8], ebx
pop ecx
je 0x403bbc
push ebx
push 0xa
push ebx
call fcn.004024be
add esp, 0xc
push ebx
push 1
push 0x111
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_SendMessageA]
mov dword [0x5290c8], 0x2716
jmp 0x403df7
push edi
call fcn.0040243f
push eax
lea eax, [ebp - 0x6f8]
push eax
push edi
call fcn.00402398
add esp, 0x10
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edi, dword [ebp + 8]
cmp edi, ebx
je 0x403c08
push ebx
push dword [ebp - 0x2c]
push dword [ebp - 0x38]
call dword [sym.imp.USER32.dll_EnableMenuItem]
push 1
push dword [ebp - 0x28]
call dword [sym.imp.USER32.dll_EnableWindow]
mov dword [ebp - 0x10], ebx
push str.CMy7z_Open_File_Start_...
mov dword [ebp - 4], ebx
call fcn.004033a5
pop ecx
lea eax, [ebp - 0x6f8]
push eax
lea ecx, [ebp - 0x10]
call fcn.00405006
test eax, eax
jne 0x403c48
push 0x10
push 8
push ebx
call fcn.004024be
add esp, 0xc
mov dword [0x5290c8], 0x2717
jmp 0x403de6
push str.CMy7z_Open_File_End_...
call fcn.004033a5
cmp dword [0x5290bc], ebx
pop ecx
mov eax, 0x528fa8
jne 0x403c62
mov eax, esi
push dword [ebp - 0x14]
lea ecx, [ebp - 0x10]
push dword [ebp - 0x18]
push 0x5290b4
push edi
push eax
call fcn.00405269
cmp eax, ebx
je 0x403cef
cmp dword [0x5290b4], ebx
je 0x403c92
mov dword [0x5290c8], 0x2712
jmp 0x403de6
cmp eax, 0x81000001
jne 0x403cce
push esi
call fcn.0040268c
cmp edi, ebx
pop ecx
je 0x403cbf
push ebx
push 0xa
push ebx
call fcn.004024be
add esp, 0xc
push ebx
push 1
push 0x111
push edi
call dword [sym.imp.USER32.dll_SendMessageA]
mov dword [0x5290c8], 0x2716
jmp 0x403de6
push 0x10
push 8
push ebx
call fcn.004024be
add esp, 0xc
push ebx
push 1
push 0x111
push edi
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x403c39
cmp dword [0x5290bc], ebx
je 0x403d1a
push esi
call fcn.004027db
cmp edi, ebx
pop ecx
je 0x403de6
push ebx
push 1
push 0x111
push edi
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x403de6
push 0x41
pop ecx
xor eax, eax
push 0x40
mov byte [ebp - 0x800], bl
lea edi, [ebp - 0x7ff]
rep stosd dword es:[edi], eax
pop ecx
mov byte [ebp - 0x2e0], bl
lea edi, [ebp - 0x2df]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0x41
stosb byte es:[edi], al
pop ecx
xor eax, eax
mov byte [ebp - 0x3e8], bl
lea edi, [ebp - 0x3e7]
push esi
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x3e8]
push str._s_auto.ini
push eax
call fcn.00416803
add esp, 0xc
lea eax, [ebp - 0x3e8]
push eax
push 0x104
lea eax, [ebp - 0x800]
push eax
push 0x421744
push 0x421740
mov edi, 0x421738
push edi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x3e8]
push eax
push 1
push 0x421730
push edi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [0x5290c0], eax
lea eax, [ebp - 0x3e8]
push eax
push 0x104
lea eax, [ebp - 0x2e0]
push eax
push 0x421598
push str.Param
push edi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x6f8]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
call fcn.00403673
test eax, eax
je 0x403dfe
mov eax, dword [ebp - 0x10]
or dword [ebp - 4], 0xffffffff
cmp eax, ebx
je 0x403df7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
xor eax, eax
jmp 0x403e8d
lea eax, [ebp - 0x2e0]
push 0x421724
push eax
call fcn.0041758b
test eax, eax
pop ecx
pop ecx
jne 0x403e3e
lea eax, [ebp - 0x2e0]
push 0x421718
push eax
call fcn.0041758b
test eax, eax
pop ecx
pop ecx
jne 0x403e3e
push 0x421714
lea eax, [ebp - 0x2e0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
mov edi, dword [ebp + 8]
cmp edi, ebx
je 0x403e4d
push ebx
push edi
call dword [sym.imp.USER32.dll_ShowWindow]
call fcn.004034f8
cmp dword [0x5290c0], ebx
mov dword [0x5290c8], eax
je 0x403e66
push esi
call fcn.004027db
pop ecx
cmp edi, ebx
je 0x403e79
push ebx
push 1
push 0x111
push edi
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [ebp - 0x10]
or dword [ebp - 4], 0xffffffff
cmp eax, ebx
je 0x403e8a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
xor eax, eax
inc eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 4