Function at 0x1005d190
Capabilities:
Check if file exists
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1016fccf
mov eax, dword fs:[0]
push eax
sub esp, 0x17c
mov eax, dword [0x101d7c7c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov byte [ebp - 0x16e], 0
call fcn.1005b540
test al, al
jne 0x1005d8be
call fcn.1000cdc0
mov ecx, eax
test ecx, ecx
je 0x1005d8e9
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x16c], eax
mov esi, str.request
mov dword [ebp - 4], 0
test esi, 0xffff0000
jne 0x1005d21a
movzx eax, si
lea ecx, [ebp - 0x16c]
push eax
call fcn.1000d750
jmp 0x1005d2cd
mov ecx, dword [eax - 0xc]
sub esi, eax
mov dword [ebp - 0x178], ecx
mov edx, 1
mov ecx, dword [eax - 8]
sub edx, dword [eax - 4]
sub ecx, 7
sar esi, 1
or ecx, edx
jge 0x1005d24c
push 7
lea ecx, [ebp - 0x16c]
call fcn.1000b250
mov eax, dword [ebp - 0x16c]
cmp esi, dword [ebp - 0x178]
ja 0x1005d297
mov ecx, dword [eax - 8]
lea edx, [eax + esi*2]
test edx, edx
jne 0x1005d270
call fcn.1012fc6d
mov dword [eax], 0x16
call fcn.1012fb47
jmp 0x1005d2aa
add ecx, ecx
cmp ecx, 0xe
jae 0x1005d289
call fcn.1012fc6d
mov dword [eax], 0x22
call fcn.1012fb47
jmp 0x1005d2aa
push 0xe
push edx
push eax
call fcn.10113460
add esp, 0xc
jmp 0x1005d2aa
push 7
push str.request
push dword [eax - 8]
push eax
call fcn.1000c6b0
add esp, 0x10
mov eax, dword [ebp - 0x16c]
cmp dword [eax - 8], 7
jl 0x1005d8df
mov dword [eax - 0xc], 7
xor ecx, ecx
mov eax, dword [ebp - 0x16c]
mov word [eax + 0xe], cx
mov dword [ebp - 4], 1
call fcn.1000cdc0
mov ecx, eax
test ecx, ecx
je 0x1005d8f3
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x174], eax
mov esi, str.eden_bro
mov byte [ebp - 4], 2
test esi, 0xffff0000
jne 0x1005d318
movzx eax, si
lea ecx, [ebp - 0x174]
push eax
call fcn.1000d750
jmp 0x1005d3cb
mov ecx, dword [eax - 0xc]
sub esi, eax
mov dword [ebp - 0x178], ecx
mov edx, 1
mov ecx, dword [eax - 8]
sub edx, dword [eax - 4]
sub ecx, 8
sar esi, 1
or ecx, edx
jge 0x1005d34a
push 8
lea ecx, [ebp - 0x174]
call fcn.1000b250
mov eax, dword [ebp - 0x174]
cmp esi, dword [ebp - 0x178]
ja 0x1005d395
mov ecx, dword [eax - 8]
lea edx, [eax + esi*2]
test edx, edx
jne 0x1005d36e
call fcn.1012fc6d
mov dword [eax], 0x16
call fcn.1012fb47
jmp 0x1005d3a8
add ecx, ecx
cmp ecx, 0x10
jae 0x1005d387
call fcn.1012fc6d
mov dword [eax], 0x22
call fcn.1012fb47
jmp 0x1005d3a8
push 0x10
push edx
push eax
call fcn.10113460
add esp, 0xc
jmp 0x1005d3a8
push 8
push str.eden_bro
push dword [eax - 8]
push eax
call fcn.1000c6b0
add esp, 0x10
mov eax, dword [ebp - 0x174]
cmp dword [eax - 8], 8
jl 0x1005d8df
mov dword [eax - 0xc], 8
xor ecx, ecx
mov eax, dword [ebp - 0x174]
mov word [eax + 0x10], cx
push 0
sub esp, 0x28
mov eax, esp
mov dword [ebp - 0x178], esp
mov dword [eax + 0x24], 0
mov ecx, dword [0x101de3d0]
mov byte [ebp - 4], 4
test ecx, ecx
jne 0x1005d447
push 0x101d61a0
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [0x101de3d0], 0
jne 0x1005d436
push 0x34
call fcn.100ad0a9
add esp, 4
mov dword [ebp - 0x188], eax
mov byte [ebp - 4], 5
test eax, eax
je 0x1005d424
mov ecx, eax
call fcn.1002e7d0
mov ecx, eax
jmp 0x1005d426
xor ecx, ecx
mov byte [ebp - 4], 4
xchg dword [ebp - 0x178], eax
mov dword [0x101de3d0], ecx
push 0x101d61a0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [0x101de3d0]
push 0
push 0
lea eax, [ebp - 0x16c]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x174]
push eax
call fcn.10030e40
mov edx, dword [ebp - 0x174]
or esi, 0xffffffff
mov byte [ebp - 4], 1
add edx, 0xfffffff0
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x1005d486
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x16c]
mov eax, esi
mov dword [ebp - 4], 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x1005d4aa
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0
push 0x23
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
call fcn.1005b710
push 0x24
push str.66BA3C6C_4891_458F_9B66_405F351004B8
lea ecx, [ebp - 0x40]
mov dword [ebp - 4], 6
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
call fcn.100316c0
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 7
push eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.100ae8f0
mov edx, dword [ebp - 0x2c]
add esp, 0xc
mov byte [ebp - 4], 6
cmp edx, 0x10
jb 0x1005d531
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1005d527
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005d8fd
push edx
push ecx
call fcn.100acb1e
add esp, 8
sub esp, 0x18
lea eax, [ebp - 0x28]
mov esi, esp
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
cmp dword [ebp - 0x14], 0x10
mov ecx, dword [ebp - 0x18]
cmovae eax, dword [ebp - 0x28]
mov dword [ebp - 0x16c], ecx
mov dword [ebp - 0x178], eax
cmp ecx, 0x10
jae 0x1005d578
movups xmm0, xmmword [eax]
movups xmmword [esi], xmm0
mov dword [esi + 0x10], ecx
mov dword [esi + 0x14], 0xf
jmp 0x1005d5ff
mov eax, ecx
mov ecx, SysReAllocString
or eax, 0xf
cmp eax, ecx
cmova eax, ecx
mov dword [ebp - 0x174], eax
lea ecx, [eax + 1]
cmp ecx, 0x1000
jb 0x1005d5c1
lea eax, [ecx + 0x23]
cmp eax, ecx
mov ecx, 0xffffffff
cmovbe eax, ecx
push eax
call fcn.100ad0a9
add esp, 4
test eax, eax
je 0x1005d8fd
lea ecx, [eax + 0x23]
and ecx, 0xffffffe0
mov dword [ecx - 4], eax
jmp 0x1005d5d4
test ecx, ecx
je 0x1005d5d2
push ecx
call fcn.100ad0a9
add esp, 4
mov ecx, eax
jmp 0x1005d5d4
xor ecx, ecx
mov eax, dword [ebp - 0x16c]
inc eax
mov dword [esi], ecx
push eax
push dword [ebp - 0x178]
push ecx
call fcn.10112ee0
mov eax, dword [ebp - 0x16c]
add esp, 0xc
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0x174]
mov dword [esi + 0x14], eax
lea eax, [ebp - 0x184]
mov ecx, edi
push eax
call fcn.1005c750
mov eax, dword [ebp - 0x180]
mov esi, dword [ebp - 0x184]
mov byte [ebp - 4], 8
mov dword [ebp - 0x16c], eax
cmp esi, eax
je 0x1005d80b
nop dword [eax + eax]
push esi
lea eax, [ebp - 0x168]
mov ecx, edi
push eax
call fcn.1005b9e0
lea eax, [ebp - 0x168]
mov byte [ebp - 4], 9
push eax
mov ecx, edi
call fcn.1005b050
test al, al
je 0x1005d66b
cmp dword [ebp - 0x54], 8
lea eax, [ebp - 0x68]
cmovae eax, dword [ebp - 0x68]
push eax
push str.IsAvoidFileInfo_is_true__continue__id_s
jmp 0x1005d7d7
push 0
push 0x12c
lea eax, [ebp - 0x168]
mov ecx, edi
push eax
call fcn.1005da80
test al, al
jne 0x1005d69a
cmp dword [ebp - 0x54], 8
lea eax, [ebp - 0x68]
cmovae eax, dword [ebp - 0x68]
push eax
push str.SyncDownloadSoft_fail__continue__id_s
jmp 0x1005d7d7
push str.SoftInstaller::InstallFile__enter.
call fcn.1004d370
add esp, 4
mov byte [ebp - 0x16d], 0
lea eax, [ebp - 0x168]
mov ecx, edi
push eax
call fcn.1005ece0
test al, al
jne 0x1005d6cf
push str.SoftInstaller::InstallFile__md5_break.
call fcn.1004d370
add esp, 4
jmp 0x1005d6fe
push 0
push 0x12c
lea eax, [ebp - 0x168]
mov ecx, edi
push eax
call fcn.1005e820
test al, al
jne 0x1005d6f7
push str.SoftInstaller::InstallFile__SyncInstallFile_is_false.
call fcn.1004d370
add esp, 4
jmp 0x1005d6fe
mov byte [ebp - 0x16d], 1
mov ecx, dword [ebp - 0x6c]
test ecx, ecx
je 0x1005d711
mov eax, dword [ecx]
call dword [eax + 0xc]
mov dword [ebp - 0x6c], 0
cmp dword [ebp - 0xec], 8
lea eax, [ebp - 0x100]
cmovae eax, dword [ebp - 0x100]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x1005d77f
cmp dword [ebp - 0xec], 8
lea eax, [ebp - 0x100]
cmovae eax, dword [ebp - 0x100]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp dword [ebp - 0xec], 8
lea eax, [ebp - 0x100]
cmovae eax, dword [ebp - 0x100]
push eax
push str.SoftInstaller::InstallFile__delete_file__path_s.
call fcn.1004d370
add esp, 8
lea ecx, [ebp - 0x100]
push 0
push 0x10186a64
call fcn.10012940
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x1005d794
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x48], 0
push str.SoftInstaller::InstallFile__end.
call fcn.1004d370
add esp, 4
lea eax, [ebp - 0x68]
cmp byte [ebp - 0x16d], 0
je 0x1005d7c9
cmp dword [ebp - 0x54], 8
cmovae eax, dword [ebp - 0x68]
push eax
push str.InstallFile_succ__break__id_s
call fcn.1004d370
mov byte [ebp - 0x16e], 1
jmp 0x1005d7dc
cmp dword [ebp - 0x54], 8
cmovae eax, dword [ebp - 0x68]
push eax
push str.InstallFile_fail__continue__id_s
call fcn.1004d370
add esp, 8
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x168]
call fcn.100577b0
add esi, 0x18
cmp esi, dword [ebp - 0x16c]
jne 0x1005d630
mov edi, dword [ebp - 0x180]
mov esi, dword [ebp - 0x184]
jmp 0x1005d80d
mov edi, eax
test esi, esi
je 0x1005d88e
cmp esi, edi
je 0x1005d829
mov ecx, esi
call fcn.100c3110
add esi, 0x18
cmp esi, edi
jne 0x1005d815
mov esi, dword [ebp - 0x184]
mov ecx, dword [ebp - 0x17c]
mov eax, 0x2aaaaaab
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, esi
shl ecx, 3
cmp ecx, 0x1000
jb 0x1005d866
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005d902
push ecx
push esi
call fcn.100acb1e
add esp, 8
mov dword [ebp - 0x184], 0
mov dword [ebp - 0x180], 0
mov dword [ebp - 0x17c], 0
mov edx, dword [ebp - 0x14]
cmp edx, 0x10
jb 0x1005d8be
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1005d8b4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005d907
push edx
push ecx
call fcn.100acb1e
add esp, 8
mov al, byte [ebp - 0x16e]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100acb08
mov esp, ebp
pop ebp
ret
push 0x80070057
call fcn.1000ae00
push 0x80004005
call fcn.1000ae00
push 0x80004005
call fcn.1000ae00
call fcn.1012fb57
call fcn.1012fb57
call fcn.1012fb57
int3