Function at 0x403c1a
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1018
call fcn.004252d0
mov eax, dword [0x452440]
xor eax, ebp
mov dword [ebp - 4], eax
cmp byte [0x4549b0], 1
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov dword [ebp - 0x1018], ebx
mov edi, str..QHUnPackDlg.cpp
mov esi, str.c:logsqhunpack.log
jne 0x403c64
push str.CQHUnPackDlg::MoveFileAndAddDelTmpExeEntryToRunOnce:_Entry.
push 0x5c8
push edi
push esi
call fcn.004014fc
add esp, 0x10
test ebx, ebx
jne 0x403c8c
cmp byte [0x4549b0], 1
jne 0x403c85
push str.CQHUnPackDlg::MoveFileAndAddDelTmpExeEntryToRunOnce:_NULL_param_found.
push 0x5cf
push edi
push esi
call fcn.004014fc
add esp, 0x10
xor eax, eax
jmp 0x403e83
mov ebx, 0x208
push ebx
lea eax, [ebp - 0x414]
push 0
push eax
call fcn.00425220
push ebx
lea eax, [ebp - 0x20c]
push 0
push eax
call fcn.00425220
push 0x400
lea eax, [ebp - 0x1014]
push 0
push eax
call fcn.00425220
push dword [ebp - 0x1018]
lea eax, [ebp - 0x20c]
push eax
call fcn.0042541c
push dword [ebp - 0x1018]
lea eax, [ebp - 0x414]
push eax
call fcn.0042541c
mov ebx, str.QHDELTMP.EXE
lea eax, [ebp - 0x414]
push ebx
push eax
call fcn.004253ee
lea eax, [ebp - 0x20c]
push eax
call fcn.004252a9
xor ecx, ecx
add esp, 0x40
cmp byte [0x4549b0], 1
mov word [ebp + eax*2 - 0x20e], cx
jne 0x403d48
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0xc14]
push str.CQHUnPackDlg::MoveFileAndAddDelTmpExeEntryToRunOnce:_Temp_path___s_
push eax
call fcn.00426df4
lea eax, [ebp - 0xc14]
push eax
push 0x5e2
push edi
push esi
call fcn.004014fc
add esp, 0x1c
lea eax, [ebp - 0x20c]
push 0x5c
push eax
call fcn.00424f5d
pop ecx
pop ecx
test eax, eax
jne 0x403d95
cmp byte [0x4549b0], 1
jne 0x403c85
lea eax, [ebp - 0xc14]
push str.CQHUnPackDlg::MoveFileAndAddDelTmpExeEntryToRunOnce:_pChar__NULL
push eax
call fcn.00426df4
lea eax, [ebp - 0xc14]
push eax
push 0x5eb
push edi
push esi
call fcn.004014fc
add esp, 0x18
jmp 0x403c85
xor ecx, ecx
mov word [eax + 2], cx
lea eax, [ebp - 0x20c]
push ebx
push eax
call fcn.004253ee
cmp byte [0x4549b0], 1
pop ecx
pop ecx
jne 0x403e09
lea eax, [ebp - 0x414]
push eax
mov ebx, str.CQHUnPackDlg::MoveFileAndAddDelTmpExeEntryToRunOnce:_Source_path___s_
lea eax, [ebp - 0xc14]
push ebx
push eax
call fcn.00426df4
lea eax, [ebp - 0xc14]
push eax
push 0x5f7
push edi
push esi
call fcn.004014fc
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0xc14]
push ebx
push eax
call fcn.00426df4
lea eax, [ebp - 0xc14]
push eax
push 0x5f9
push edi
push esi
call fcn.004014fc
add esp, 0x38
push 0
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0x414]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x403e63
cmp byte [0x4549b0], 1
jne 0x403c85
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0xc14]
push str.CQHUnPackDlg::MoveFileAndAddDelTmpExeEntryToRunOnce:_Copy_file_failed__Err_____u_
push eax
call fcn.00426df4
lea eax, [ebp - 0xc14]
push eax
push 0x607
push edi
push esi
call fcn.004014fc
add esp, 0x1c
jmp 0x403c85
cmp byte [0x4549b0], 1
jne 0x403e80
push 0x4406c8
push 0x613
push edi
push esi
call fcn.004014fc
add esp, 0x10
xor eax, eax
inc eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0042529a
leave
ret 4