Function at 0x4061d0
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x428
mov eax, dword [0x59a024]
xor eax, esp
mov dword [esp + 0x424], eax
push esi
push edi
test ebx, ebx
jne 0x406207
or eax, 0xffffffff
pop edi
pop esi
mov ecx, dword [esp + 0x424]
xor ecx, esp
call fcn.00409b58
mov esp, ebp
pop ebp
ret
push 0x105
lea eax, [esp + 0x114]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
jbe 0x406281
lea ecx, [esp + 0x110]
push 0x5c
push ecx
call fcn.0040aec0
add esp, 8
test eax, eax
je 0x406281
lea edx, [esp + 0x110]
push edx
push str._ssvpnclient.xml
mov byte [eax + 1], 0
lea eax, [esp + 0x328]
push 0x104
push eax
call fcn.0040a6a1
push 0x2f
push ebx
call fcn.0040aec0
add esp, 0x18
test eax, eax
jne 0x40629a
mov eax, 0xfffffffd
pop edi
pop esi
mov ecx, dword [esp + 0x424]
xor ecx, esp
call fcn.00409b58
mov esp, ebp
pop ebp
ret
mov eax, 0xfffffffe
pop edi
pop esi
mov ecx, dword [esp + 0x424]
xor ecx, esp
call fcn.00409b58
mov esp, ebp
pop ebp
ret
inc eax
push eax
lea ecx, [esp + 0x114]
push ecx
push str._s_s
lea edx, [esp + 0x14]
push 0x104
push edx
call fcn.0040a6a1
add esp, 0x14
lea eax, [esp + 8]
push 0x2e
push eax
call fcn.0040aec0
mov edi, eax
add esp, 8
test edi, edi
jne 0x4062e7
lea eax, [edi - 4]
pop edi
pop esi
mov ecx, dword [esp + 0x424]
xor ecx, esp
call fcn.00409b58
mov esp, ebp
pop ebp
ret
push 0x596f80
push ebx
call fcn.00409e50
add esp, 8
test eax, eax
jne 0x406312
mov eax, 0xfffffffb
pop edi
pop esi
mov ecx, dword [esp + 0x424]
xor ecx, esp
call fcn.00409b58
mov esp, ebp
pop ebp
ret
add eax, 2
push 0x2f
push eax
call fcn.00409ef0
mov esi, eax
add esp, 8
test esi, esi
jne 0x40633d
lea eax, [esi - 6]
pop edi
pop esi
mov ecx, dword [esp + 0x424]
xor ecx, esp
call fcn.00409b58
mov esp, ebp
pop ebp
ret
mov ecx, str..xml
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x406364
test dl, dl
je 0x406360
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x406364
add eax, 2
add ecx, 2
test dl, dl
jne 0x406344
xor eax, eax
jmp 0x406369
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4063b6
mov ecx, str..zip
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x406394
test dl, dl
je 0x406390
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x406394
add eax, 2
add ecx, 2
test dl, dl
jne 0x406374
xor eax, eax
jmp 0x406399
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4063b6
mov eax, 0xfffffff9
pop edi
pop esi
mov ecx, dword [esp + 0x424]
xor ecx, esp
call fcn.00409b58
mov esp, ebp
pop ebp
ret
lea ecx, [esp + 8]
push 0
push ecx
call fcn.0040a89a
add esp, 8
test eax, eax
jl 0x40641f
mov ecx, str..zip
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4063f0
test dl, dl
je 0x4063ec
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4063f0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4063d0
xor eax, eax
jmp 0x4063f5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x406432
mov edx, esi
lea ecx, [esp + 0x320]
call fcn.00409560
test eax, eax
jne 0x4065a8
push esi
push str.check_file__s_exist__but_not_validate
call fcn.00402730
add esp, 8
jmp 0x406432
push eax
lea edx, [esp + 0xc]
push edx
push str.check_file__s_not_exist__d
call fcn.00402730
add esp, 0xc
lea eax, [esp + 8]
push eax
mov ecx, ebx
call fcn.00408ae0
mov esi, eax
add esp, 4
test esi, esi
je 0x40647b
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push esi
lea ecx, [esp + 0x10]
push ecx
push ebx
push str.HttpGetFile__s_to__s__return__d__os__d
call fcn.00402730
add esp, 0x14
mov eax, 0xfffffff8
pop edi
pop esi
mov ecx, dword [esp + 0x424]
xor ecx, esp
call fcn.00409b58
mov esp, ebp
pop ebp
ret
mov ecx, str..zip
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4064a2
test dl, dl
je 0x40649e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4064a2
add eax, 2
add ecx, 2
test dl, dl
jne 0x406482
xor eax, eax
jmp 0x4064a7
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4065a8
lea edx, [esp + 0x110]
push edx
push str._stemp_
lea eax, [esp + 0x220]
push 0x105
push eax
call fcn.0040a6a1
lea ecx, [esp + 0x228]
push ecx
call fcn.00407130
add esp, 0x14
test eax, eax
jne 0x4064fb
mov eax, 0xfffffff7
pop edi
pop esi
mov ecx, dword [esp + 0x424]
xor ecx, esp
call fcn.00409b58
mov esp, ebp
pop ebp
ret
lea ecx, [esp + 0x218]
call fcn.004071d0
test eax, eax
je 0x406524
mov eax, 0xfffffff6
pop edi
pop esi
mov ecx, dword [esp + 0x424]
xor ecx, esp
call fcn.00409b58
mov esp, ebp
pop ebp
ret
lea edx, [esp + 0x218]
push edx
lea eax, [esp + 0xc]
push eax
call fcn.004086a0
mov esi, eax
add esp, 8
test esi, esi
jge 0x406578
lea ecx, [esp + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push esi
push str.UnzipToFolder_failed__x__os__x
call fcn.00402730
add esp, 0xc
mov eax, 0xfffffff5
pop edi
pop esi
mov ecx, dword [esp + 0x424]
xor ecx, esp
call fcn.00409b58
mov esp, ebp
pop ebp
ret
lea edi, [esp + 0x110]
lea ecx, [esp + 0x218]
call fcn.004072e0
test eax, eax
je 0x4065a8
mov eax, 0xfffffff4
pop edi
pop esi
mov ecx, dword [esp + 0x424]
xor ecx, esp
call fcn.00409b58
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x42c]
pop edi
pop esi
xor ecx, esp
xor eax, eax
call fcn.00409b58
mov esp, ebp
pop ebp
ret