Function at 0x40c8c7
Capabilities:
Delete file
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x424c6d
mov eax, dword fs:[0]
push eax
sub esp, 0x48
push ebx
push esi
push edi
mov eax, dword [0x42f0a0]
xor eax, esp
push eax
lea eax, [esp + 0x58]
mov dword fs:[0], eax
mov ebx, ecx
cmp dword [ebp + 8], 0
jne 0x40c90c
mov dword [ebx + 0x84], 0x37
xor eax, eax
jmp 0x40ca90
xor ecx, ecx
mov eax, vtable.CArkAutoPtr_wchar_t_.0
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], ecx
push dword [ebp + 0x10]
mov byte [esp + 0x64], 1
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
lea edi, [eax + 1]
lea esi, [esp + 0x48]
mov dword [esp + 0x38], eax
mov dword [esp + 0x1c], 0x208
call fcn.0040d022
test eax, eax
jne 0x40c96d
cmp dword [esp + 0x4c], 0
je 0x40c905
push dword [esp + 0x4c]
call fcn.0041218e
pop ecx
jmp 0x40c905
mov edi, 0x209
lea esi, [esp + 0x3c]
call fcn.0040d022
test eax, eax
jne 0x40c992
cmp dword [esp + 0x40], 0
je 0x40c95a
push dword [esp + 0x40]
call fcn.0041218e
pop ecx
jmp 0x40c95a
and dword [ebx + 0x84], 0
mov edi, ebx
call fcn.0040cfed
cmp dword [ebp + 0x10], 0
mov edi, dword [esp + 0x4c]
jne 0x40c9ba
xor eax, eax
mov ecx, edi
mov word [ecx], ax
mov ecx, dword [esp + 0x40]
mov word [ecx], ax
jmp 0x40c9cb
push dword [ebp + 0x10]
push edi
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov esi, edi
call fcn.00405e42
push dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov esi, ebx
call fcn.0040c16f
xor esi, esi
cmp dword [ebx + 0x7c], esi
je 0x40ca49
mov eax, dword [ebx]
mov ecx, ebx
mov dword [ebx + 0x80], esi
call dword [eax + 0x68]
push dword [ebp + 0x14]
mov eax, dword [ebx]
push dword [ebp + 0x10]
mov ecx, ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [eax + 0x64]
test eax, eax
jne 0x40ca21
cmp dword [esp + 0x40], esi
je 0x40ca13
push dword [esp + 0x40]
call fcn.0041218e
pop ecx
cmp edi, esi
je 0x40c905
push edi
jmp 0x40c965
cmp dword [ebx + 0x80], esi
jne 0x40ca03
cmp dword [esp + 0x40], esi
je 0x40ca39
push dword [esp + 0x40]
call fcn.0041218e
pop ecx
cmp edi, esi
je 0x40ca44
push edi
call fcn.0041218e
pop ecx
xor eax, eax
inc eax
jmp 0x40ca90
xor eax, eax
mov dword [esp + 0x30], 1
mov dword [esp + 0x2c], eax
cmp dword [ebp + 0xc], esi
ja 0x40caa9
mov eax, ebx
call fcn.0040c7f7
mov edi, ebx
call fcn.0040cfed
cmp dword [esp + 0x40], 0
je 0x40ca7b
push dword [esp + 0x40]
call fcn.0041218e
pop ecx
cmp dword [esp + 0x4c], 0
je 0x40ca8c
push dword [esp + 0x4c]
call fcn.0041218e
pop ecx
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x58]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov edi, dword [esp + 0x4c]
xor esi, esi
cmp dword [ebx + 0x8c], esi
jne 0x40ca03
cmp dword [ebx + 0x84], 0x54
je 0x40ca03
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + eax*4]
lea ecx, [ebx + 0x18]
mov dword [esp + 0x34], eax
call fcn.00406286
mov dword [esp + 0x14], eax
cmp eax, esi
je 0x40cd1f
push dword [ebp + 0x14]
mov eax, dword [eax + 4]
push edi
push dword [esp + 0x24]
push dword [esp + 0x4c]
call fcn.00405d69
add esp, 0x10
test eax, eax
jne 0x40cb50
mov eax, dword [esp + 0x14]
push dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ecx, dword [esp + 0x38]
lea eax, [eax + ecx + 2]
lea edi, [eax + 1]
lea esi, [esp + 0x3c]
mov dword [esp + 0x1c], eax
call fcn.0040d022
test eax, eax
je 0x40cd2e
push dword [ebp + 0x14]
mov eax, dword [esp + 0x18]
push dword [esp + 0x50]
mov eax, dword [eax + 4]
push dword [esp + 0x24]
push dword [esp + 0x4c]
call fcn.00405d69
add esp, 0x10
test eax, eax
je 0x40cd2e
mov eax, dword [esp + 0x14]
push dword [esp + 0x34]
xor ecx, ecx
mov dword [esp + 0x24], ecx
mov edi, dword [eax + 0x2c]
shr edi, 4
mov esi, ebx
mov dword [esp + 0x2c], ecx
and edi, 1
mov dword [esp + 0x1c], ecx
call fcn.0040c0eb
test eax, eax
je 0x40ccca
push dword [ebx + 4]
lea eax, [esp + 0x24]
push eax
push edi
push dword [ebx + 0x78]
push dword [esp + 0x50]
push dword [esp + 0x28]
call dword [ebx + 0x74]
mov esi, eax
add esp, 0x18
mov dword [esp + 0x24], esi
test esi, esi
jne 0x40cc14
cmp dword [esp + 0x2c], eax
jne 0x40cbc4
cmp dword [esp + 0x20], 5
jne 0x40cbc4
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x40cbf6
call fcn.00405f3f
cmp eax, 1
jne 0x40cd41
mov eax, dword [esp + 0x20]
cmp eax, 3
je 0x40cbff
cmp eax, 0xce
je 0x40cbff
cmp eax, 0x70
jne 0x40cbdd
push 0x54
jmp 0x40cbf8
cmp eax, 0x70000000
jne 0x40cbe8
push 0x59
jmp 0x40cbf8
cmp eax, 0xb7
jne 0x40cbf6
mov ecx, 0x401
jmp 0x40cbf9
push 0x31
pop ecx
push dword [esp + 0x14]
jmp 0x40cc06
push dword [esp + 0x14]
push 0x50
pop ecx
mov esi, ebx
call fcn.0040c828
and dword [esp + 0x30], 0
jmp 0x40cc89
cmp dword [ebp + 0x10], 0
je 0x40cc37
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x34]
test eax, eax
je 0x40cc37
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x34]
push eax
call fcn.00412b1f
pop ecx
mov dword [esp + 0x18], eax
test edi, edi
jne 0x40cc89
push dword [esp + 0x34]
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x18]
mov ecx, ebx
call fcn.0040cd49
test eax, eax
jne 0x40cc89
and dword [esp + 0x30], eax
mov eax, edi
mov ecx, dword [eax + 0x20]
or ecx, dword [eax + 0x24]
je 0x40cc89
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx]
call dword [eax + 0x2c]
or eax, edx
je 0x40cc81
mov eax, edi
cmp dword [eax + 0x28], 8
jne 0x40cc89
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x34]
cmp eax, 0x60
jne 0x40cc89
mov dword [esp + 0x28], 1
mov eax, dword [esp + 0x24]
xor esi, esi
cmp eax, esi
je 0x40cc99
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp dword [esp + 0x28], esi
je 0x40ccba
cmp dword [esp + 0x18], esi
je 0x40ccab
push dword [esp + 0x18]
jmp 0x40ccb4
cmp dword [ebp + 0x10], esi
je 0x40ccca
push dword [esp + 0x40]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp dword [esp + 0x18], esi
je 0x40ccca
push dword [esp + 0x18]
call fcn.0041218e
pop ecx
mov eax, ebx
call fcn.0040c25a
mov eax, dword [esp + 0x14]
test byte [eax + 0x40], 2
je 0x40cd08
push dword [ebx + 0xc]
push dword [esp + 0x44]
call fcn.00405ca2
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x40cd08
lea esi, [ebx + 0x158]
mov eax, esi
call fcn.0040b9f9
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [ecx + eax*4], edi
inc dword [esi + 8]
mov eax, dword [esp + 0x2c]
inc eax
mov dword [esp + 0x2c], eax
cmp eax, dword [ebp + 0xc]
jb 0x40caa5
jmp 0x40ca5c
mov dword [ebx + 0x84], 0x37
jmp 0x40ca03
push dword [esp + 0x14]
push 0x50
pop ecx
mov esi, ebx
call fcn.0040c828
jmp 0x40c97f
push dword [esp + 0x14]
push 0x62
jmp 0x40cd34