Function at 0x412c53
Capabilities:
Move file

Disassembly:
mov eax, 0x49a629
call fcn.00498a28
sub esp, 0xd8
push ebx
mov ebx, dword [ebp + 8]
xor eax, eax
push esi
mov dword [ebp - 0x2c], eax
mov esi, ecx
mov dword [ebp - 0x28], eax
lea ecx, [ebp - 0x24]
push edi
lea eax, [ebx + 0x28]
push eax
call fcn.00403962
cmp dword [ebp - 0x10], 7
lea ecx, [ebp - 0x24]
lea edx, [ebp - 0x2c]
cmova ecx, dword [ebp - 0x24]
call fcn.0041703a
lea ecx, [ebp - 0x24]
call fcn.00402f3d
mov ecx, ebx
call fcn.00410510
mov eax, dword [ebp - 0x28]
mov edi, dword [ebp + 0xc]
cmp eax, dword [esi + 0xdc]
ja 0x412d2b
jb 0x412cbc
mov eax, dword [ebp - 0x2c]
cmp eax, dword [esi + 0xd8]
ja 0x412d2b
lea eax, [ebx + 0x28]
push eax
lea ecx, [ebp - 0x24]
call fcn.00403962
cmp dword [ebp - 0x10], 7
lea eax, [ebp - 0x24]
push 0
cmova eax, dword [ebp - 0x24]
push 0x8000080
push 3
push 0
push 1
push accept
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
lea ecx, [ebp - 0x24]
mov esi, eax
call fcn.00402f3d
cmp esi, 0xffffffff
je 0x412d2b
mov edx, esi
lea ecx, [ebp - 0x3c]
call fcn.00417e3a
and dword [ebp - 4], 0
lea eax, [ebp - 0x3c]
push eax
lea ecx, [edi + 0x1a0]
call fcn.0040e238
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3c]
call fcn.00402fc0
mov eax, dword [edi + 0x200]
push 0xfffffffffffffffb
pop ecx
lock and dword [eax], ecx
mov eax, dword [edi + 0x200]
push 8
pop ecx
lock or dword [eax], ecx
mov ecx, ebx
call fcn.004104ae
push edx
push eax
mov ecx, edi
call fcn.00410c1b
mov ecx, ebx
call fcn.004104ae
push edx
push eax
mov ecx, edi
call fcn.00410c6a
lea esi, [ebx + 0x40]
cmp dword [esi + 0x10], 0
jne 0x412de6
xor edx, edx
xor ecx, ecx
call fcn.0040bdc2
push str.Stoping_rename_file
lea ecx, [ebp - 0x84]
mov dword [ebp - 0x34], 0x138
mov dword [ebp - 0x30], 9
mov dword [ebp - 0x2c], str.C:BooCode_OffergateMultiSetupoglibOGLiboglib_serviceshttp_downloader.cpp
mov dword [ebp - 0x28], str.void___thiscall_og::HttpDownloader::ProcessSuccessfulDownload_class_og::WinternetBuffer__class_og::Package___const
call fcn.00403061
push str.No_desired_filename
lea ecx, [ebp - 0x24]
mov dword [ebp - 4], 1
call fcn.00403061
push ecx
lea eax, [ebp - 0x34]
mov byte [ebp - 4], 2
push eax
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.0040be78
lea ecx, [ebp - 0x24]
call fcn.00402fc0
lea ecx, [ebp - 0x84]
call fcn.00402fc0
jmp 0x41303b
push 0
lea eax, [ebp - 0x84]
mov ecx, edi
push eax
call fcn.00410ac4
push eax
lea eax, [ebp - 0xb4]
mov dword [ebp - 4], 3
push eax
call fcn.004131c9
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 5
call fcn.00402f3d
push esi
lea edx, [ebp - 0xb4]
lea ecx, [ebp - 0x9c]
call fcn.00416044
pop ecx
push eax
lea ecx, [ebp - 0xb4]
call fcn.00405d4d
lea ecx, [ebp - 0x9c]
call fcn.00402f3d
lea eax, [ebp - 0xb4]
push eax
lea eax, [ebp - 0x6c]
push eax
call fcn.004131c9
mov byte [ebp - 4], 6
cmp dword [ebp - 0x5c], 0
jne 0x412f1a
xor edx, edx
xor ecx, ecx
call fcn.0040bdc2
push 0
lea eax, [ebp - 0x9c]
mov dword [ebp - 0x34], 0x140
push eax
mov ecx, edi
mov dword [ebp - 0x30], 9
mov dword [ebp - 0x2c], str.C:BooCode_OffergateMultiSetupoglibOGLiboglib_serviceshttp_downloader.cpp
mov dword [ebp - 0x28], str.void___thiscall_og::HttpDownloader::ProcessSuccessfulDownload_class_og::WinternetBuffer__class_og::Package___const
call fcn.00410ac4
push ecx
mov edx, eax
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x54]
call fcn.00414eb3
pop ecx
push 0xb
push str.Base_path:
push ecx
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 8
call fcn.0040efea
push eax
lea ecx, [ebp - 0x24]
call fcn.00403476
push str.Failed_to_generate_final_path
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 9
call fcn.00403061
push ecx
lea eax, [ebp - 0x34]
mov byte [ebp - 4], 0xa
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x84]
push eax
call fcn.0040be78
lea ecx, [ebp - 0x84]
call fcn.00402fc0
lea ecx, [ebp - 0x24]
call fcn.00402fc0
lea ecx, [ebp - 0x54]
call fcn.00402fc0
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 6
call fcn.00402f3d
cmp dword [ebp - 0x58], 7
lea eax, [ebx + 0x28]
lea esi, [ebp - 0x6c]
cmova esi, dword [ebp - 0x6c]
lea ecx, [ebp - 0x24]
push eax
call fcn.00403962
cmp dword [ebp - 0x10], 7
lea eax, [ebp - 0x24]
push 2
cmova eax, dword [ebp - 0x24]
push esi
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
lea ecx, [ebp - 0x24]
mov esi, eax
call fcn.00402f3d
test esi, esi
jne 0x412fde
xor edx, edx
xor ecx, ecx
call fcn.0040bdc2
lea edx, [ebp - 0x6c]
mov dword [ebp - 0x4c], 0x147
lea ecx, [ebp - 0xcc]
mov dword [ebp - 0x48], 9
mov dword [ebp - 0x44], str.C:BooCode_OffergateMultiSetupoglibOGLiboglib_serviceshttp_downloader.cpp
mov dword [ebp - 0x40], str.void___thiscall_og::HttpDownloader::ProcessSuccessfulDownload_class_og::WinternetBuffer__class_og::Package___const
call fcn.0041510b
push 0x25
push str.Cannt_move_temp_file_to_destination
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xb
call fcn.0040efea
push eax
lea ecx, [ebp - 0x9c]
call fcn.00403476
mov byte [ebp - 4], 0xc
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ecx
lea ecx, [ebp - 0x4c]
push ecx
lea ecx, [ebp - 0x9c]
push ecx
push eax
call fcn.0040be49
lea ecx, [ebp - 0x9c]
call fcn.00402fc0
lea ecx, [ebp - 0xcc]
call fcn.00402fc0
jmp 0x413028
lea edx, [ebp - 0x6c]
lea ecx, [ebp - 0xe4]
call fcn.00417cd7
push ecx
lea eax, [ebp - 0xe4]
mov byte [ebp - 4], 0xd
push eax
push 0
mov ecx, edi
call fcn.00410b22
push ecx
lea eax, [ebp - 0xcc]
mov ecx, edi
push eax
push 2
call fcn.00410b22
lea ecx, [ebp - 0xcc]
call fcn.00402f3d
lea ecx, [ebp - 0xe4]
call fcn.00402f3d
lea ecx, [ebp - 0x6c]
call fcn.00402f3d
lea ecx, [ebp - 0xb4]
call fcn.00402f3d
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 8