Function at 0x427550
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4b00b0
mov eax, dword fs:[0]
push eax
sub esp, 0x274
mov eax, dword [0x4e406c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
cmp dword [0x4e4f08], 0
xorps xmm0, xmm0
movlpd qword [ebp - 0x268], xmm0
jne 0x427646
lea ecx, [ebp - 0x260]
call fcn.0045e3b0
mov dword [ebp - 4], 0
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x4275b3
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e84e8
call fcn.00410760
add esp, 4
mov edx, str.d:jenkinsworkspace_a_mb4_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040f940
mov edx, 0x4c7114
mov ecx, eax
call fcn.0040f940
push 0x4ec
mov ecx, eax
call fcn.0040df40
mov edx, str.:_Error:_empty_data_directory_path
mov ecx, eax
call fcn.0040f940
push eax
call fcn.0040fcb0
mov edx, dword [ebp - 0x24c]
add esp, 4
cmp edx, 8
jb 0x42763c
mov ecx, dword [ebp - 0x260]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x427632
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x428089
push edx
push ecx
call fcn.0046d84e
add esp, 8
mov eax, 1
jmp 0x42806d
push 0x4e4c70
lea ecx, [ebp - 0x248]
call fcn.0040c290
mov dword [ebp - 4], 1
cmp dword [ebp - 0x238], 0
jne 0x427717
lea ecx, [ebp - 0x260]
call fcn.0045e3b0
mov byte [ebp - 4], 2
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x427684
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e84e8
call fcn.00410760
add esp, 4
mov edx, str.d:jenkinsworkspace_a_mb4_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040f940
mov edx, 0x4c7114
mov ecx, eax
call fcn.0040f940
push 0x4f2
mov ecx, eax
call fcn.0040df40
mov edx, str.:_Error:_empty_program_directory_path
mov ecx, eax
call fcn.0040f940
push eax
call fcn.0040fcb0
mov edx, dword [ebp - 0x24c]
add esp, 4
cmp edx, 8
jb 0x42770d
mov ecx, dword [ebp - 0x260]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x427703
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42808e
push edx
push ecx
call fcn.0046d84e
add esp, 8
mov esi, 1
jmp 0x428060
mov ecx, 0x4e4ef8
call fcn.00424ee0
test al, al
jne 0x42772f
mov esi, 3
jmp 0x428060
lea ecx, [ebp - 0x248]
call fcn.00424ee0
test al, al
jne 0x427748
mov esi, 4
jmp 0x428060
push 0x204
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.00485990
add esp, 0xc
lea eax, [ebp - 0x218]
push 0x102
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
test eax, eax
jne 0x427841
lea ecx, [ebp - 0x260]
call fcn.0045e3b0
mov byte [ebp - 4], 3
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x427792
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e84e8
call fcn.00410760
add esp, 4
mov edx, str.d:jenkinsworkspace_a_mb4_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040f940
mov edx, 0x4c7114
mov ecx, eax
call fcn.0040f940
push 0x506
mov ecx, eax
call fcn.0040df40
mov edx, str.:_Error
mov ecx, eax
call fcn.0040f940
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov ecx, esi
call fcn.004196c0
mov edx, str._calling_GetSystemDirectory
mov ecx, eax
call fcn.0040f940
push eax
call fcn.0040fcb0
mov edx, dword [ebp - 0x24c]
add esp, 4
cmp edx, 8
jb 0x427837
mov ecx, dword [ebp - 0x260]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x42782d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x428093
push edx
push ecx
call fcn.0046d84e
add esp, 8
mov esi, 5
jmp 0x428060
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x230]
call fcn.00405040
push 8
push str.drivers
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 4
call fcn.0040c600
lea ecx, [ebp - 0x230]
call fcn.00424ee0
test al, al
jne 0x427882
mov esi, 6
jmp 0x428007
call fcn.00425390
test al, al
jne 0x427895
mov esi, 7
jmp 0x428007
lea edx, [ebp - 0x268]
mov ecx, 0x4e4ef8
call fcn.00424d80
test al, al
je 0x427b7a
cmp dword [0x4e4f0c], 8
lea edi, [ebp - 0x248]
mov eax, 0x4e4ef8
cmovae eax, dword [0x4e4ef8]
cmp dword [ebp - 0x234], 8
cmovae edi, dword [ebp - 0x248]
movzx eax, word [eax]
push eax
call fcn.0048c920
movzx ecx, word [edi]
add esp, 4
mov si, ax
push ecx
call fcn.0048c920
add esp, 4
cmp si, ax
jne 0x4279bd
cmp dword [ebp - 0x264], 0
ja 0x427c21
jb 0x427917
cmp dword [ebp - 0x268], 0x3e800000
jae 0x427c21
lea ecx, [ebp - 0x260]
call fcn.0045e3b0
mov byte [ebp - 4], 5
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x427931
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e84e8
call fcn.00410760
add esp, 4
mov edx, str.d:jenkinsworkspace_a_mb4_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040f940
mov edx, 0x4c7114
mov ecx, eax
call fcn.0040f940
push 0x520
mov ecx, eax
call fcn.0040df40
mov edx, str.:_Error_not_enough_disk_space_available
mov ecx, eax
call fcn.0040f940
push eax
call fcn.0040fcb0
mov edx, dword [ebp - 0x24c]
add esp, 4
cmp edx, 8
jb 0x427ac6
mov ecx, dword [ebp - 0x260]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x427abc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x428098
jmp 0x427abc
cmp dword [ebp - 0x264], 0
ja 0x427a2c
jb 0x4279d4
cmp dword [ebp - 0x268], 0x1f400000
jae 0x427a2c
lea ecx, [ebp - 0x260]
call fcn.0045e3b0
mov byte [ebp - 4], 6
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x4279ee
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e84e8
call fcn.00410760
add esp, 4
mov edx, str.d:jenkinsworkspace_a_mb4_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040f940
mov edx, 0x4c7114
mov ecx, eax
call fcn.0040f940
push 0x529
mov ecx, eax
call fcn.0040df40
mov edx, str.:_Error_not_enough_disk_space_available__data_
jmp 0x42796a
lea edx, [ebp - 0x268]
lea ecx, [ebp - 0x248]
call fcn.00424d80
test al, al
je 0x427ad0
cmp dword [ebp - 0x264], 0
ja 0x427c21
jb 0x427a64
cmp dword [ebp - 0x268], 0x1f400000
jae 0x427c21
lea ecx, [ebp - 0x260]
call fcn.0045e3b0
mov byte [ebp - 4], 7
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x427a7e
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e84e8
call fcn.00410760
add esp, 4
mov edx, str.d:jenkinsworkspace_a_mb4_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040f940
mov edx, 0x4c7114
mov ecx, eax
call fcn.0040f940
push 0x531
mov ecx, eax
call fcn.0040df40
mov edx, str.:_Error_not_enough_disk_space_available__program_
jmp 0x42796a
push edx
push ecx
call fcn.0046d84e
add esp, 8
mov esi, 2
jmp 0x428007
lea ecx, [ebp - 0x260]
call fcn.0045e3b0
mov byte [ebp - 4], 8
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x427aea
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e84e8
call fcn.00410760
add esp, 4
mov edx, str.d:jenkinsworkspace_a_mb4_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040f940
mov edx, 0x4c7114
mov ecx, eax
call fcn.0040f940
push 0x537
mov ecx, eax
call fcn.0040df40
mov edx, str.:_Error_determining_available_disk_space__program_
mov ecx, eax
call fcn.0040f940
push eax
call fcn.0040fcb0
mov byte [ebp - 4], 4
add esp, 4
mov edx, dword [ebp - 0x24c]
cmp edx, 8
jb 0x427c21
mov ecx, dword [ebp - 0x260]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x427c17
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x427c17
jmp 0x428098
lea ecx, [ebp - 0x260]
call fcn.0045e3b0
mov byte [ebp - 4], 9
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x427b94
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e84e8
call fcn.00410760
add esp, 4
mov edx, str.d:jenkinsworkspace_a_mb4_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040f940
mov edx, 0x4c7114
mov ecx, eax
call fcn.0040f940
push 0x53d
mov ecx, eax
call fcn.0040df40
mov edx, str.:_Error_determining_available_disk_space__data_
mov ecx, eax
call fcn.0040f940
push eax
call fcn.0040fcb0
mov byte [ebp - 4], 4
add esp, 4
mov edx, dword [ebp - 0x24c]
cmp edx, 8
jb 0x427c21
mov ecx, dword [ebp - 0x260]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x427c17
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x428098
push edx
push ecx
call fcn.0046d84e
add esp, 8
call fcn.00425630
test al, al
jne 0x427c34
mov esi, 8
jmp 0x428007
call fcn.00425de0
test al, al
je 0x427c47
mov esi, 0xb
jmp 0x428007
call fcn.004236d0
test al, al
je 0x427e99
lea ecx, [ebp - 0x280]
call fcn.0045e3b0
mov byte [ebp - 4], 0xa
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x427c6e
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e84e8
call fcn.00410760
add esp, 4
mov edx, str.d:jenkinsworkspace_a_mb4_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040f940
mov edx, 0x4c7114
mov ecx, eax
call fcn.0040f940
push 0x54f
mov ecx, eax
call fcn.0040df40
mov edx, str.:_Running_setup_from:
mov ecx, eax
call fcn.0040f940
push 0x4e4c58
lea ecx, [ebp - 0x260]
mov esi, eax
call fcn.0040c290
lea edx, [ebp - 0x260]
mov byte [ebp - 4], 0xb
mov ecx, esi
call fcn.0040f920
push eax
call fcn.0040fcb0
mov byte [ebp - 4], 0xa
add esp, 4
mov edx, dword [ebp - 0x24c]
cmp edx, 8
jb 0x427d1e
mov ecx, dword [ebp - 0x260]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x427d14
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x428098
push edx
push ecx
call fcn.0046d84e
add esp, 8
xor eax, eax
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x26c]
mov dword [ebp - 0x250], 0
mov dword [ebp - 0x24c], 7
mov word [ebp - 0x260], ax
cmp edx, 8
jb 0x427d7f
mov ecx, dword [ebp - 0x280]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x427d75
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x428098
push edx
push ecx
call fcn.0046d84e
add esp, 8
push 0x4e4c58
lea ecx, [ebp - 0x260]
call fcn.0040c290
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], 0xc
call fcn.0042fc40
mov byte [ebp - 4], 4
mov bl, al
mov edx, dword [ebp - 0x24c]
cmp edx, 8
jb 0x427de4
mov ecx, dword [ebp - 0x260]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x427dda
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x428098
push edx
push ecx
call fcn.0046d84e
add esp, 8
test bl, bl
je 0x427e99
lea ecx, [ebp - 0x280]
call fcn.0045e3b0
mov byte [ebp - 4], 0xd
cmp dword [eax + 0x14], 8
mov esi, dword [eax + 0x10]
jb 0x427e06
mov eax, dword [eax]
push esi
mov edx, eax
mov ecx, 0x4e84e8
call fcn.00410760
add esp, 4
mov edx, str.d:jenkinsworkspace_a_mb4_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040f940
mov edx, 0x4c7114
mov ecx, eax
call fcn.0040f940
push 0x552
mov ecx, eax
call fcn.0040df40
mov edx, str.:_Error___Running_setup_from_network_path
mov ecx, eax
call fcn.0040f940
push eax
call fcn.0040fcb0
mov edx, dword [ebp - 0x26c]
add esp, 4
cmp edx, 8
jb 0x427e8f
mov ecx, dword [ebp - 0x280]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x427e85
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x428098
push edx
push ecx
call fcn.0046d84e
add esp, 8
mov esi, 9
jmp 0x428007
call fcn.004265a0
test al, al
je 0x427f4d
lea ecx, [ebp - 0x280]
call fcn.0045e3b0
mov byte [ebp - 4], 0xe
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x427ec0
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e84e8
call fcn.00410760
add esp, 4
mov edx, str.d:jenkinsworkspace_a_mb4_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040f940
mov edx, 0x4c7114
mov ecx, eax
call fcn.0040f940
push 0x55a
mov ecx, eax
call fcn.0040df40
mov edx, str.:_Error___it_seems_like_a_Windows_Update_reboot_is_pending
mov ecx, eax
call fcn.0040f940
push eax
call fcn.0040fcb0
mov byte [ebp - 4], 4
add esp, 4
mov edx, dword [ebp - 0x26c]
cmp edx, 8
jb 0x427f4d
mov ecx, dword [ebp - 0x280]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x427f43
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x428098
push edx
push ecx
call fcn.0046d84e
add esp, 8
call fcn.00426fa0
test al, al
je 0x427f62
mov byte [0x4e994c], 1
jmp 0x428005
lea ecx, [ebp - 0x280]
call fcn.0045e3b0
mov byte [ebp - 4], 0xf
cmp dword [eax + 0x14], 8
mov ecx, dword [eax + 0x10]
jb 0x427f7c
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, 0x4e84e8
call fcn.00410760
add esp, 4
mov edx, str.d:jenkinsworkspace_a_mb4_mbsetup_srcmbsetupmbsetup.cpp
mov ecx, eax
call fcn.0040f940
mov edx, 0x4c7114
mov ecx, eax
call fcn.0040f940
push 0x566
mov ecx, eax
call fcn.0040df40
mov edx, str.:_Did_not_find_any_IFEO_registry_keys
mov ecx, eax
call fcn.0040f940
push eax
call fcn.0040fcb0
mov edx, dword [ebp - 0x26c]
add esp, 4
cmp edx, 8
jb 0x428005
mov ecx, dword [ebp - 0x280]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x427ffb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x428098
push edx
push ecx
call fcn.0046d84e
add esp, 8
xor esi, esi
mov edx, dword [ebp - 0x21c]
cmp edx, 8
jb 0x428043
mov ecx, dword [ebp - 0x230]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x428039
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x428098
push edx
push ecx
call fcn.0046d84e
add esp, 8
xor eax, eax
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 7
mov word [ebp - 0x230], ax
lea ecx, [ebp - 0x248]
call fcn.00405090
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0046d32d
mov esp, ebp
pop ebp
ret
call fcn.0048879c
call fcn.0048879c
call fcn.0048879c
call fcn.0048879c
int3