Function at 0x404b00
Capabilities:
Check if file exists

Disassembly:
mov eax, 0x4a10
call fcn.0040fae0
mov eax, dword [0x43217c]
xor eax, esp
mov dword [esp + 0x4a0c], eax
push ebp
push esi
push edi
push str.Compress_
mov ecx, 0x434070
call fcn.00402cb0
add esp, 4
lea esi, [esp + 0x14]
mov ebp, 1
call fcn.004046a0
xor esi, esi
lea edi, [esp + 0x14]
mov ecx, ebx
mov dword [esp + 0x10], esi
call fcn.00404e40
test al, al
jne 0x404b6b
pop edi
pop esi
lea eax, [ebp + 0x56]
pop ebp
mov ecx, dword [esp + 0x4a0c]
xor ecx, esp
call fcn.0040800b
add esp, 0x4a10
ret
lea eax, [esp + 0x814]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, si
jne 0x404b75
sub eax, edx
sar eax, 1
jne 0x404bda
push 0x400
lea eax, [esp + 0x818]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
jne 0x404bbf
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
push str.Compress_Fail______Get_Directory_Fail_
mov ecx, ebp
mov edx, 0x434070
call fcn.00402b70
add esp, 4
jmp 0x404e26
lea ecx, [esp + 0x814]
push 0x5c
push ecx
call fcn.00408245
add esp, 8
cmp eax, esi
je 0x404bda
xor edx, edx
mov word [eax], dx
lea eax, [esp + 0x814]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, si
jne 0x404be4
sub eax, edx
sar eax, 1
cmp word [esp + eax*2 + 0x812], 0x5c
jne 0x404c29
lea eax, [esp + 0x814]
lea edx, [eax + 2]
jmp 0x404c10
mov cx, word [eax]
add eax, 2
cmp cx, si
jne 0x404c10
sub eax, edx
sar eax, 1
xor ecx, ecx
mov word [esp + eax*2 + 0x812], cx
lea eax, [esp + 0x1014]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, si
jne 0x404c33
mov edi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
sub eax, edx
sar eax, 1
jne 0x404caa
push 0x800
lea edx, [esp + 0x421c]
push esi
push edx
call fcn.00409180
lea eax, [esp + 0x820]
push eax
push str._s_setup.exe
lea edx, [esp + 0x422c]
call fcn.00402980
add esp, 0x14
lea ecx, [esp + 0x4218]
push ecx
call edi
test eax, eax
je 0x404d53
push 0x3ff
push str.setup.exe
lea edx, [esp + 0x101c]
push 0x400
push edx
call fcn.004084c5
add esp, 0x10
lea eax, [esp + 0x3814]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, si
jne 0x404cb4
sub eax, edx
sar eax, 1
jne 0x404d02
lea ecx, [esp + 0x3814]
push str.NOT_USE_RESOURCE_UPDATE
push ecx
call fcn.004081b2
add esp, 8
test eax, eax
je 0x404d02
lea edx, [esp + 0x1014]
push edx
lea eax, [esp + 0x818]
push eax
push 0x429df4
lea edx, [esp + 0x3820]
call fcn.00402980
add esp, 0xc
lea eax, [esp + 0x14]
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
cmp cx, si
jne 0x404d10
sub eax, edx
sar eax, 1
jne 0x404e17
push 0x200
lea ecx, [esp + 0x401c]
push esi
push ecx
call fcn.00409180
lea edx, [esp + 0x820]
push 0x5c
push edx
call fcn.00408245
add esp, 0x14
cmp eax, esi
je 0x404d7a
add eax, 2
jmp 0x404d81
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
lea eax, [esp + 0x814]
push eax
push str.Compress_Fail______No_command__No_Inf___s_
mov ecx, 0x434070
call fcn.00402cb0
add esp, 8
jmp 0x404e26
lea eax, [esp + 0x814]
push 0xff
push eax
lea eax, [esp + 0x4020]
push 0x100
push eax
call fcn.004084c5
lea ecx, [esp + 0x4028]
push ecx
lea edx, [esp + 0x828]
push edx
push str._s_s.exe
lea edx, [esp + 0x30]
call fcn.00402980
add esp, 0x1c
lea eax, [esp + 0x14]
push eax
call edi
test eax, eax
je 0x404e17
push esi
lea ecx, [esp + 0x401c]
push ecx
lea edx, [esp + 0x81c]
push edx
push str._s_s__d_.exe
lea edx, [esp + 0x24]
call fcn.00402980
add esp, 0x10
lea eax, [esp + 0x4018]
push eax
call edi
test eax, eax
je 0x404dfb
inc esi
cmp esi, 0x64
jl 0x404dc5
cmp esi, 0x64
jne 0x404e17
push str.Compress_Fail______Invalid_Target_file
mov ecx, 0x434070
lea ebp, [esi - 0x57]
call fcn.00402cb0
add esp, 4
jmp 0x404e26
lea ecx, [esp + 0x14]
call fcn.00403240
test al, al
je 0x404e26
xor ebp, ebp
mov ecx, dword [esp + 0x4a18]
pop edi
pop esi
mov eax, ebp
pop ebp
xor ecx, esp
call fcn.0040800b
add esp, 0x4a10
ret