Function at 0x409b18
Capabilities:
Delete file

Disassembly:
mov eax, 0x43b56c
call fcn.00432e40
sub esp, 0x5c
push ebx
push esi
mov esi, ecx
push edi
lea ecx, [ebp - 0x68]
call fcn.0041c468
mov eax, dword [ebp + 8]
and dword [ebp - 4], 0
push 1
test eax, eax
pop edi
je 0x409b9f
cmp eax, edi
je 0x409b9f
cmp dword [esi + 0x1ec], edi
push eax
jne 0x409b6a
push 0xb
call fcn.00402620
mov ecx, eax
call fcn.004026a6
push 2
push 0x45
lea ecx, [ebp - 0x68]
call fcn.0041c57d
lea ecx, [ebp - 0x68]
call fcn.0041c713
mov ecx, esi
call fcn.00408c1c
jmp 0x409b93
push 0xd
call fcn.00402620
mov ecx, eax
call fcn.004026a6
push 2
push 0x47
lea ecx, [ebp - 0x68]
call fcn.0041c57d
lea ecx, [ebp - 0x68]
call fcn.0041c713
mov ecx, esi
call fcn.0040a173
and dword [esi + 0x1ec], 0
jmp 0x40a0c3
mov ecx, esi
call fcn.0040a0e9
mov eax, dword [esi + 0x1ec]
lea ebx, [esi + 0x1ec]
cmp eax, edi
jne 0x409f2c
push edi
push 0xb
call fcn.00402620
mov ecx, eax
call fcn.004026a6
and dword [ebx], 0
lea eax, [ebp - 0x28]
push eax
mov ecx, esi
call fcn.004097c9
push dword [eax]
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea ecx, [ebp - 0x28]
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp + 8]
call sub.MFC42.DLL_CString::CString_2
lea edi, [esi + 0x210]
lea eax, [ebp + 8]
push eax
mov ecx, edi
mov byte [ebp - 4], 1
call fcn.0042bb60
and dword [ebp - 0x24], 0
push str.RESULT
lea ecx, [ebp - 0x20]
call sub.MFC42.DLL_CString::CString_1
lea eax, [ebp - 0x24]
mov ecx, edi
push eax
lea eax, [ebp - 0x20]
push eax
mov byte [ebp - 4], 2
call fcn.0042c0d0
mov ebx, eax
lea ecx, [ebp - 0x20]
neg ebx
sbb bl, bl
mov byte [ebp - 4], 1
inc bl
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x409c71
push 2
push 0xb
call fcn.00402620
mov ecx, eax
call fcn.004026a6
mov ecx, esi
call fcn.00408c1c
push 2
mov ecx, esi
call fcn.00408b6c
and byte [ebp - 4], 0
lea ecx, [ebp + 8]
call sub.MFC42.DLL_CString::CString
jmp 0x40a0cc
xor ebx, ebx
push ebx
push 0xb
call fcn.00402620
mov ecx, eax
call fcn.004026a6
cmp dword [ebp - 0x24], ebx
je 0x409f1f
push 0x441470
lea ecx, [ebp - 0x28]
call sub.MFC42.DLL_CString::CString_1
lea eax, [esi + 0x1f4]
mov ecx, edi
push eax
lea eax, [ebp - 0x28]
push eax
mov byte [ebp - 4], 3
call fcn.0042bef0
mov ebx, eax
lea ecx, [ebp - 0x28]
neg ebx
sbb bl, bl
mov byte [ebp - 4], 1
inc bl
call sub.MFC42.DLL_CString::CString
test bl, bl
jne 0x409c40
lea ecx, [ebp - 0x14]
call sub.MFC42.DLL_CString::CString_2
push 0x441480
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 4
call sub.MFC42.DLL_CString::CString_1
lea eax, [ebp - 0x14]
push 1
push eax
lea eax, [ebp - 0x28]
push eax
mov ecx, edi
mov byte [ebp - 4], 5
call fcn.0042be90
mov ebx, eax
lea ecx, [ebp - 0x28]
neg ebx
sbb bl, bl
mov byte [ebp - 4], 4
inc bl
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x409d35
push 2
push 0xb
call fcn.00402620
mov ecx, eax
call fcn.004026a6
mov ecx, esi
call fcn.00408c1c
push 2
mov ecx, esi
call fcn.00408b6c
jmp 0x409f0e
push dword [ebp - 0x14]
mov ecx, esi
call fcn.00408fd2
push 0x44148c
lea ecx, [ebp - 0x28]
call sub.MFC42.DLL_CString::CString_1
lea eax, [esi + 0x1fc]
push 0x10
push eax
lea eax, [ebp - 0x28]
push eax
mov ecx, edi
mov byte [ebp - 4], 6
call fcn.0042c1d0
mov ebx, eax
lea ecx, [ebp - 0x28]
neg ebx
sbb bl, bl
mov byte [ebp - 4], 4
inc bl
call sub.MFC42.DLL_CString::CString
test bl, bl
jne 0x409d10
lea ecx, [ebp - 0x1c]
call sub.MFC42.DLL_CString::CString_2
push str.UPDATE_SIGNATURE
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 7
call sub.MFC42.DLL_CString::CString_1
lea eax, [ebp - 0x1c]
push 1
push eax
lea eax, [ebp - 0x28]
push eax
mov ecx, edi
mov byte [ebp - 4], 8
call fcn.0042be90
test eax, eax
je 0x409dc3
mov eax, dword [ebp - 0x1c]
push 2
pop ecx
mov eax, dword [eax - 8]
cdq
idiv ecx
test edx, edx
setne al
test al, al
je 0x409dc5
mov bl, 1
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 7
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x409dfa
push 2
push 0xb
call fcn.00402620
mov ecx, eax
call fcn.004026a6
mov ecx, esi
call fcn.00408c1c
push 2
mov ecx, esi
call fcn.00408b6c
jmp 0x409f02
lea eax, [esi + 0x1e8]
lea ecx, [ebp - 0x18]
push eax
call sub.MFC42.DLL_CString::CString_3
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 9
call sub.MFC42.DLL_CString::MakeUpper
lea ecx, [ebp - 0x18]
call sub.MFC42.DLL_CString::TrimLeft_1
lea ecx, [ebp - 0x18]
call sub.MFC42.DLL_CString::TrimRight
lea ecx, [ebp - 0x10]
call sub.MFC42.DLL_CString::CString_2
lea eax, [esi + 0x1fc]
mov byte [ebp - 4], 0xa
push eax
lea eax, [ebp - 0x10]
push eax
call fcn.00430db0
pop ecx
pop ecx
lea ecx, [ebp - 0x10]
call sub.MFC42.DLL_CString::MakeUpper
lea ecx, [ebp - 0x10]
call sub.MFC42.DLL_CString::TrimLeft_1
lea ecx, [ebp - 0x10]
call sub.MFC42.DLL_CString::TrimRight
push 0x18
push 0x4413ec
lea ecx, [ebp - 0x20]
call sub.MFC42.DLL_CString::CString_4
lea eax, [ebp - 0x20]
mov byte [ebp - 4], 0xb
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.00432340
add esp, 0x10
test eax, eax
jne 0x409ea3
push 2
push 0xb
call fcn.00402620
mov ecx, eax
call fcn.004026a6
mov ecx, esi
call fcn.00408c1c
jmp 0x409ed5
push 0
push 0xc
call fcn.00402620
mov ecx, eax
call fcn.004026a6
mov ecx, esi
call fcn.00408fe4
test eax, eax
jne 0x409ede
push 1
push 0xc
call fcn.00402620
mov ecx, eax
call fcn.004026a6
mov ecx, esi
call fcn.0040a173
push 2
mov ecx, esi
call fcn.00408b6c
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0xa
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 9
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 7
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 4
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 1
call sub.MFC42.DLL_CString::CString
jmp 0x409c60
mov ecx, esi
call fcn.004095a7
push ebx
jmp 0x409c59
cmp eax, 2
jne 0x40a0cc
push 0
push 0xd
call fcn.00402620
mov ecx, eax
call fcn.004026a6
lea eax, [ebp + 8]
mov ecx, esi
push eax
call fcn.00409760
mov eax, dword [eax]
lea ecx, [esi + 0x1fc]
push ecx
push eax
mov byte [ebp - 4], 0xc
call fcn.00431820
and byte [ebp - 4], 0
pop ecx
pop ecx
mov ebx, eax
lea ecx, [ebp + 8]
call sub.MFC42.DLL_CString::CString
test ebx, ebx
je 0x40a017
cmp ebx, edi
je 0x40a017
cmp ebx, 2
jne 0x40a0cc
mov eax, esi
lea ecx, [esi + 8]
neg eax
sbb eax, eax
lea ebx, [esi + 0x170]
and eax, ecx
mov ecx, ebx
push eax
call fcn.0041bf5a
mov ecx, ebx
call fcn.0041bf9c
lea eax, [ebp - 0x2c]
mov ecx, esi
push eax
call fcn.004096f7
mov dword [ebp + 8], eax
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
mov byte [ebp - 4], 0xe
call fcn.00409760
push dword [ebp + 8]
mov ecx, ebx
mov byte [ebp - 4], 0xf
push eax
call fcn.0041bf64
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xe
call sub.MFC42.DLL_CString::CString
and byte [ebp - 4], 0
lea ecx, [ebp - 0x2c]
call sub.MFC42.DLL_CString::CString
push 0
push 0xe
call fcn.00402620
mov ecx, eax
call fcn.004026a6
mov ecx, ebx
call fcn.0041bfb1
test eax, eax
jne 0x40a0cc
push edi
push 0xe
jmp 0x40a0b0
cmp dword [esi + 0x20c], 0
lea eax, [esi + 0x20c]
jne 0x40a0ac
cmp ebx, edi
mov dword [eax], edi
jne 0x40a09b
lea eax, [ebp + 8]
mov ecx, esi
push eax
call fcn.00409760
push dword [eax]
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov ebx, eax
lea ecx, [ebp + 8]
neg ebx
sbb bl, bl
inc bl
call sub.MFC42.DLL_CString::CString
test bl, bl
je 0x40a09b
lea eax, [ebp + 8]
mov ecx, esi
push eax
call fcn.00409760
push dword [eax]
mov byte [ebp - 4], 0xd
call fcn.00431640
and byte [ebp - 4], 0
pop ecx
lea ecx, [ebp + 8]
call sub.MFC42.DLL_CString::CString
mov ecx, esi
call fcn.0040966d
push 2
mov ecx, esi
call fcn.00408b6c
push edi
push 0xd
call fcn.00402620
mov ecx, eax
call fcn.004026a6
jmp 0x40a0cc
mov ecx, esi
call fcn.00408fe4
test eax, eax
je 0x40a0ac
push 0
push 0xc
jmp 0x40a08d
push 2
push 0xd
call fcn.00402620
mov ecx, eax
call fcn.004026a6
mov ecx, esi
call fcn.0040966d
push 2
mov ecx, esi
call fcn.00408b6c
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x68]
call fcn.0041c541
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 8