Function at 0x4208a0
Capabilities:
Delete file

Disassembly:
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x576a96
push eax
mov eax, 0x1010
mov dword fs:[0], esp
call fcn.00573b80
push ebx
push ebp
push esi
mov esi, ecx
push edi
xor ebx, ebx
mov eax, dword [esi + 0xf830]
mov edi, dword [eax + 0x60]
cmp edi, ebx
je 0x4208e7
push 0xffffffffffffffff
push edi
mov dword [eax + 0x60], ebx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [esi + 0xf830]
mov edx, dword [ecx]
mov dword [edx + 0x20], eax
mov eax, dword [esi + 0xf830]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x20]
mov ecx, esi
mov dword [eax + 0x84], edx
call fcn.00425aa0
mov eax, dword [esi + 0xf830]
mov edx, dword [esi + 0xf834]
mov ecx, dword [eax + 4]
push ecx
push edx
call fcn.0049e310
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 0xf830]
add esp, 8
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [esp + 0x18], ecx
mov eax, dword [edx + 8]
push eax
call sub.WSOCK32.dll_closesocket
mov ecx, dword [esi + 0xf830]
mov eax, dword [ecx + 0x58]
push eax
call sub.MFC42.DLL_operatordelete
mov edx, dword [esi + 0xf830]
add esp, 4
mov eax, dword [edx]
cmp eax, ebx
je 0x420974
push eax
call sub.MFC42.DLL_operatordelete
mov eax, dword [esi + 0xf830]
add esp, 4
mov dword [eax], ebx
mov eax, dword [esi + 0xf830]
cmp dword [eax + 0x90], 8
jne 0x420cb5
mov ecx, dword [eax + 4]
push 5
push ecx
mov ecx, esi
call fcn.00425cb0
cmp dword [esi + 0x13ad8], ebx
je 0x4209ff
mov ebp, dword [esi + 0xf834]
xor edx, edx
mov edi, dword [ebp + 0x1c]
cmp edi, ebx
jle 0x421019
mov ecx, dword [ebp + 0x18]
mov eax, dword [ecx]
cmp dword [eax + 0x2c], ebx
je 0x4209bf
cmp eax, dword [esp + 0x18]
jne 0x4209cc
inc edx
add ecx, 4
cmp edx, edi
jl 0x4209b2
jmp 0x421019
mov edx, dword [esp + 0x14]
push edx
push ebp
call fcn.0049dcc0
mov eax, dword [esi + 0xf830]
add esp, 8
mov dword [eax + 0x70], ebx
push ebx
mov dword [eax + 0x74], ebx
mov ecx, dword [esi + 0xf830]
mov dword [ecx + 0x8c], ebx
mov ecx, esi
call fcn.0041d9a0
jmp 0x4212f5
mov eax, dword [esi + 0xf830]
mov dword [esi + 0x13a7c], ebx
mov ebx, dword [sym.imp.USER32.dll_wsprintfA]
lea edx, [esp + 0x820]
mov ebp, dword [eax + 0x84]
mov ecx, dword [eax + 0x80]
push 0x5e254c
push edx
sub ebp, ecx
call ebx
mov edi, eax
mov eax, dword [esi + 0xf830]
push 0
mov ecx, dword [eax + 0x7c]
push ecx
mov edx, dword [eax + 0x78]
lea eax, [esp + edi + 0x830]
push edx
push eax
call fcn.0043bb90
add edi, eax
add esp, 0x18
lea ecx, [esp + edi + 0x820]
push 0x5e2540
push ecx
call ebx
add esp, 8
add edi, eax
test ebp, ebp
mov ebx, ebp
jne 0x420a71
mov ebx, 1
mov edx, dword [esi + 0xf830]
push 0
push 0
push 0x3e8
mov eax, dword [edx + 0x7c]
push eax
mov ecx, dword [edx + 0x78]
push ecx
call fcn.00573bc0
push 0
push ebx
push edx
push eax
call fcn.00573c00
push edx
lea edx, [esp + edi + 0x828]
push eax
push edx
call fcn.0043bb90
add edi, eax
mov eax, 0x10624dd3
mul ebp
mov ebx, edx
add esp, 0x10
shr ebx, 6
push ebx
lea eax, [esp + edi + 0x824]
push 0x5e2534
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
add edi, eax
cmp ebx, 0x14
jae 0x420b07
mov eax, ebp
xor edx, edx
mov ecx, 0x3e8
mov ebx, dword [sym.imp.USER32.dll_wsprintfA]
div ecx
mov eax, 0xcccccccd
mul edx
shr edx, 3
push edx
lea edx, [esp + edi + 0x824]
push str.._02d
push edx
call ebx
add esp, 0xc
add edi, eax
jmp 0x420b0d
mov ebx, dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [esp + edi + 0x820]
push 0x5e2524
push eax
call ebx
add edi, eax
mov eax, dword [esi + 0xf830]
add esp, 8
mov ecx, dword [eax + 0x88]
cmp ecx, 1
jg 0x420b68
mov edx, dword [eax + 8]
test edx, edx
jne 0x420b68
mov eax, dword [eax + 4]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x420b55
mov eax, ecx
lea ecx, [esp + edi + 0x820]
push eax
push 0x5e2518
push ecx
jmp 0x420b76
mov eax, dword [eax + 0x10]
lea ecx, [esp + edi + 0x820]
push eax
push 0x5e2518
push ecx
jmp 0x420b76
push ecx
lea edx, [esp + edi + 0x824]
push 0x5e250c
push edx
call ebx
add esp, 0xc
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 0x5f3788
call sub.MFC42.DLL_CString::CString_3
push 0xffffffffffffffff
mov ecx, esi
call fcn.00425860
lea edi, [esi + 0x13adc]
lea eax, [esp + 0x820]
push eax
mov ecx, edi
call sub.MFC42.DLL_CString::operator_2
push 0xde5921
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push edi
call sub.MFC42.DLL_CString::CString_4
mov ecx, esi
call fcn.00425730
mov ecx, dword [esi + 0xf830]
cmp dword [ecx + 0x90], 8
jne 0x420c0d
mov edx, dword [esp + 0x14]
mov eax, dword [esi + 0xf834]
push edx
push eax
call fcn.0049dcc0
mov eax, dword [esi + 0xf834]
add esp, 8
test eax, eax
je 0x4212f0
mov ecx, dword [eax + 0x1c]
test ecx, ecx
jne 0x4212f0
mov ecx, esi
call fcn.00426db0
jmp 0x4212f0
mov eax, dword [esi + 0xf834]
xor ebx, ebx
xor ecx, ecx
cmp dword [eax + 0x1c], ebx
jle 0x420c32
mov edx, dword [eax + 0x18]
inc ecx
mov eax, dword [edx + ecx*4 - 4]
mov dword [eax + 0x2c], ebx
mov eax, dword [esi + 0xf834]
cmp ecx, dword [eax + 0x1c]
jl 0x420c1c
mov ecx, dword [esi + 0xf830]
push 3
mov edx, dword [ecx + 4]
mov ecx, esi
push edx
call fcn.00425cb0
lea edi, [esi + 0x27e8]
mov ecx, edi
call sub.MFC42.DLL_CWnd::IsWindowEnabled
test eax, eax
jne 0x420c5f
push 1
mov ecx, edi
call sub.MFC42.DLL_CWnd::EnableWindow
lea edi, [esi + 0x2784]
mov ecx, edi
call sub.MFC42.DLL_CWnd::IsWindowEnabled
test eax, eax
jne 0x420c79
push 1
mov ecx, edi
call sub.MFC42.DLL_CWnd::EnableWindow
lea edi, [esi + 0x2720]
mov ecx, edi
call sub.MFC42.DLL_CWnd::IsWindowEnabled
test eax, eax
je 0x420c92
push ebx
mov ecx, edi
call sub.MFC42.DLL_CWnd::EnableWindow
mov eax, dword [esi + 0x26dc]
cmp eax, ebx
je 0x4212f0
push eax
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x4212f0
push ebx
jmp 0x4212e5
cmp dword [esi + 0x13ad8], ebx
jne 0x420ffb
mov dword [esi + 0x13a7c], ebx
mov ebp, dword [eax + 0x84]
mov ecx, dword [eax + 0x80]
mov ebx, dword [sym.imp.USER32.dll_wsprintfA]
sub ebp, ecx
lea ecx, [esp + 0x420]
push 0x5e254c
push ecx
call ebx
mov edx, dword [esi + 0xf830]
mov edi, eax
push 0
mov eax, dword [edx + 0x7c]
push eax
mov ecx, dword [edx + 0x78]
lea edx, [esp + edi + 0x430]
push ecx
push edx
call fcn.0043bb90
add edi, eax
add esp, 0x18
lea eax, [esp + edi + 0x420]
push 0x5e2540
push eax
call ebx
add esp, 8
add edi, eax
test ebp, ebp
mov ebx, ebp
jne 0x420d2d
mov ebx, 1
mov ecx, dword [esi + 0xf830]
push 0
push 0
push 0x3e8
mov edx, dword [ecx + 0x7c]
push edx
mov eax, dword [ecx + 0x78]
push eax
call fcn.00573bc0
push 0
push ebx
push edx
push eax
call fcn.00573c00
push edx
lea ecx, [esp + edi + 0x428]
push eax
push ecx
call fcn.0043bb90
add edi, eax
mov eax, 0x10624dd3
mul ebp
mov ebx, edx
add esp, 0x10
shr ebx, 6
push ebx
lea edx, [esp + edi + 0x424]
push 0x5e2534
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
add edi, eax
cmp ebx, 0x14
jae 0x420dc3
mov eax, ebp
xor edx, edx
mov ecx, 0x3e8
mov ebx, dword [sym.imp.USER32.dll_wsprintfA]
div ecx
mov eax, 0xcccccccd
mul edx
shr edx, 3
push edx
lea edx, [esp + edi + 0x424]
push str.._02d
push edx
call ebx
add esp, 0xc
add edi, eax
jmp 0x420dc9
mov ebx, dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [esp + edi + 0x420]
push 0x5e2524
push eax
call ebx
add edi, eax
mov eax, dword [esi + 0xf830]
add esp, 8
mov ecx, dword [eax + 0x88]
cmp ecx, 1
jg 0x420e26
mov edx, dword [eax + 8]
xor ebp, ebp
cmp edx, ebp
jne 0x420e28
mov eax, dword [eax + 4]
mov ecx, dword [eax + 0xc]
cmp ecx, ebp
je 0x420e13
mov eax, ecx
lea ecx, [esp + edi + 0x420]
push eax
push 0x5e2518
push ecx
jmp 0x420e36
mov eax, dword [eax + 0x10]
lea ecx, [esp + edi + 0x420]
push eax
push 0x5e2518
push ecx
jmp 0x420e36
xor ebp, ebp
push ecx
lea edx, [esp + edi + 0x424]
push 0x5e250c
push edx
call ebx
add esp, 0xc
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 0x5f3788
call sub.MFC42.DLL_CString::CString_3
push 0xffffffffffffffff
mov ecx, esi
call fcn.00425860
lea edi, [esi + 0x13adc]
lea eax, [esp + 0x420]
push eax
mov ecx, edi
call sub.MFC42.DLL_CString::operator_2
push 0xde5921
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push edi
call sub.MFC42.DLL_CString::CString_4
mov ecx, esi
call fcn.00425730
mov ecx, dword [esi + 0xf830]
cmp dword [ecx + 0x90], 8
jne 0x420ecb
mov edx, dword [esp + 0x14]
mov eax, dword [esi + 0xf834]
push edx
push eax
call fcn.0049dcc0
mov eax, dword [esi + 0xf834]
add esp, 8
cmp eax, ebp
je 0x4212f0
cmp dword [eax + 0x1c], ebp
jne 0x4212f0
mov ecx, esi
call fcn.00426db0
jmp 0x4212f0
mov eax, dword [esi + 0xf834]
xor ecx, ecx
cmp dword [eax + 0x1c], ebp
jle 0x420eee
mov edx, dword [eax + 0x18]
inc ecx
mov eax, dword [edx + ecx*4 - 4]
mov dword [eax + 0x2c], ebp
mov eax, dword [esi + 0xf834]
cmp ecx, dword [eax + 0x1c]
jl 0x420ed8
mov eax, dword [esi + 0xf830]
push 3
mov ecx, dword [eax + 4]
push ecx
mov ecx, esi
call fcn.00425cb0
push 1
lea ecx, [esi + 0x27e8]
call sub.MFC42.DLL_CWnd::EnableWindow
push 1
lea ecx, [esi + 0x2784]
call sub.MFC42.DLL_CWnd::EnableWindow
push ebp
lea ecx, [esi + 0x2720]
call sub.MFC42.DLL_CWnd::EnableWindow
mov eax, dword [esi + 0x26dc]
cmp eax, ebp
je 0x420f4a
mov edx, eax
push edx
call dword [sym.imp.USER32.dll_IsWindowVisible]
cmp eax, ebp
je 0x420f4a
push ebp
lea ecx, [esi + 0x26bc]
call sub.MFC42.DLL_CWnd::ShowWindow
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::CString_5
mov esi, dword [esi + 0xf830]
mov dword [esp + 0x1028], ebp
mov eax, dword [esi + 8]
lea ecx, [esi + 0x198]
cmp eax, ebp
jne 0x420f73
lea ecx, [esi + 0x94]
mov eax, dword [esi + 0x1c]
cmp eax, ebp
jne 0x420f7d
mov eax, dword [esi + 0x20]
push eax
lea eax, [esp + 0xc24]
push ecx
push eax
call fcn.0043c340
add esp, 0xc
cmp eax, 0x104
jge 0x420fe2
lea ecx, [esp + 0xc20]
push ecx
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::CString_3
push str..fiq
lea edx, [esp + 0x1c]
push eax
push edx
mov byte [esp + 0x1034], 1
call sub.MFC42.DLL_operator
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov byte [esp + 0x1028], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1028], 0xffffffff
call sub.MFC42.DLL_CString::CString
jmp 0x4212f0
push 0xde5921
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x5e24fc
call sub.MFC42.DLL_CString::CString_3
mov ecx, esi
call fcn.00425730
cmp dword [esp + 0x1030], ebx
je 0x421040
push 0xde5921
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x5e24ec
call sub.MFC42.DLL_CString::CString_3
mov ecx, esi
call fcn.00425730
mov eax, dword [esi + 0xf830]
mov ebx, dword [sym.imp.USER32.dll_wsprintfA]
push 0x5e24cc
mov ebp, dword [eax + 0x84]
mov ecx, dword [eax + 0x80]
lea eax, [esp + 0x24]
sub ebp, ecx
push eax
call ebx
mov ecx, dword [esi + 0xf830]
mov edi, eax
push 0
mov edx, dword [ecx + 0x7c]
push edx
mov eax, dword [ecx + 0x78]
lea ecx, [esp + edi + 0x30]
push eax
push ecx
call fcn.0043bb90
add edi, eax
add esp, 0x18
lea edx, [esp + edi + 0x20]
push 0x5e2540
push edx
call ebx
add esp, 8
add edi, eax
test ebp, ebp
mov ebx, ebp
jne 0x4210a3
mov ebx, 1
mov eax, dword [esi + 0xf830]
push 0
push 0
push 0x3e8
mov ecx, dword [eax + 0x7c]
push ecx
mov edx, dword [eax + 0x78]
push edx
call fcn.00573bc0
push 0
push ebx
push edx
push eax
call fcn.00573c00
push edx
push eax
lea eax, [esp + edi + 0x2c]
push eax
call fcn.0043bb90
add edi, eax
mov eax, 0x10624dd3
mul ebp
mov ebx, edx
add esp, 0x10
shr ebx, 6
push ebx
lea ecx, [esp + edi + 0x24]
push 0x5e2534
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
add edi, eax
cmp ebx, 0x14
jae 0x421130
mov eax, ebp
xor edx, edx
mov ecx, 0x3e8
mov ebx, dword [sym.imp.USER32.dll_wsprintfA]
div ecx
mov eax, 0xcccccccd
mul edx
shr edx, 3
push edx
lea edx, [esp + edi + 0x24]
push str.._02d
push edx
call ebx
add esp, 0xc
add edi, eax
jmp 0x421136
mov ebx, dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [esp + edi + 0x20]
push 0x5e2524
push eax
call ebx
add edi, eax
mov eax, dword [esi + 0xf830]
add esp, 8
mov ecx, dword [eax + 0x88]
cmp ecx, 1
jg 0x4211a1
mov edx, dword [eax + 8]
test edx, edx
jne 0x4211a1
mov ecx, dword [esp + 0x1030]
test ecx, ecx
jne 0x421193
mov eax, dword [eax + 4]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x421183
mov eax, ecx
lea ecx, [esp + edi + 0x20]
push eax
push 0x5e2518
push ecx
jmp 0x4211ac
mov eax, dword [eax + 0x10]
lea ecx, [esp + edi + 0x20]
push eax
push 0x5e2518
push ecx
jmp 0x4211ac
push 1
lea edx, [esp + edi + 0x24]
push 0x5e24c0
push edx
jmp 0x4211ac
push ecx
lea eax, [esp + edi + 0x24]
push 0x5e250c
push eax
call ebx
add esp, 0xc
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 0x5f3788
call sub.MFC42.DLL_CString::CString_3
push 0xffffffffffffffff
mov ecx, esi
call fcn.00425860
lea ecx, [esp + 0x20]
lea edi, [esi + 0x13adc]
push ecx
mov ecx, edi
call sub.MFC42.DLL_CString::operator_2
push 0xde5921
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push edi
call sub.MFC42.DLL_CString::CString_4
mov ecx, esi
call fcn.00425730
lea edi, [esi + 0x27e8]
push 0
mov ecx, edi
call sub.MFC42.DLL_CWnd::EnableWindow
lea ebx, [esi + 0x2784]
push 0
mov ecx, ebx
call sub.MFC42.DLL_CWnd::EnableWindow
lea ebp, [esi + 0x2720]
push 0
mov ecx, ebp
call sub.MFC42.DLL_CWnd::EnableWindow
mov eax, dword [esi + 0x26dc]
test eax, eax
je 0x421249
mov edx, eax
push edx
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x421249
push 0
lea ecx, [esi + 0x26bc]
call sub.MFC42.DLL_CWnd::ShowWindow
mov eax, dword [esi + 0xf830]
xor edx, edx
mov dword [esi + 0x13a7c], edx
cmp dword [eax + 0x90], 8
jne 0x42127d
mov ecx, dword [esp + 0x14]
mov edx, dword [esi + 0xf834]
push ecx
push edx
call fcn.0049dcc0
add esp, 8
mov ecx, esi
call fcn.00426db0
jmp 0x4212f0
mov eax, dword [esi + 0xf834]
xor ecx, ecx
cmp dword [eax + 0x1c], edx
jle 0x4212a0
mov eax, dword [eax + 0x18]
inc ecx
mov eax, dword [eax + ecx*4 - 4]
mov dword [eax + 0x2c], edx
mov eax, dword [esi + 0xf834]
cmp ecx, dword [eax + 0x1c]
jl 0x42128a
mov ecx, dword [esi + 0xf830]
push 3
mov edx, dword [ecx + 4]
mov ecx, esi
push edx
call fcn.00425cb0
push 1
mov ecx, edi
call sub.MFC42.DLL_CWnd::EnableWindow
push 1
mov ecx, ebx
call sub.MFC42.DLL_CWnd::EnableWindow
push 0
mov ecx, ebp
call sub.MFC42.DLL_CWnd::EnableWindow
mov eax, dword [esi + 0x26dc]
test eax, eax
je 0x4212f0
push eax
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x4212f0
push 0
lea ecx, [esi + 0x26bc]
call sub.MFC42.DLL_CWnd::ShowWindow
mov eax, 1
mov ecx, dword [esp + 0x1020]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x101c
ret 4