Function at 0x43e160
Capabilities:
Copy file
Create process on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4e2bf1
mov eax, dword fs:[0]
push eax
mov eax, 0xa5a4
call fcn.004ad6f0
mov eax, dword [0x521e28]
xor eax, ebp
mov dword [ebp - 0x18], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0xa5b0], ecx
mov byte [ebp - 0x91d5], 0
mov byte [ebp - 0x9f65], 0
mov dword [ebp - 0x91cc], 0
mov word [ebp - 0x9d5c], 0
push 0x206
push 0
lea eax, [ebp - 0x9d5a]
push eax
call fcn.004ad2c0
add esp, 0xc
mov word [ebp - 0xa58c], 0
push 0x206
push 0
lea ecx, [ebp - 0xa58a]
push ecx
call fcn.004ad2c0
add esp, 0xc
mov dword [ebp - 0xc5c], 0
push 0xc38
push 0
lea edx, [ebp - 0xc58]
push edx
call fcn.004ad2c0
add esp, 0xc
mov dword [ebp - 0x1cac], 0
push 0xc38
push 0
lea eax, [ebp - 0x1ca8]
push eax
call fcn.004ad2c0
add esp, 0xc
mov word [ebp - 0x9f64], 0
push 0x206
push 0
lea ecx, [ebp - 0x9f62]
push ecx
call fcn.004ad2c0
add esp, 0xc
mov word [ebp - 0x93e4], 0
push 0x206
push 0
lea edx, [ebp - 0x93e2]
push edx
call fcn.004ad2c0
add esp, 0xc
mov word [ebp - 0xe64], 0
push 0x206
push 0
lea eax, [ebp - 0xe62]
push eax
call fcn.004ad2c0
add esp, 0xc
mov dword [ebp - 0x91d4], 0
mov dword [ebp - 0x10], 0
lea ecx, [ebp - 0x91b4]
call fcn.004414c0
mov dword [ebp - 4], 0
mov byte [ebp - 0xa384], 0
push 0x412
push 0
lea ecx, [ebp - 0xa382]
push ecx
call fcn.004ad2c0
add esp, 0xc
mov word [ebp - 0x106c], 0
push 0x206
push 0
lea edx, [ebp - 0x106a]
push edx
call fcn.004ad2c0
add esp, 0xc
lea eax, [ebp - 0x8d8c]
push eax
push 0x60
call fcn.00442f90
mov ecx, eax
call fcn.00444c30
push str.Starting_self_update.
push 3
call fcn.00442530
push eax
call fcn.00442bb0
add esp, 0xc
call fcn.00440720
mov ecx, eax
call fcn.00440680
movzx ecx, al
test ecx, ecx
jne 0x43e35d
push str.The_update_DLL_is_not_valid.
push 1
call fcn.00442530
push eax
call fcn.00442bb0
add esp, 0xc
mov byte [ebp - 0xa58d], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x91b4]
call fcn.004414f0
mov al, byte [ebp - 0xa58d]
jmp 0x43ecfe
push 0x208
lea edx, [ebp - 0x9f64]
push edx
push 0xc
call fcn.00451e60
mov ecx, eax
call fcn.00452a00
push 0x4fa000
lea eax, [ebp - 0x9f64]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
call fcn.00442f90
mov ecx, eax
call fcn.00443e20
test eax, eax
je 0x43e457
lea ecx, [ebp - 0xc5c]
push ecx
call fcn.00445290
mov ecx, eax
call fcn.00445530
test eax, eax
jne 0x43e3ed
push str.Cannot_retrieve_manual_update_server_information.
push 1
call fcn.00442530
push eax
call fcn.00442bb0
add esp, 0xc
mov byte [ebp - 0xa58e], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x91b4]
call fcn.004414f0
mov al, byte [ebp - 0xa58e]
jmp 0x43ecfe
mov dword [ebp - 0xa594], 1
lea edx, [ebp - 0xa594]
push edx
lea eax, [ebp - 0xc5c]
push eax
lea ecx, [ebp - 0x9f64]
push ecx
call fcn.00445290
mov ecx, eax
call fcn.00445a80
test eax, eax
je 0x43e455
push str.Cannot_retrieve_manual_update_server_file.
push 1
call fcn.00442530
push eax
call fcn.00442bb0
add esp, 0xc
mov byte [ebp - 0xa595], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x91b4]
call fcn.004414f0
mov al, byte [ebp - 0xa595]
jmp 0x43ecfe
jmp 0x43e4bf
mov dword [ebp - 0xa59c], 1
lea edx, [ebp - 0xa59c]
push edx
lea eax, [ebp - 0xc5c]
push eax
lea ecx, [ebp - 0x9f64]
push ecx
call fcn.00445290
mov ecx, eax
call fcn.00445c70
test eax, eax
je 0x43e4bf
push str.Cannot_retrieve_automatic_update_server_file.
push 1
call fcn.00442530
push eax
call fcn.00442bb0
add esp, 0xc
mov byte [ebp - 0xa59d], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x91b4]
call fcn.004414f0
mov al, byte [ebp - 0xa59d]
jmp 0x43ecfe
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x91d0], 0
mov dword [ebp - 0x91b8], 0
lea ecx, [ebp - 0x9b0c]
call fcn.00453e90
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x9b0c]
call fcn.004540b0
call fcn.004518f0
mov ecx, eax
call fcn.00451a00
mov dword [ebp - 0x91d0], eax
lea edx, [ebp - 0x9b0c]
push edx
lea eax, [ebp - 0x91d0]
push eax
call fcn.004518f0
mov ecx, eax
call fcn.00451be0
mov dword [ebp - 0x91b8], eax
cmp dword [ebp - 0x91b8], 0xffffffff
jne 0x43e577
push str.Cannot_Find_SelfUpdate_Info_from_nsppis.xml___SVCJOB_SelfUpdate
push 1
call fcn.00442530
push eax
call fcn.00442bb0
add esp, 0xc
mov byte [ebp - 0xa59e], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x9b0c]
call fcn.00454110
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x91b4]
call fcn.004414f0
mov al, byte [ebp - 0xa59e]
jmp 0x43ecfe
lea ecx, [ebp - 0x9b0c]
mov dword [ebp - 0x24], ecx
movzx edx, byte [ebp - 0x9f65]
test edx, edx
jne 0x43e619
lea eax, [ebp - 0xc5c]
push eax
push 2
push 0x4fa1c4
mov ecx, dword [ebp - 0x14]
push ecx
lea edx, [ebp - 0x9f64]
push edx
call fcn.00440720
mov ecx, eax
call fcn.00440580
mov byte [ebp - 0x91d5], al
call fcn.00440720
mov ecx, eax
call fcn.00440220
shr eax, 0x10
and eax, 0xffff
movzx eax, ax
mov dword [ebp - 0x91cc], eax
movzx ecx, byte [ebp - 0x91d5]
test ecx, ecx
jne 0x43e5ed
cmp dword [ebp - 0x91cc], 0x11
jne 0x43e5ed
jmp 0x43e619
movzx edx, byte [ebp - 0x91d5]
cmp edx, 1
jne 0x43e60b
cmp dword [ebp - 0x91cc], 0
jne 0x43e60b
mov byte [ebp - 0x9f65], 1
jmp 0x43e619
mov eax, dword [ebp - 0x14]
add eax, 1
mov dword [ebp - 0x14], eax
jmp 0x43e580
movzx ecx, byte [ebp - 0x9f65]
test ecx, ecx
jne 0x43e66c
push str.Cannot_find_update_plug_in_information_in_the_server_information_file.
push 1
call fcn.00442530
push eax
call fcn.00442bb0
add esp, 0xc
mov byte [ebp - 0xa59f], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x9b0c]
call fcn.00454110
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x91b4]
call fcn.004414f0
mov al, byte [ebp - 0xa59f]
jmp 0x43ecfe
mov dword [ebp - 0xa5a4], 1
lea edx, [ebp - 0xa5a4]
push edx
lea eax, [ebp - 0x93e4]
push eax
lea ecx, [ebp - 0xc5c]
push ecx
call fcn.00440720
mov ecx, eax
call fcn.00440510
movzx edx, al
test edx, edx
jne 0x43e6e6
push str.Cannot_retrieve_version_information_file.
push 1
call fcn.00442530
push eax
call fcn.00442bb0
add esp, 0xc
mov byte [ebp - 0xa5a5], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x9b0c]
call fcn.00454110
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x91b4]
call fcn.004414f0
mov al, byte [ebp - 0xa5a5]
jmp 0x43ecfe
push 0x414
push 0
lea eax, [ebp - 0xa384]
push eax
call fcn.004ad2c0
add esp, 0xc
push str.Checking_and_downloading_self_update_file.
push 3
call fcn.00442530
push eax
call fcn.00442bb0
add esp, 0xc
call fcn.004472a0
mov ecx, eax
call fcn.004406a0
push eax
lea ecx, [ebp - 0xa384]
push ecx
lea edx, [ebp - 0xc5c]
push edx
lea eax, [ebp - 0x93e4]
push eax
call fcn.00440720
mov ecx, eax
call fcn.00440600
movzx ecx, al
test ecx, ecx
jne 0x43e7a0
call fcn.00440720
mov ecx, eax
call fcn.00440220
push eax
push str.Failed_to_download_self_update_file._errcod:__d
push 1
call fcn.00442530
push eax
call fcn.00442bb0
add esp, 0x10
mov byte [ebp - 0xa5a6], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x9b0c]
call fcn.00454110
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x91b4]
call fcn.004414f0
mov al, byte [ebp - 0xa5a6]
jmp 0x43ecfe
movzx edx, byte [ebp - 0xa384]
test edx, edx
jne 0x43e7c7
push 0x208
lea eax, [ebp - 0x9d5c]
push eax
push 5
call fcn.00451e60
mov ecx, eax
call fcn.00452a00
jmp 0x43e7df
lea ecx, [ebp - 0xa382]
push ecx
push 0x104
lea edx, [ebp - 0x9d5c]
push edx
call fcn.00405230
lea eax, [ebp - 0x1eb8]
push eax
push 0x208
lea ecx, [ebp - 0x106c]
push ecx
call fcn.00445290
mov ecx, eax
call fcn.00445340
test eax, eax
jne 0x43e84a
push 0x4fa398
push 3
call fcn.00442530
push eax
call fcn.00442bb0
add esp, 0xc
mov byte [ebp - 0xa5a7], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x9b0c]
call fcn.00454110
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x91b4]
call fcn.004414f0
mov al, byte [ebp - 0xa5a7]
jmp 0x43ecfe
lea edx, [ebp - 0x106c]
push edx
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
push 0x4fa1d4
lea eax, [ebp - 0x106c]
push eax
push 0x4fa3dc
push 0x104
lea ecx, [ebp - 0xa58c]
push ecx
call fcn.00405d60
add esp, 0x14
push 0
lea edx, [ebp - 0xa58c]
push edx
call fcn.0044fd90
add esp, 8
lea eax, [ebp - 0x9d5c]
push eax
push str.Copying_self_update_file._Original:__s
push 3
call fcn.00442530
push eax
call fcn.00442bb0
add esp, 0x10
lea ecx, [ebp - 0xa58c]
push ecx
push str.Copying_self_update_file._Target:__s
push 3
call fcn.00442530
push eax
call fcn.00442bb0
add esp, 0x10
push 0
lea edx, [ebp - 0xa58c]
push edx
lea eax, [ebp - 0x9d5c]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x43e95b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x91cc], eax
mov ecx, dword [ebp - 0x91cc]
push ecx
push str.Failed_to_copy_self_update_file._errcod:__d
push 1
call fcn.00442530
push eax
call fcn.00442bb0
add esp, 0x10
push 1
push 0x4fa484
mov edx, dword [ebp - 0x91cc]
push edx
push 0x4fa4e4
push 1
call fcn.00442530
mov ecx, eax
call fcn.00442b20
mov byte [ebp - 0xa5a8], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x9b0c]
call fcn.00454110
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x91b4]
call fcn.004414f0
mov al, byte [ebp - 0xa5a8]
jmp 0x43ecfe
movzx eax, byte [ebp + 8]
test eax, eax
je 0x43eac2
movzx ecx, byte [ebp - 0xa17a]
test ecx, ecx
jne 0x43e98e
push 0x208
lea edx, [ebp - 0x9d5c]
push edx
push 6
call fcn.00451e60
mov ecx, eax
call fcn.00452a00
jmp 0x43e9a6
lea eax, [ebp - 0xa178]
push eax
push 0x104
lea ecx, [ebp - 0x9d5c]
push ecx
call fcn.00405230
lea edx, [ebp - 0x1eb8]
push edx
push 0x208
lea eax, [ebp - 0x106c]
push eax
call fcn.00445290
mov ecx, eax
call fcn.00445340
test eax, eax
jne 0x43ea11
push 0x4fa500
push 3
call fcn.00442530
push eax
call fcn.00442bb0
add esp, 0xc
mov byte [ebp - 0xa5a9], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x9b0c]
call fcn.00454110
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x91b4]
call fcn.004414f0
mov al, byte [ebp - 0xa5a9]
jmp 0x43ecfe
lea ecx, [ebp - 0x106c]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
push 0x4fa544
lea edx, [ebp - 0x106c]
push edx
push 0x4fa560
push 0x104
lea eax, [ebp - 0xa58c]
push eax
call fcn.00405d60
add esp, 0x14
push 0
lea ecx, [ebp - 0xa58c]
push ecx
call fcn.0044fd90
add esp, 8
lea edx, [ebp - 0x9d5c]
push edx
push str.Copying_self_update_dialog_box_file._Original:__s
push 3
call fcn.00442530
push eax
call fcn.00442bb0
add esp, 0x10
lea eax, [ebp - 0xa58c]
push eax
push str.Copying_self_update_dialog_box_file._Target:__s
push 3
call fcn.00442530
push eax
call fcn.00442bb0
add esp, 0x10
push 0
lea ecx, [ebp - 0xa58c]
push ecx
lea edx, [ebp - 0x9d5c]
push edx
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x43eac2
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Failed_to_copy_self_update_dialog_box_file._errcod:__d
push 1
call fcn.00442530
push eax
call fcn.00442bb0
add esp, 0x10
push 0x44
push 0
lea eax, [ebp - 0x9b54]
push eax
call fcn.004ad2c0
add esp, 0xc
push 0x10
push 0
lea ecx, [ebp - 0x91c8]
push ecx
call fcn.004ad2c0
add esp, 0xc
mov dword [ebp - 0x9b54], 0x44
lea edx, [ebp - 0x1eb8]
push edx
push 0x208
lea eax, [ebp - 0x106c]
push eax
call fcn.00445290
mov ecx, eax
call fcn.00445340
test eax, eax
jne 0x43eb5d
push str.Fail_to_retrieve_temp_folder_name
push 3
call fcn.00442530
push eax
call fcn.00442bb0
add esp, 0xc
mov byte [ebp - 0xa5aa], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x9b0c]
call fcn.00454110
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x91b4]
call fcn.004414f0
mov al, byte [ebp - 0xa5aa]
jmp 0x43ecfe
lea ecx, [ebp - 0x106c]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
push 0x4fa56c
lea edx, [ebp - 0x106c]
push edx
push 0x4fa70c
push 0x104
lea eax, [ebp - 0xa58c]
push eax
call fcn.00405d60
add esp, 0x14
movzx ecx, byte [ebp + 8]
test ecx, ecx
je 0x43ebed
movzx edx, byte [ebp + 0xc]
test edx, edx
je 0x43ebc6
push str._onlyselfup
lea eax, [ebp - 0xa58c]
push eax
push 0x4fa730
push 0x104
lea ecx, [ebp - 0xe64]
push ecx
call fcn.00401cd0
add esp, 0x14
jmp 0x43ebeb
push str._selfup
lea edx, [ebp - 0xa58c]
push edx
push 0x4fa74c
push 0x104
lea eax, [ebp - 0xe64]
push eax
call fcn.00401cd0
add esp, 0x14
jmp 0x43ec16
mov ecx, dword [ebp + 0x10]
push ecx
push str._autoselfup
lea edx, [ebp - 0xa58c]
push edx
push str._s__s__s
push 0x104
lea eax, [ebp - 0xe64]
push eax
call fcn.00401cd0
add esp, 0x18
lea ecx, [ebp - 0x91c8]
push ecx
lea edx, [ebp - 0x9b54]
push edx
push 0
push 0
push 0
push 0
push 0
push 0
lea eax, [ebp - 0xe64]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
jne 0x43ec95
mov byte [ebp - 0x91d5], 0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x91cc], eax
mov ecx, dword [ebp - 0x91cc]
push ecx
push str.Failed_to_execute_self_update_file._errcod:__d
push 1
call fcn.00442530
push eax
call fcn.00442bb0
add esp, 0x10
push 1
push 0x4fa7e8
mov edx, dword [ebp - 0x91cc]
push edx
push 0x4fa7ec
push 1
call fcn.00442530
mov ecx, eax
call fcn.00442b20
jmp 0x43eccb
mov eax, dword [ebp - 0x91c8]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 0x91c4]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov byte [ebp - 0x91d5], 1
push str.Running_self_update_file.
push 3
call fcn.00442530
push eax
call fcn.00442bb0
add esp, 0xc
mov dl, byte [ebp - 0x91d5]
mov byte [ebp - 0xa5ab], dl
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x9b0c]
call fcn.00454110
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x91b4]
call fcn.004414f0
mov al, byte [ebp - 0xa5ab]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x18]
xor ecx, ebp
call fcn.004ad2aa
mov esp, ebp
pop ebp
ret 0xc