Function at 0x4034f0
Capabilities:
Check if file exists
Delete file
Get session user name

Disassembly:
mov eax, dword [0x420b90]
sub esp, 0x310
push ebx
push ebp
push esi
xor esi, esi
cmp eax, esi
push edi
jne 0x403688
mov eax, dword [0x41afc0]
cmp eax, esi
mov dword [0x41a938], esi
jne 0x40351d
mov eax, dword [0x41ae60]
push 0x104
lea ecx, [esp + 0x11c]
push ecx
push 0x39b
push eax
call dword [sym.imp.USER32.dll_LoadStringA]
mov eax, dword [0x41a920]
lea edx, [esp + 0x118]
push edx
push 0x7da
push eax
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
mov edi, 0x41aa48
call fcn.00402d80
push 4
push 8
mov dword [esp + 0x18], esi
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov ebp, dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov dword [0x420b8c], eax
mov edi, str.Data
mov ebx, 5
push 0x41aa48
lea ecx, [esp + 0x18]
push ecx
call ebp
push edi
lea edx, [esp + 0x18]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea eax, [esp + 0x14]
call fcn.00402df0
mov eax, dword [0x419a18]
test eax, eax
je 0x4035c8
mov eax, dword [0x420b8c]
test eax, eax
je 0x4035c8
push 0x420b8c
push edi
lea esi, [esp + 0x18]
call fcn.00403a10
add esp, 8
add edi, 0x108
dec ebx
jne 0x403583
mov eax, dword [esp + 0x10]
mov ecx, dword [0x41a920]
mov esi, dword [sym.imp.USER32.dll_SendDlgItemMessageA]
add eax, 4
mov dword [0x420b94], eax
movzx eax, ax
shl eax, 0x10
push eax
push 0
push 0x401
push 0x7db
push ecx
call esi
mov eax, 0x41aa48
call fcn.00403040
neg eax
sbb eax, eax
inc eax
mov dword [0x41a938], eax
mov eax, dword [0x419a18]
test eax, eax
je 0x403662
mov eax, dword [0x41afc0]
test eax, eax
jne 0x40362a
mov eax, dword [0x41ae60]
push 0x104
lea edx, [esp + 0x11c]
push edx
push 0x39c
push eax
call dword [sym.imp.USER32.dll_LoadStringA]
mov ecx, dword [0x41a920]
lea eax, [esp + 0x118]
push eax
push 0x7da
push ecx
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
jmp 0x403923
mov eax, dword [0x420b94]
mov edx, dword [0x41a920]
push 0
dec eax
push eax
push 0x403
push 0x7db
push edx
mov dword [0x420b90], eax
call esi
jmp 0x403923
cmp eax, 3
ja 0x4036b4
mov eax, dword [eax*4 + 0x419a04]
push eax
call fcn.00403b70
add esp, 4
test eax, eax
jne 0x403923
mov dword [0x41a938], 1
jmp 0x403923
cmp eax, dword [0x420b94]
jge 0x403704
mov ecx, dword [0x420b8c]
cmp ecx, esi
je 0x403722
mov ecx, dword [ecx + eax*4 - 0x10]
push ecx
call fcn.00403b70
add esp, 4
test eax, eax
jne 0x4036e1
mov dword [0x41a938], 1
mov edx, dword [0x420b90]
mov eax, dword [0x420b8c]
mov ecx, dword [eax + edx*4 - 0x10]
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x403923
mov eax, dword [0x420b8c]
cmp eax, esi
je 0x403722
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov dword [0x420b8c], esi
cmp dword [0x41a928], esi
je 0x403784
cmp dword [0x41a930], esi
je 0x40376b
call fcn.00403f30
mov esi, eax
call fcn.00403f70
push 1
mov eax, esi
call fcn.004040a0
add esp, 4
push esi
mov esi, dword [sym.imp.KERNEL32.dll_DeleteFileA]
call esi
push 7
lea ebx, [esp + 0x220]
call fcn.00402be0
add esp, 4
mov edx, ebx
push edx
call esi
jmp 0x403784
push esi
push 1
mov esi, 7
call fcn.00403de0
push 2
xor eax, eax
call fcn.004040a0
add esp, 0xc
mov eax, dword [0x41a92c]
test eax, eax
je 0x4037a2
mov eax, dword [0x41a934]
push eax
push 1
mov esi, 0x10
call fcn.00403de0
add esp, 8
call fcn.004045b0
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x41aa48
lea ecx, [esp + 0x18]
push ecx
call edi
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
push str.CLaunch.chm
lea edx, [esp + 0x18]
push edx
call esi
mov ebx, dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
lea eax, [esp + 0x14]
push eax
call ebx
test eax, eax
je 0x4037e7
lea ecx, [esp + 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 0x41aa48
lea edx, [esp + 0x18]
push edx
call edi
push str.Data_
lea eax, [esp + 0x18]
push eax
call esi
mov ebp, dword [sym.imp.ADVAPI32.dll_GetUserNameA]
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0x220]
push edx
mov dword [esp + 0x18], 0x104
call ebp
lea eax, [esp + 0x21c]
push eax
lea ecx, [esp + 0x18]
push ecx
call esi
push 0x416ae8
lea edx, [esp + 0x18]
push edx
call esi
push str.Mode1.cic
lea eax, [esp + 0x18]
push eax
call esi
lea ecx, [esp + 0x14]
push ecx
call ebx
test eax, eax
jne 0x403872
push 0x41aa48
lea edx, [esp + 0x18]
push edx
call edi
push str.Data_
lea eax, [esp + 0x18]
push eax
call esi
push str.Mode1.cic
lea ecx, [esp + 0x18]
push ecx
call esi
lea edx, [esp + 0x14]
push edx
call ebx
test eax, eax
je 0x403888
lea eax, [esp + 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 0x41aa48
lea ecx, [esp + 0x18]
push ecx
call edi
push str.Data_
lea edx, [esp + 0x18]
push edx
call esi
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x220]
push ecx
mov dword [esp + 0x18], 0x104
call ebp
lea edx, [esp + 0x21c]
push edx
lea eax, [esp + 0x18]
push eax
call esi
push 0x416ae8
lea ecx, [esp + 0x18]
push ecx
call esi
push str.Mode2.cic
lea edx, [esp + 0x18]
push edx
call esi
lea eax, [esp + 0x14]
push eax
call ebx
test eax, eax
jne 0x40390d
push 0x41aa48
lea ecx, [esp + 0x18]
push ecx
call edi
push str.Data_
lea edx, [esp + 0x18]
push edx
call esi
push str.Mode2.cic
lea eax, [esp + 0x18]
push eax
call esi
lea ecx, [esp + 0x14]
push ecx
call ebx
test eax, eax
je 0x403923
lea edx, [esp + 0x14]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, dword [0x41a920]
push 0
push 1
push 0x403
push 0x7db
push eax
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
mov eax, dword [0x420b90]
mov ecx, dword [0x420b94]
inc eax
cmp eax, ecx
mov dword [0x420b90], eax
push 0
jle 0x4039f2
mov ecx, dword [0x41ae64]
mov esi, dword [sym.imp.USER32.dll_PostMessageA]
push 0
push 0x46b
push ecx
call esi
mov eax, dword [0x41a938]
test eax, eax
mov eax, dword [0x41afc0]
je 0x403999
test eax, eax
jne 0x403985
mov eax, dword [0x41ae60]
push 0x104
lea edx, [esp + 0x11c]
push edx
push 0x39d
jmp 0x4039b4
test eax, eax
jne 0x4039a2
mov eax, dword [0x41ae60]
push 0x104
lea edx, [esp + 0x11c]
push edx
push 0x39e
push eax
call dword [sym.imp.USER32.dll_LoadStringA]
mov ecx, dword [0x41a920]
lea eax, [esp + 0x118]
push eax
push 0x7da
push ecx
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
mov edx, dword [0x41ae64]
push 4
push 0
push 0x470
push edx
call esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x310
ret
mov eax, dword [0x41a920]
push 1
push 0x111
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x310
ret