Function at 0x4c8700
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x1c24
call fcn.00554650
mov eax, dword [0x5c04b4]
xor eax, esp
mov dword [esp + 0x1c20], eax
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
mov ebx, ecx
mov dword [esp + 0x14], ebx
test edi, edi
jne 0x4c8747
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1c20]
xor ecx, esp
call fcn.00553510
mov esp, ebp
pop ebp
ret 4
cmp byte [ebx], 0
je 0x4c872e
lea esi, [ebx + 0x80]
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, ebx
lea ecx, [esp + 0x1398]
call fcn.004c8c90
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor eax, eax
push 0x206
push eax
mov word [esp + 0x1420], ax
lea eax, [esp + 0x1422]
push eax
call sub.MSVCR120.dll_memset
mov ecx, edi
mov byte [esp + 0x1f], 0
add esp, 0xc
lea edx, [ecx + 2]
jmp 0x4c87a0
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4c87a0
mov ebx, dword [sym.imp.MSVCR120.dll_wcsncpy_s]
lea eax, [esp + 0x1418]
mov esi, dword [sym.imp.MSVCR120.dll_wcscpy_s]
sub ecx, edx
sar ecx, 1
cmp ecx, 0x104
jae 0x4c87d8
push edi
push 0x104
push eax
call esi
add esp, 0xc
jmp 0x4c87f3
push 0x103
push edi
push 0x104
push eax
call ebx
add esp, 0x10
xor eax, eax
mov word [esp + 0x161e], ax
xor eax, eax
mov ecx, edi
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
lea edx, [ecx + 2]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x20], 0x20
mov dword [esp + 0x24], 7
lea ebx, [ebx]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4c8830
sub ecx, edx
lea eax, [esp + 0x1620]
sar ecx, 1
cmp ecx, 0x104
jae 0x4c885c
push edi
push 0x104
push eax
call esi
add esp, 0xc
jmp 0x4c8877
push 0x103
push edi
push 0x104
push eax
call ebx
add esp, 0x10
xor eax, eax
mov word [esp + 0x1826], ax
push 0x58b1ac
mov edx, 0x104
lea ecx, [esp + 0x1624]
call fcn.0052fae0
add esp, 4
lea edx, [esp + 0x1620]
push 0
push ecx
lea ecx, [esp + 0x1420]
call fcn.004cfea0
add esp, 8
test eax, eax
jne 0x4c88c0
mov dword [esp + 0x28], str.SupportRequestXML_GZ
lea eax, [esp + 0x1620]
mov bh, 1
jmp 0x4c88d3
mov bh, byte [esp + 0x13]
lea eax, [esp + 0x1418]
mov dword [esp + 0x28], str.SupportRequestXML
mov dword [esp + 0x30], eax
mov eax, dword [0x5c6138]
add eax, 0x2204
mov dword [esp + 0x34], str.SupportRequest
push 0x11d7
push eax
lea eax, [esp + 0x48]
push eax
call sub.MSVCR120.dll_memcpy
add esp, 0xc
mov byte [esp + 0x1298], 0
lea eax, [esp + 0x1299]
push 0xff
push 0
push eax
call sub.MSVCR120.dll_memset
add esp, 0xc
mov byte [esp + 0x1218], 0
lea eax, [esp + 0x1219]
push 0x3f
push 0
push eax
call sub.MSVCR120.dll_memset
add esp, 0xc
mov byte [esp + 0x1258], 0
lea eax, [esp + 0x1259]
push 0x3f
push 0
push eax
call sub.MSVCR120.dll_memset
mov edi, dword [esp + 0x10b3]
add esp, 0xc
test edi, edi
je 0x4c89d6
mov esi, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
lea eax, [esp + 0x1298]
push 0
push 0
push 0x100
push eax
push 0xffffffffffffffff
push dword [esp + 0x10bf]
push 0
push 0
call esi
push 0
push 0
push 0x40
lea eax, [esp + 0x1224]
mov byte [esp + 0x13a3], 0
push eax
push 0xffffffffffffffff
push dword [esp + 0x10cb]
push 0
push 0
call esi
push 0
push 0
push 0x40
lea eax, [esp + 0x1264]
mov byte [esp + 0x1263], 0
push eax
push 0xffffffffffffffff
push dword [esp + 0x10cf]
push 0
push 0
call esi
mov byte [esp + 0x1297], 0
xor eax, eax
xor bl, bl
mov dword [esp + 0x18], eax
mov edx, 0x1bb
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x18]
push eax
push ecx
push 1
mov eax, edi
mov dword [esp + 0x24], 0x4c8aa0
neg eax
lea ecx, [esp + 0x1264]
sbb eax, eax
and eax, ecx
lea ecx, [esp + 0x1224]
push eax
mov eax, edi
neg eax
sbb eax, eax
and eax, ecx
lea ecx, [esp + 0x13a8]
push eax
mov eax, edi
neg eax
sbb eax, eax
and eax, dword [esp + 0x10c7]
neg edi
push eax
sbb edi, edi
lea eax, [esp + 0x12b0]
and edi, eax
lea eax, [esp + 0x2c]
push edi
push 0
push eax
push 0x400
lea eax, [esp + 0x1850]
push eax
push 1
lea eax, [esp + 0x50]
push eax
push str._supportrequest_
call fcn.004d0bd0
add esp, 0x38
test eax, eax
jne 0x4c8a70
mov bl, 1
test bh, bh
je 0x4c8a82
lea eax, [esp + 0x1620]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov ecx, dword [esp + 0x1c2c]
mov al, bl
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00553510
mov esp, ebp
pop ebp
ret 4