Function at 0x402310
Capabilities:
Copy file
Set current directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x680
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
cmp byte [0x41a274], 0
push esi
push edi
mov edi, ecx
mov byte [0x419e60], 0
je 0x40283a
cmp byte [0x41a260], 0
je 0x40283a
mov ecx, 0x41a274
mov eax, 0x41a260
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x402372
test dl, dl
je 0x40236e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x402372
add eax, 2
add ecx, 2
test dl, dl
jne 0x402352
xor eax, eax
jmp 0x402377
sbb eax, eax
or eax, 1
test eax, eax
jns 0x402529
cmp dword [0x419e28], 0
je 0x4023ae
push 0
push str._Aggiornamento_Client_Halley
push str.E_DISPONIBILE_UNA_NUOVA_VERSIONE_DEL_CLIENT_HALLEY._n_nFino_a_che_il_responsabile_di_sistema_non_provvede_ad_aggiornare_il____nclient_centralizzato_si_potra_COMUNQUE_procedere_nel_lavoro___________nMA_utilizzando_la_versione_del_Client_Halley_precedente.
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00402cae
mov esp, ebp
pop ebp
ret
call fcn.00402260
mov esi, dword [sym.imp.USER32.dll_MessageBoxA]
test eax, eax
je 0x4023d6
push 4
push str.Attenzione
push str.Il_client_st
push 0
call esi
cmp eax, 7
je 0x40283a
call fcn.00402260
test eax, eax
je 0x402401
push 0
push str.Attenzione
push str.Risultano_ancora_processi_hbrocx.exe_in_esecuzione_n_nLaggiornamento_non_verr
push 0
call esi
xor eax, eax
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00402cae
mov esp, ebp
pop ebp
ret
push 0x41a2bc
lea eax, [ebp - 0x248]
push str._shghx
push eax
call fcn.00403803
add esp, 0xc
lea eax, [ebp - 0x248]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
test eax, eax
jne 0x402466
lea eax, [ebp - 0x248]
push eax
push str.Impossibile_accedere_alla_directory:_s_n_nLaggiornamento_non_verr
push 0x419e60
call fcn.00403803
add esp, 0xc
push 0
push str.Attenzione
push 0x419e60
push 0
call esi
xor eax, eax
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00402cae
mov esp, ebp
pop ebp
ret
push 0x41a288
push 0x419e2c
push 0x41a2bc
lea eax, [ebp - 0x140]
push str._shghxhbrocx__aggio_http:___s_include__s
push eax
call fcn.00403803
add esp, 0x14
xor edx, edx
push 1
lea ecx, [ebp - 0x140]
call fcn.004029f0
add esp, 4
test eax, eax
lea eax, [ebp - 0x248]
je 0x4024da
push eax
push str.Impossibile_scaricare_laggiornamento_Client_Halley_nella_directory__s._nContattare_il_proprio_tecnico_informatico_e_verificare_che:_n_n1__si_abbiano_i_permessi_di_scrittura_per_il_percorso_indicato_n2__lantivirus_non_blocchi_lo_scarico_dei_nuovi_componenti._n_n
push 0x419e60
call fcn.00403803
add esp, 0xc
push 0
push str.Attenzione
push 0x419e60
push 0
call esi
xor eax, eax
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00402cae
mov esp, ebp
pop ebp
ret
push edi
push 0x41a274
push eax
push 0x41a288
push 0x41a2bc
lea eax, [ebp - 0x680]
push str._shghxhaggioclient__s__s__s__s
push eax
call fcn.00403803
add esp, 0x1c
mov edx, 2
push 0
lea ecx, [ebp - 0x680]
call fcn.004029f0
add esp, 4
mov eax, 1
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00402cae
mov esp, ebp
pop ebp
ret
cmp dword [0x419e28], 0
je 0x40283a
xor ecx, ecx
jmp 0x402540
mov al, byte [ecx + 0x41a274]
mov byte [ebp + ecx - 0x27c], al
lea ecx, [ecx + 1]
test al, al
jne 0x402540
mov ax, word [0x4165a4]
mov word [ebp - 0x38], ax
mov al, byte [0x4165a6]
push 0x41a2bc
mov byte [ebp - 0x36], al
lea eax, [ebp - 0x248]
push str._shghxinfo_centralizzata.txt
push eax
call fcn.00403803
add esp, 0xc
lea eax, [ebp - 0x248]
push 0x41611c
push eax
call fcn.00403bde
mov esi, eax
add esp, 8
test esi, esi
je 0x4025b4
lea eax, [ebp - 0x38]
push eax
push 0x416120
push esi
call fcn.00403bf3
add esp, 0xc
push esi
call fcn.00403d7c
add esp, 4
mov ecx, 0x4165a4
lea eax, [ebp - 0x38]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4025e0
test dl, dl
je 0x4025dc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4025e0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4025c0
xor eax, eax
jmp 0x4025e5
sbb eax, eax
or eax, 1
test eax, eax
je 0x40261f
lea ecx, [ebp - 0x27c]
lea eax, [ebp - 0x38]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x402612
test dl, dl
je 0x40260e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x402612
add eax, 2
add ecx, 2
test dl, dl
jne 0x4025f2
xor eax, eax
jmp 0x402617
sbb eax, eax
or eax, 1
test eax, eax
jns 0x40283a
push dword [0x419e28]
lea eax, [ebp - 0x140]
push str._s_syshhfmos.ddf
push eax
call fcn.00403803
add esp, 0xc
lea eax, [ebp - 0x248]
push 0x41a2bc
push str._shghx_syshhfmos.ddf
push eax
call fcn.00403803
mov esi, dword [sym.imp.KERNEL32.dll_CopyFileA]
add esp, 0xc
lea eax, [ebp - 0x248]
push 1
push eax
lea eax, [ebp - 0x140]
push eax
call esi
push dword [0x419e28]
lea eax, [ebp - 0x140]
push str._s_syshhfdbs.ddf
push eax
call fcn.00403803
add esp, 0xc
lea eax, [ebp - 0x248]
push 0x41a2bc
push str._shghx_syshhfdbs.ddf
push eax
call fcn.00403803
add esp, 0xc
lea eax, [ebp - 0x248]
push 1
push eax
lea eax, [ebp - 0x140]
push eax
call esi
push dword [0x419e28]
lea eax, [ebp - 0x140]
push str._s_syshhfdtt.ddf
push eax
call fcn.00403803
add esp, 0xc
lea eax, [ebp - 0x248]
push 0x41a2bc
push str._shghx_syshhfdtt.ddf
push eax
call fcn.00403803
add esp, 0xc
lea eax, [ebp - 0x248]
push 1
push eax
lea eax, [ebp - 0x140]
push eax
call esi
push dword [0x419e28]
lea eax, [ebp - 0x140]
push str._s_syshhgene.ddf
push eax
call fcn.00403803
add esp, 0xc
lea eax, [ebp - 0x248]
push 0x41a2bc
push str._shghx_syshhgene.ddf
push eax
call fcn.00403803
add esp, 0xc
lea eax, [ebp - 0x248]
push 1
push eax
lea eax, [ebp - 0x140]
push eax
call esi
push dword [0x419e28]
lea eax, [ebp - 0x140]
push str.regsvr32__s__sDSChart.dll
push eax
call fcn.00403803
add esp, 0xc
xor edx, edx
push 1
lea ecx, [ebp - 0x140]
call fcn.004029f0
add esp, 4
lea eax, [ebp - 0x140]
push dword [0x419e28]
push str.regsvr32__s__sHALLEY_OCX_1.ocx
push eax
call fcn.00403803
add esp, 0xc
xor edx, edx
push 1
lea ecx, [ebp - 0x140]
call fcn.004029f0
add esp, 4
lea eax, [ebp - 0x140]
push dword [0x419e28]
push str.regsvr32__s__sebCrypt.dll
push eax
call fcn.00403803
add esp, 0xc
xor edx, edx
push 1
lea ecx, [ebp - 0x140]
call fcn.004029f0
add esp, 4
lea eax, [ebp - 0x140]
push dword [0x419e28]
push str.regsvr32__s__smsmapi32.ocx
push eax
call fcn.00403803
add esp, 0xc
xor edx, edx
push 1
lea ecx, [ebp - 0x140]
call fcn.004029f0
add esp, 4
lea eax, [ebp - 0x248]
push 0x41a2bc
push str._shghxinfo_centralizzata.txt
push eax
call fcn.00403803
add esp, 0xc
lea eax, [ebp - 0x248]
push 0x4166ec
push eax
call fcn.00403bde
mov esi, eax
add esp, 8
test esi, esi
je 0x40283a
lea eax, [ebp - 0x27c]
push eax
push 0x416120
push esi
call fcn.00403df3
add esp, 0xc
push esi
call fcn.00403d7c
add esp, 4
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
xor eax, eax
pop esi
call fcn.00402cae
mov esp, ebp
pop ebp
ret