Function at 0x4077d0
Capabilities:
Copy file
Delete file
Read .ini file
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x464c30
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x60
push ebx
push ebp
push esi
lea eax, [esp + 0x34]
push edi
mov esi, ecx
push eax
call fcn.00405e90
push str.Helps
lea ecx, [esp + 0x28]
xor edi, edi
push eax
push ecx
mov dword [esp + 0x84], edi
call fcn.0045b20b
lea ecx, [esp + 0x38]
mov byte [esp + 0x78], 2
call fcn.0045af76
push 0x488690
lea ecx, [esp + 0x1c]
call fcn.0045afe4
lea edx, [esp + 0x3c]
mov ecx, esi
push edx
mov byte [esp + 0x7c], 3
call fcn.00405e90
push str.Help.chm
push eax
lea eax, [esp + 0x28]
mov byte [esp + 0x80], 4
push eax
call fcn.0045b20b
lea ecx, [esp + 0x3c]
mov byte [esp + 0x78], 6
call fcn.0045af76
lea ecx, [esp + 0x24]
push str.Helps.ini
lea edx, [esp + 0x38]
push ecx
push edx
mov dword [esp + 0x3c], 0xffffffff
call fcn.0045b20b
mov eax, dword [0x4845f4]
mov dword [esp + 0x28], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], eax
lea ecx, [esp + 0x54]
mov byte [esp + 0x78], 0xa
call fcn.0043c233
mov eax, dword [esp + 0x20]
push edi
push eax
lea ecx, [esp + 0x5c]
mov byte [esp + 0x80], 0xb
call fcn.0043c2f6
cmp eax, edi
je 0x4078d0
lea ecx, [esp + 0x54]
call fcn.0043c516
lea ecx, [esp + 0x54]
call fcn.0043c76d
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], edi
mov ebp, 1
mov bl, 0xf
push ebp
lea ecx, [esp + 0x2c]
push 0x481540
push ecx
call fcn.004551c6
mov edx, dword [esp + 0x40]
mov esi, dword [esp + 0x34]
add esp, 0xc
lea ecx, [esp + 0x14]
push edx
push 0x1000
push 0x1000
call fcn.0045b3a6
push eax
push 0x488690
push esi
push str.HelpFiles
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 0xffffffffffffffff
lea ecx, [esp + 0x18]
call fcn.0045b3f5
mov eax, dword [esp + 0x14]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x407a93
push 0x2c
lea ecx, [esp + 0x18]
call fcn.0045b43d
mov esi, eax
test esi, esi
jle 0x407a84
lea ecx, [esp + 0x48]
push esi
push ecx
lea ecx, [esp + 0x1c]
call fcn.00454da6
mov edi, eax
lea edx, [esp + 0x24]
push 0x48150c
lea eax, [esp + 0x48]
push edx
push eax
mov byte [esp + 0x84], 0xc
call fcn.0045b20b
push edi
lea ecx, [esp + 0x44]
push eax
push ecx
mov byte [esp + 0x84], 0xd
call fcn.0045b1a5
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x7c], 0xe
call fcn.0045b0af
lea ecx, [esp + 0x40]
mov byte [esp + 0x78], 0xd
call fcn.0045af76
lea ecx, [esp + 0x44]
mov byte [esp + 0x78], 0xc
call fcn.0045af76
lea ecx, [esp + 0x48]
mov byte [esp + 0x78], 0xb
call fcn.0045af76
inc esi
lea edx, [esp + 0x10]
push esi
push edx
lea ecx, [esp + 0x1c]
call fcn.00454c71
push ecx
lea eax, [esp + 0x20]
mov ecx, esp
mov dword [esp + 0x54], esp
push eax
mov byte [esp + 0x80], bl
call fcn.0045aceb
call fcn.00419310
add esp, 4
test eax, eax
je 0x407a76
mov eax, dword [esp + 0x10]
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x407a76
push eax
call fcn.004444c9
mov ecx, dword [esp + 0x84]
add esp, 4
cmp eax, ecx
je 0x407a60
push 0x2c
lea ecx, [esp + 0x14]
call fcn.0045b43d
test eax, eax
jl 0x407a76
inc eax
lea ecx, [esp + 0x4c]
push eax
push ecx
lea ecx, [esp + 0x18]
call fcn.00454c71
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x7c], 0x10
call fcn.0045b0af
lea ecx, [esp + 0x4c]
mov byte [esp + 0x78], bl
call fcn.0045af76
mov eax, dword [esp + 0x10]
mov ecx, dword [eax - 8]
test ecx, ecx
jne 0x407a04
jmp 0x407a76
lea edx, [esp + 0x1c]
lea ecx, [esp + 0x18]
push edx
call fcn.0045b0af
mov dword [esp + 0x2c], 1
lea ecx, [esp + 0x10]
mov byte [esp + 0x78], 0xb
call fcn.0045af76
mov edi, dword [esp + 0x2c]
inc ebp
test edi, edi
je 0x4078db
jmp 0x407ace
test edi, edi
jne 0x407ace
lea eax, [esp + 0x24]
push str.English.chm
lea ecx, [esp + 0x84]
push eax
push ecx
call fcn.0045b20b
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x7c], 0x11
call fcn.0045b0af
lea ecx, [esp + 0x80]
mov byte [esp + 0x78], 0xb
call fcn.0045af76
mov edx, dword [esp + 0x18]
push 0
push edx
lea ecx, [esp + 0x5c]
call fcn.0043c2f6
test eax, eax
je 0x407b17
lea ecx, [esp + 0x54]
call fcn.0043c516
lea ecx, [esp + 0x54]
call fcn.0043c76d
cmp dword [esp + 0x30], eax
je 0x407b17
mov eax, dword [esp + 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
push 0
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_CopyFileA]
lea ecx, [esp + 0x54]
mov byte [esp + 0x78], 0xa
call fcn.0043c270
lea ecx, [esp + 0x1c]
mov byte [esp + 0x78], 9
call fcn.0045af76
lea ecx, [esp + 0x14]
mov byte [esp + 0x78], 8
call fcn.0045af76
lea ecx, [esp + 0x28]
mov byte [esp + 0x78], 7
call fcn.0045af76
lea ecx, [esp + 0x34]
mov byte [esp + 0x78], 6
call fcn.0045af76
lea ecx, [esp + 0x20]
mov byte [esp + 0x78], 3
call fcn.0045af76
lea ecx, [esp + 0x18]
mov byte [esp + 0x78], 2
call fcn.0045af76
lea ecx, [esp + 0x24]
mov dword [esp + 0x78], 0xffffffff
call fcn.0045af76
mov ecx, dword [esp + 0x70]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x6c
ret 4