Function at 0x43b52b
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push 0x3ac
mov eax, 0x5b1225
call fcn.0058f792
mov dword [ebp - 0x364], ecx
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x3b8]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x350], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x35c], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x394], esi
mov dword [ebp - 0x354], eax
call fcn.0047409e
and dword [ebp - 4], 0
lea ecx, [ebp - 0x34c]
push esi
call fcn.00406ad4
xor ebx, ebx
lea ecx, [ebp - 0x358]
inc ebx
push esi
mov dword [ebp - 0x340], ebx
mov byte [ebp - 4], bl
call fcn.00406ad4
lea ecx, [ebp - 0x338]
mov byte [ebp - 4], 2
call sym.SETUP.exe_public:_void___thiscall_CDeviceInfSection::constructor_void_
and dword [ebp - 0x360], 0
mov edi, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
push esi
mov byte [ebp - 4], 3
call edi
cmp eax, 0xffffffff
je 0x43b615
push esi
call edi
test al, 0x10
je 0x43b615
push 0x5c
lea ecx, [ebp - 0x34c]
mov dword [ebp - 0x360], ebx
call fcn.0041efc9
lea eax, [ebp - 0x34c]
push eax
call fcn.00409001
lea ecx, [ebp - 0x34c]
mov dword [esp], 0x5d046c
call fcn.00409054
lea eax, [ebp - 0x358]
push eax
call fcn.00409001
lea ecx, [ebp - 0x358]
mov dword [esp], str._LANGDIR_.INI
call fcn.00409054
push esi
lea ecx, [ebp - 0x33c]
call fcn.00406ad4
mov eax, dword [ebp - 0x33c]
push 0x5c
push eax
mov byte [ebp - 4], 4
mov esi, dword [eax - 0xc]
call fcn.00591e9b
pop ecx
pop ecx
test eax, eax
jne 0x43b641
or eax, 0xffffffff
jmp 0x43b649
sub eax, dword [ebp - 0x33c]
sar eax, 1
sub esi, eax
lea ecx, [ebp - 0x33c]
push esi
lea eax, [ebp - 0x348]
push eax
call fcn.0041db85
push eax
lea ecx, [ebp - 0x33c]
mov byte [ebp - 4], 5
call fcn.0040813e
mov ecx, dword [ebp - 0x348]
mov byte [ebp - 4], 4
lea ecx, [ecx - 0x10]
call fcn.0041d6f2
lea ecx, [ebp - 0x390]
call fcn.0046d5d4
push 0x5c
push dword [ebp - 0x33c]
lea ecx, [ebp - 0x390]
mov byte [ebp - 4], 6
call fcn.0046eb6a
lea ecx, [ebp - 0x390]
xor esi, esi
call fcn.0046d95f
test eax, eax
je 0x43b6fd
push esi
lea ecx, [ebp - 0x390]
call fcn.0046dbf8
push eax
push 0x5c5fb0
call fcn.00591d24
pop ecx
pop ecx
test eax, eax
je 0x43b6ed
push esi
lea ecx, [ebp - 0x390]
call fcn.0046dbf8
push eax
push 0x5c5de0
call fcn.00591d24
pop ecx
pop ecx
test eax, eax
jne 0x43b6fd
lea ecx, [ebp - 0x390]
inc esi
call fcn.0046d95f
cmp esi, eax
jb 0x43b6b3
push dword [ebp - 0x350]
lea ecx, [ebp - 0x33c]
call fcn.0041ed9c
lea ecx, [ebp - 0x390]
call fcn.0046d95f
cmp esi, eax
jae 0x43b784
lea eax, [ebp - 0x33c]
push eax
call fcn.00409001
pop ecx
push esi
lea ecx, [ebp - 0x390]
call fcn.0046dc88
push esi
lea ecx, [ebp - 0x390]
lea edi, [eax + 1]
call fcn.0046dbf8
test eax, eax
je 0x43b76e
push edi
push eax
call fcn.00591dbe
pop ecx
pop ecx
test eax, eax
je 0x43b76e
push esi
lea ecx, [ebp - 0x390]
call fcn.0046dbf8
push eax
lea ecx, [ebp - 0x33c]
call fcn.00409054
lea ecx, [ebp - 0x390]
inc esi
call fcn.0046d95f
cmp esi, eax
jb 0x43b71d
mov edi, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
lea ecx, [ebp - 0x390]
mov byte [ebp - 4], 4
call fcn.0046d690
push dword [ebp - 0x33c]
push str.strTargetDirectory____1_s___n
push str.CInstallAction::CopyDirectory
push 4
call fcn.00424dad
add esp, 0x10
cmp dword [ebp - 0x360], 0
je 0x43b83a
push dword [ebp - 0x33c]
call edi
cmp eax, 0xffffffff
je 0x43b7d3
push dword [ebp - 0x33c]
call edi
test al, 0x10
jne 0x43b7e9
mov eax, dword [ebp - 0x33c]
push 0
mov ecx, dword [eax - 0xc]
inc ecx
push ecx
push eax
call fcn.0040a392
add esp, 0xc
call fcn.00474a71
mov esi, dword [eax + 4]
call fcn.00474a71
lea ecx, [esi + 0xcc]
mov edi, dword [eax + 4]
mov eax, dword [ebp - 0x358]
mov dword [ebp - 0x350], eax
mov ebx, dword [eax - 0xc]
call fcn.00413f8c
movzx eax, ax
push eax
lea eax, [ebp - 0x338]
push eax
lea eax, [edi + 0xd0]
push eax
lea eax, [ebx + 1]
push eax
push dword [ebp - 0x350]
call fcn.004125dd
xor ebx, ebx
add esp, 0x14
inc ebx
push 0
push dword [ebp - 0x34c]
lea ecx, [ebp - 0x3b8]
call fcn.004741ba
test eax, eax
je 0x43bccb
push dword [ebp - 0x34c]
push str.findfile__1_s___succeeded._n
push str.CInstallAction::CopyDirectory
push 4
call fcn.00424dad
mov edi, dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
add esp, 0x10
jmp 0x43b87d
mov ebx, dword [ebp - 0x340]
push dword [ebp - 0x394]
lea ecx, [ebp - 0x348]
call fcn.00406ad4
lea ecx, [ebp - 0x3b8]
mov byte [ebp - 4], 7
call fcn.00474362
lea ecx, [ebp - 0x3b8]
mov dword [ebp - 0x374], eax
call fcn.00474720
test eax, eax
je 0x43b8cf
mov ecx, dword [ebp - 0x348]
mov byte [ebp - 4], 4
lea ecx, [ecx - 0x10]
call fcn.0041d6f2
mov esi, dword [ebp - 0x340]
jmp 0x43bcb1
push 0x5c
lea ecx, [ebp - 0x348]
call fcn.0041efc9
mov esi, dword [ebp - 0x360]
test esi, esi
je 0x43b946
lea eax, [ebp - 0x398]
push eax
lea ecx, [ebp - 0x3b8]
call fcn.0047442e
push eax
lea eax, [ebp - 0x350]
mov byte [ebp - 4], 8
push 0x5c4f0c
push eax
call fcn.0040897a
add esp, 0xc
mov eax, dword [eax]
lea ecx, [ebp - 0x348]
mov byte [ebp - 4], 9
push dword [eax - 0xc]
push eax
call fcn.0040907d
mov ecx, dword [ebp - 0x350]
lea ecx, [ecx - 0x10]
call fcn.0041d6f2
mov ecx, dword [ebp - 0x398]
mov byte [ebp - 4], 7
lea ecx, [ecx - 0x10]
call fcn.0041d6f2
mov eax, dword [ebp - 0x3b8]
lea ecx, [ebp - 0x3b8]
push 0x10
call dword [eax + 0x38]
test eax, eax
je 0x43ba8d
lea eax, [ebp - 0x370]
push eax
lea ecx, [ebp - 0x3b8]
call fcn.0047442e
push dword [eax]
mov byte [ebp - 4], 0xa
push str.Directory___1_s__._n
push str.CInstallAction::CopyDirectory
push 4
call fcn.00424dad
mov ecx, dword [ebp - 0x370]
add esp, 0x10
mov byte [ebp - 4], 7
lea ecx, [ecx - 0x10]
call fcn.0041d6f2
lea ecx, [ebp - 0x338]
call sym.SETUP.exe_public:_unsigned_long_int___thiscall_CDeviceInfSection::Count_void_
test eax, eax
je 0x43ba5a
lea ecx, [ebp - 0x338]
xor esi, esi
call sym.SETUP.exe_public:_unsigned_long_int___thiscall_CDeviceInfSection::Count_void_
test eax, eax
je 0x43bc99
lea eax, [ebp - 0x368]
push eax
lea ecx, [ebp - 0x3b8]
call fcn.0047442e
push dword [eax]
lea ecx, [ebp - 0x338]
mov byte [ebp - 4], 0xb
push esi
call sym.SETUP.exe_public:_wchar_t_const____thiscall_CDeviceInfSection::GetValue_unsigned_long_int_
push eax
call fcn.005921d4
pop ecx
pop ecx
mov ecx, dword [ebp - 0x368]
test eax, eax
mov byte [ebp - 4], 7
setne bl
lea ecx, [ecx - 0x10]
call fcn.0041d6f2
test bl, bl
je 0x43ba21
lea ecx, [ebp - 0x338]
inc esi
call sym.SETUP.exe_public:_unsigned_long_int___thiscall_CDeviceInfSection::Count_void_
cmp esi, eax
jb 0x43b9c5
jmp 0x43bc99
push dword [ebp - 0x354]
mov ecx, dword [ebp - 0x364]
push dword [ebp + 0x14]
push dword [ebp - 0x35c]
push dword [ebp - 0x33c]
push dword [ebp - 0x348]
call fcn.0043b52b
mov esi, dword [ebp - 0x340]
and esi, eax
mov dword [ebp - 0x340], esi
jmp 0x43bc9f
push dword [ebp - 0x354]
mov ecx, dword [ebp - 0x364]
push dword [ebp + 0x14]
push dword [ebp - 0x35c]
push dword [ebp - 0x33c]
push dword [ebp - 0x348]
call fcn.0043b52b
and ebx, eax
mov dword [ebp - 0x340], ebx
jmp 0x43bc99
mov eax, dword [ebp - 0x33c]
add eax, 0xfffffff0
push eax
call fcn.00409791
add eax, 0x10
pop ecx
mov dword [ebp - 0x344], eax
mov byte [ebp - 4], 0xc
test esi, esi
je 0x43baf4
lea eax, [ebp - 0x344]
push eax
call fcn.00409001
pop ecx
lea eax, [ebp - 0x378]
push eax
lea ecx, [ebp - 0x3b8]
call fcn.0047442e
mov eax, dword [eax]
lea ecx, [ebp - 0x344]
mov byte [ebp - 4], 0xd
push dword [eax - 0xc]
push eax
call fcn.0040907d
mov ecx, dword [ebp - 0x378]
mov byte [ebp - 4], 0xc
lea ecx, [ecx - 0x10]
call fcn.0041d6f2
lea eax, [ebp - 0x39c]
push eax
lea ecx, [ebp - 0x3b8]
call fcn.0047442e
push dword [eax]
mov esi, str.CInstallAction::CopyDirectory
mov byte [ebp - 4], 0xe
push str.File___1_s__._n
push esi
push 4
call fcn.00424dad
mov ecx, dword [ebp - 0x39c]
add esp, 0x10
mov byte [ebp - 4], 0xc
lea ecx, [ecx - 0x10]
call fcn.0041d6f2
push dword [ebp - 0x344]
call edi
cmp eax, 0xffffffff
je 0x43bb51
push 0x80
push dword [ebp - 0x344]
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
push dword [ebp - 0x348]
push str.strCopyFile___1_s__n
push esi
push 4
call fcn.00424dad
push dword [ebp - 0x344]
push str.strCopyFile___1_s__n
push esi
push 4
call fcn.00424dad
add esp, 0x20
push 0
push dword [ebp - 0x344]
push dword [ebp - 0x348]
call dword [sym.imp.KERNEL32.dll_CopyFileW]
and ebx, eax
mov dword [ebp - 0x340], ebx
jne 0x43bbaf
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.CopyFile_Error_0x_1_lx___n
push esi
push 4
call fcn.00424dad
add esp, 0x10
push dword [ebp - 0x344]
call edi
cmp eax, 0xffffffff
je 0x43bbcd
push 0x80
push dword [ebp - 0x344]
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
mov eax, dword [ebp - 0x35c]
test eax, eax
je 0x43bc8b
inc dword [eax]
mov ebx, dword [ebp - 0x354]
mov esi, dword [eax]
test ebx, ebx
je 0x43bc83
mov eax, dword [ebp + 0x14]
mov edx, eax
movzx ecx, ax
shr edx, 0x10
shr eax, 0x18
and edx, 0xff
push 0
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movd xmm0, edx
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
mov ecx, ebx
divsd xmm1, xmm0
movd xmm0, esi
cvtdq2pd xmm0, xmm0
shr esi, 0x1f
addsd xmm0, qword [esi*8 + 0x5cb2b0]
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
add eax, edx
push eax
call fcn.00463c39
lea eax, [ebp - 0x36c]
mov ecx, ebx
push eax
call fcn.004630d9
mov ecx, dword [ebp - 0x36c]
mov eax, dword [eax]
lea ecx, [ecx - 0x10]
cmp dword [eax - 0xc], 0
sete bl
call fcn.0041d6f2
test bl, bl
je 0x43bc83
push dword [ebp - 0x344]
mov ecx, dword [ebp - 0x354]
call fcn.00463a80
push 5
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [ebp - 0x344]
lea ecx, [ecx - 0x10]
call fcn.0041d6f2
mov esi, dword [ebp - 0x340]
mov ecx, dword [ebp - 0x348]
mov byte [ebp - 4], 4
lea ecx, [ecx - 0x10]
call fcn.0041d6f2
cmp dword [ebp - 0x374], 0
jne 0x43b877
lea ecx, [ebp - 0x3b8]
call fcn.0047416e
jmp 0x43bcce
xor esi, esi
inc esi
mov ecx, dword [ebp - 0x33c]
lea ecx, [ecx - 0x10]
call fcn.0041d6f2
lea ecx, [ebp - 0x338]
mov byte [ebp - 4], 2
call sym.SETUP.exe_public_virtual:_void___thiscall_CDeviceInfSection::destructor_void_
mov ecx, dword [ebp - 0x358]
lea ecx, [ecx - 0x10]
call fcn.0041d6f2
mov ecx, dword [ebp - 0x34c]
add ecx, 0xfffffff0
call fcn.0041d6f2
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3b8]
call fcn.004740ce
mov eax, esi
call fcn.0058f741
ret 0x14