Function at 0x48760c
Capabilities:
Get common file path

Disassembly:
push ebp
lea ebp, [esp - 0x70]
sub esp, 0x58c
push ebx
push esi
lea eax, [ebp + 0x78]
push edi
push eax
mov dword [ebp + 0x50], ecx
call fcn.00439c95
push 4
pop edi
push edi
lea eax, [ebp + 0x78]
push eax
push str._svr
call fcn.00441bc4
xor ebx, ebx
add esp, 0x10
cmp al, bl
mov byte [ebp + 0x3b], al
jne 0x48765e
push edi
lea eax, [ebp + 0x78]
push eax
push str._vhd
call fcn.00441bc4
add esp, 0xc
test al, al
mov byte [ebp + 0x67], 1
jne 0x487661
mov byte [ebp + 0x67], bl
mov al, byte [ebp + 0x67]
or al, byte [ebp + 0x3b]
jne 0x487855
push edi
lea eax, [ebp + 0x78]
push eax
push str._udm
call fcn.00441bc4
add esp, 0xc
test al, al
je 0x487855
mov esi, dword [ebp + 0x78]
push edi
lea eax, [ebp + 0x78]
push eax
push str.upud
mov dword [ebp + 0x2c], ebx
call fcn.00441bc4
add esp, 0xc
test al, al
je 0x4876ac
mov dword [ebp + 0x2c], 0x80000000
jmp 0x4876c7
push 6
lea eax, [ebp + 0x78]
push eax
push str.listud
call fcn.00441bc4
add esp, 0xc
test al, al
je 0x4877ed
lea ecx, [ebp + 0x58]
mov dword [ebp + 0x24], ebx
call fcn.0043fd9a
mov ecx, dword [ebp + 0x50]
push 1
push ebx
lea eax, [ebp + 0x58]
push eax
push dword [ebp + 0x78]
call fcn.0044dca2
mov eax, dword [ebp + 0x58]
mov dword [ebp + 0x78], eax
push 5
lea eax, [ebp + 0x78]
push eax
push str._ret:
mov dword [ebp + 0x5c], ebx
call fcn.00441bc4
mov ecx, dword [ebp + 0x78]
add esp, 0xc
cmp ecx, ebx
je 0x487718
mov dx, word [ecx]
cmp dx, 0x2d
je 0x487718
cmp dx, 0x5c
je 0x487718
mov al, 1
cmp al, bl
je 0x487734
push 0xd
lea eax, [ebp + 0x24]
push eax
lea eax, [ebp + 0x5c]
push eax
mov dword [ebp + 0x5c], ecx
call fcn.0041a38c
add esp, 0xc
mov dword [ebp + 0x78], eax
push 8
lea eax, [ebp + 0x78]
push eax
xor esi, esi
push str._udmask:
mov dword [ebp + 0x1c], esi
mov dword [ebp + 0x20], ebx
call fcn.00441bc4
add esp, 0xc
test al, al
je 0x48777a
mov eax, dword [ebp + 0x78]
cmp word [eax], 0x2a
jne 0x487768
add dword [ebp + 0x78], 2
push 0x3d
pop esi
mov dword [ebp + 0x20], ebx
jmp 0x48777a
lea eax, [ebp + 0x1c]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.0044b318
mov esi, dword [ebp + 0x1c]
pop ecx
pop ecx
mov eax, dword [ebp + 0x78]
mov dword [ebp + 0x48], eax
push 0xd
lea eax, [ebp + 0x24]
push eax
lea eax, [ebp + 0x48]
push eax
call fcn.0041a38c
add esp, 0xc
mov dword [ebp + 0x78], eax
xor edi, edi
cmp word [eax], bx
je 0x48779e
mov edi, eax
lea ecx, [ebp + 0x40]
call fcn.0043fd9a
push ebx
xor eax, eax
xor ecx, ecx
or eax, ecx
push eax
and esi, 0xfeffff
or esi, dword [ebp + 0x2c]
lea eax, [ebp + 0x40]
push esi
push edi
push eax
push dword [ebp + 0x48]
call fcn.00437959
mov ecx, dword [ebp + 0x50]
add esp, 0x18
push dword [ebp + 0x40]
push dword [ebp + 0x5c]
call fcn.0043f62b
lea ecx, [ebp + 0x40]
call fcn.00439cfd
lea ecx, [ebp + 0x58]
call fcn.00439cfd
xor eax, eax
jmp 0x4884fc
movzx esi, word [esi]
mov eax, esi
or eax, 0x20
cmp ax, 0x61
jb 0x487801
cmp ax, 0x7a
jbe 0x48781e
mov eax, esi
call fcn.0043f8cf
test al, al
jne 0x48781e
cmp si, 0x61
jb 0x487818
cmp si, 0x66
jbe 0x48781e
cmp si, 0x78
jne 0x487825
mov eax, str.22:INDATA
jmp 0x48782a
mov eax, str.22:INDATA_mount
push 0xffffffffffffffff
push eax
lea ecx, [ebp + 0x5c]
call fcn.004483cf
push dword [ebp + 0x78]
lea ecx, [ebp + 0x5c]
call fcn.0043fe06
push dword [ebp + 0x5c]
mov ecx, dword [ebp + 0x50]
call fcn.004309f9
mov esi, eax
lea ecx, [ebp + 0x5c]
jmp 0x4884f5
push dword [ebp + 0x50]
lea ecx, [ebp - 0x18]
call fcn.00441f45
mov edi, 0x4ae9fc
push edi
lea ecx, [ebp + 0x34]
call fcn.00448399
push edi
lea ecx, [ebp + 0x28]
call fcn.00448399
push edi
lea ecx, [ebp + 0x24]
call fcn.00448399
push edi
lea ecx, [ebp + 0x3c]
call fcn.00448399
mov esi, dword [ebp + 0x78]
cmp word [esi], 0x2d
mov dword [ebp + 0x54], 0x80000000
mov dword [ebp + 0x2c], ebx
mov dword [ebp + 0x58], ebx
mov dword [ebp], ebx
mov dword [ebp + 0x48], ebx
mov dword [ebp + 4], ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 0xc], 0x200
mov dword [ebp - 8], ebx
mov al, 0x2a
jne 0x4878b9
add al, 3
mov dword [ebp + 0x14], ebx
mov dword [ebp + 0x18], ebx
movzx ecx, word [esi]
movsx eax, al
cmp eax, ecx
mov byte [ebp + 0x6f], bl
mov byte [ebp + 0x4f], bl
mov dword [ebp + 0x40], ebx
mov dword [ebp + 8], 2
mov dword [ebp + 0x5c], eax
jne 0x487adc
lea eax, [esi + 2]
push 5
push eax
push str.query
call fcn.0043af01
add esp, 0xc
test al, al
je 0x487900
mov byte [ebp + 0x6f], 1
jmp 0x487aaf
push 3
lea eax, [esi + 2]
push eax
push 0x4b9fd0
call fcn.0043af01
add esp, 0xc
test al, al
je 0x48796c
lea eax, [ebp + 0x78]
add esi, 8
push eax
mov dword [ebp + 0x78], esi
call fcn.00439c95
mov eax, dword [ebp + 0x78]
mov dword [ebp + 0x14], eax
lea eax, [ebp + 0x78]
push eax
call fcn.0040549b
mov eax, dword [ebp + 0x78]
cmp word [eax], bx
pop ecx
pop ecx
je 0x487946
mov word [eax], bx
add dword [ebp + 0x78], 2
mov ecx, dword [ebp + 0x50]
push ebx
push ebx
lea eax, [ebp + 0x18]
push eax
lea eax, [ebp + 0x14]
push eax
call fcn.004350f0
mov eax, dword [ebp + 0x18]
mov dword [ebp + 0x14], eax
lea eax, [ebp + 0x78]
push eax
call fcn.00439c95
jmp 0x487ab8
push 1
lea eax, [esi + 2]
push eax
push 0x4b34d0
call fcn.0043af01
add esp, 0xc
test al, al
je 0x48798c
mov byte [ebp + 0x4f], 1
jmp 0x487aaf
push 1
lea eax, [esi + 2]
push eax
push 0x4b9fcc
call fcn.0043af01
add esp, 0xc
test al, al
jne 0x487a2d
push 2
lea eax, [esi + 2]
push eax
push 0x4b9fc8
call fcn.0043af01
add esp, 0xc
test al, al
je 0x4879ca
or dword [ebp], 0xffffffff
mov dword [ebp + 0x58], ebx
jmp 0x487aaf
push 1
lea eax, [esi + 2]
push eax
push 0x4b4354
call fcn.0043af01
add esp, 0xc
test al, al
je 0x4879ed
mov dword [ebp + 0x48], 2
jmp 0x487aaf
push 2
lea eax, [esi + 2]
push eax
push 0x4b9fc4
call fcn.0043af01
add esp, 0xc
test al, al
je 0x487a10
mov dword [ebp + 0x48], 3
jmp 0x487aaf
push 3
lea eax, [esi + 2]
push eax
push 0x4b9fc0
call fcn.0043af01
add esp, 0xc
test al, al
je 0x487a36
lea eax, [ebp + 8]
mov dword [ebp + 0x40], eax
mov dword [ebp + 0x58], 1
jmp 0x487aaf
push 1
lea eax, [esi + 2]
push eax
push 0x4b8ca8
call fcn.0043af01
add esp, 0xc
test al, al
je 0x487a56
mov dword [ebp + 4], 1
jmp 0x487aaf
push 1
lea eax, [esi + 2]
push eax
push 0x4b9fbc
call fcn.0043af01
add esp, 0xc
test al, al
je 0x487a76
mov dword [ebp - 4], 2
jmp 0x487aaf
push 2
lea eax, [esi + 2]
push eax
push 0x4b9fb8
call fcn.0043af58
add esp, 0xc
test al, al
je 0x487adc
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp + 0x30]
add esi, 6
push eax
mov dword [ebp + 0x78], esi
mov dword [ebp + 0x30], esi
call fcn.00444a3d
lea eax, [ebp + 0x78]
push eax
call fcn.0040549b
add esp, 0xc
lea eax, [ebp + 0x78]
push eax
call fcn.00405444
mov esi, dword [ebp + 0x78]
movzx eax, word [esi]
cmp dword [ebp + 0x5c], eax
pop ecx
je 0x4878e0
jmp 0x487adc
cmp ax, 0x21
jne 0x487ae4
inc esi
inc esi
mov dword [ebp + 0x2c], 1
mov dword [ebp + 0x78], esi
mov ax, word [esi]
cmp ax, bx
jne 0x487aca
lea eax, [ebp + 0x78]
push eax
call fcn.00439c95
pop ecx
mov ecx, dword [ebp + 0x50]
push ebx
push 0x2c
lea eax, [ebp + 0x34]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.004350f0
mov dword [ebp + 0x78], eax
mov eax, dword [ebp + 0x34]
mov cx, word [eax]
push 0x5c
pop edx
cmp cx, dx
mov dword [ebp + 0x44], eax
je 0x487b20
cmp cx, 0x2f
jne 0x487b45
cmp cx, dx
jne 0x487b3c
cmp word [eax + 2], dx
jne 0x487b3c
mov cx, word [eax + 4]
cmp cx, 0x3f
je 0x487b36
cmp cx, 0x2e
jne 0x487b3c
cmp word [eax + 6], dx
je 0x487b45
mov dword [ebp + 0x68], 1
jmp 0x487b48
mov dword [ebp + 0x68], ebx
cmp byte [ebp + 0x6f], bl
jne 0x487b9a
cmp dword [ebp + 0x68], ebx
je 0x487b9a
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
mov esi, eax
mov eax, dword [ebp + 0x34]
mov dword [ebp + 0x5c], eax
lea eax, [esi + 3]
push eax
lea ecx, [ebp + 0x34]
mov dword [ebp + 0x34], ebx
call fcn.0043fddf
mov eax, dword [ebp + 0x34]
inc esi
push esi
push dword [ebp + 0x5c]
mov dword [ebp + 0x44], eax
mov word [eax], 0x20
mov word [eax + 2], 0x3a
add eax, 4
push eax
call fcn.0040542c
add esp, 0xc
lea ecx, [ebp + 0x5c]
call fcn.00439cfd
mov eax, dword [ebp + 0x78]
cmp word [eax], bx
je 0x487bbc
mov ecx, dword [ebp + 0x50]
add dword [ebp + 0x78], 2
push ebx
push 0x2c
lea eax, [ebp + 0x28]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.004350f0
mov dword [ebp + 0x78], eax
mov eax, dword [ebp + 0x28]
or dword [ebp + 0xc], 0xffffffff
or dword [ebp + 0x10], 0xffffffff
cmp byte [ebp + 0x6f], bl
mov dword [ebp + 0x60], eax
mov dword [ebp + 0x20], ebx
mov dword [ebp + 0x5c], ebx
mov dword [ebp + 0x30], ebx
je 0x487c19
cmp byte [ebp + 0x67], bl
jne 0x487c51
xor esi, esi
cmp byte [ebp + 0x67], bl
je 0x487ec3
mov edi, 0x4c9bac
push edi
call dword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
call fcn.0043d01a
push edi
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
cmp byte [ebp + 0x4f], bl
je 0x487cf2
push dword [ebp + 0x44]
call fcn.0043d32a
pop ecx
mov ebx, eax
jmp 0x4883b1
mov eax, dword [ebp + 0x78]
cmp word [eax], bx
je 0x487c9e
add dword [ebp + 0x78], 2
mov eax, dword [ebp + 0x78]
cmp word [eax], 0x22
jne 0x487c32
add dword [ebp + 0x78], 2
push 0x2c
lea eax, [ebp + 0x54]
push eax
push 1
push 0x2c
lea eax, [ebp + 0x78]
push eax
lea ecx, [ebp - 0x18]
call fcn.00451235
push eax
call fcn.00442c25
add esp, 0xc
mov eax, dword [ebp + 0x78]
cmp word [eax], bx
je 0x487c73
mov ecx, dword [ebp + 0x50]
add dword [ebp + 0x78], 2
push ebx
push 0x2c
lea eax, [ebp + 0x3c]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.004350f0
mov dword [ebp + 0x78], eax
cmp byte [ebp + 0x6f], bl
je 0x487c9e
cmp byte [ebp + 0x67], bl
je 0x487bdd
mov eax, dword [ebp + 0x78]
cmp word [eax], bx
je 0x487cde
add dword [ebp + 0x78], 2
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.0043c462
pop ecx
pop ecx
jmp 0x487cde
cmp byte [ebp + 0x67], bl
je 0x487bdd
mov eax, dword [ebp + 0x78]
cmp word [eax], bx
je 0x487cde
add dword [ebp + 0x78], 2
mov esi, dword [ebp + 0x78]
push 0x2c
lea eax, [ebp + 0x78]
mov dword [ebp + 0x30], esi
call fcn.0043f8e8
mov eax, dword [ebp + 0x78]
cmp word [eax], bx
pop ecx
je 0x487cd3
mov word [eax], bx
add dword [ebp + 0x78], 2
cmp word [esi], bx
je 0x487cde
lea eax, [ebp + 0x20]
mov dword [ebp + 0x5c], eax
lea eax, [ebp + 8]
cmp dword [ebp + 0x40], eax
jne 0x487bdd
xor esi, esi
inc esi
jmp 0x487bdf
xor eax, eax
cmp esi, ebx
setne al
dec eax
cmp byte [ebp + 0x6f], bl
mov dword [ebp + 0x68], eax
je 0x487d40
mov ecx, dword [ebp + 0x50]
push ebx
push 0xffffffffffffffff
push ebx
push dword [ebp + 0x60]
mov dword [ebp + 0x68], ebx
call fcn.0040fd4e
mov ecx, eax
cmp ecx, ebx
mov dword [ebp + 0x54], ecx
jne 0x487d27
mov ebx, 0x80070057
jmp 0x4883b1
cmp dword [ebp + 0x10], ebx
jl 0x487d40
mov eax, dword [ebp + 0xc]
jg 0x487d35
cmp eax, ebx
jb 0x487d40
mov ecx, dword [ecx + 4]
mov dword [ecx], eax
mov eax, dword [ebp + 0x10]
mov dword [ecx + 4], eax
cmp dword [ebp + 0x48], ebx
je 0x487e07
lea eax, [ebp + 0x1c]
push eax
lea eax, [ebp + 0x60]
push eax
mov dword [ebp + 0x1c], ebx
mov dword [ebp + 0x20], ebx
call fcn.00444a3d
mov eax, dword [ebp + 0x60]
cmp word [eax], bx
pop ecx
pop ecx
je 0x487d6a
add dword [ebp + 0x60], 2
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.00444a3d
mov eax, dword [ebp + 0x60]
mov word [eax], bx
xor eax, eax
pop ecx
inc eax
cmp dword [ebp + 4], ebx
pop ecx
je 0x487d89
xor eax, eax
cmp dword [ebp + 0x20], ebx
jg 0x487de8
jl 0x487d99
cmp dword [ebp + 0x1c], 0x100000
jae 0x487de8
mov edi, 0x80070057
push dword [ebp + 0x60]
call dword [sym.imp.KERNEL32.DLL_lstrlenW]
add eax, 0x96
push eax
lea ecx, [ebp + 0x5c]
call fcn.0043fdb8
push dword [ebp + 0x60]
push edi
push dword [ebp + 0x68]
push str._d_t_d_t_s
push dword [ebp + 0x5c]
call dword [sym.imp.USER32.dll_wsprintfW]
mov ecx, dword [ebp + 0x50]
add esp, 0x14
push dword [ebp + 0x5c]
push dword [ebp + 0x3c]
call fcn.0043f62b
lea ecx, [ebp + 0x5c]
call fcn.00439cfd
jmp 0x487ebc
push dword [ebp - 0xc]
push dword [ebp + 0x48]
push eax
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push dword [ebp + 0x44]
call fcn.0043d110
mov edi, eax
add esp, 0x18
mov dword [ebp + 0x68], edi
jmp 0x487d9e
mov eax, dword [ebp + 0x5c]
mov ecx, dword [ebp + 0x60]
mov cx, word [ecx]
neg eax
sbb eax, eax
and eax, 0xfffffffc
add eax, 4
or eax, dword [ebp - 4]
or eax, dword [ebp + 0x58]
cmp cx, bx
je 0x487e2e
cmp cx, 0x2a
je 0x487e2e
or eax, 2
cmp esi, ebx
je 0x487e3a
cmp dword [ebp], ebx
jg 0x487e3a
or eax, 1
mov ecx, dword [ebp + 0x3c]
cmp word [ecx], bx
jne 0x487e47
or eax, 0x10000
cmp byte [ebp + 0x6f], bl
jne 0x487e58
cmp dword [ebp + 0x54], ebx
jg 0x487e58
mov dword [ebp + 0x54], 1
mov esi, dword [ebp + 0x5c]
push esi
push dword [ebp + 0x40]
lea ecx, [ebp + 0x68]
push ecx
mov cl, byte [ebp + 0x6f]
push dword [ebp + 0x54]
neg cl
push dword [ebp + 0x60]
sbb ecx, ecx
and ecx, 0x20
or ecx, eax
push ecx
push dword [ebp + 0x44]
call fcn.004870cd
add esp, 0x1c
cmp esi, ebx
mov edi, eax
je 0x487e9c
mov eax, dword [esi]
cmp eax, ebx
je 0x487e9c
push dword [ebp + 0x30]
push eax
push dword [ebp + 0x50]
call fcn.0042b7a3
add esp, 0xc
cmp byte [ebp + 0x6f], bl
je 0x487d9e
mov eax, dword [ebp + 0x3c]
cmp word [eax], bx
je 0x487ebc
push eax
push dword [ebp + 0x68]
push dword [ebp + 0x50]
call fcn.00442235
add esp, 0xc
mov ebx, edi
jmp 0x4883b1
cmp byte [ebp + 0x6f], bl
jne 0x487ee5
mov eax, dword [ebp + 0x60]
cmp word [eax], bx
jne 0x487ee5
cmp byte [ebp + 0x4f], bl
je 0x487d1d
mov eax, dword [ebp + 0x44]
cmp word [eax], bx
je 0x487d1d
cmp byte [ebp + 0x3b], bl
je 0x487f97
push 0xffffffffffffffff
push str.22:INDATA_mount_wimsvr__
lea ecx, [ebp + 0x68]
call fcn.004483cf
push dword [ebp + 0x44]
lea ecx, [ebp + 0x68]
mov word [ebp - 0xb4], bx
call fcn.0043fe06
mov esi, 0x4b2f68
push esi
lea ecx, [ebp + 0x68]
call fcn.0043fe06
push dword [ebp + 0x60]
lea ecx, [ebp + 0x68]
call fcn.0043fe06
push esi
lea ecx, [ebp + 0x68]
call fcn.0043fe06
mov eax, dword [ebp + 0x54]
cmp eax, ebx
jl 0x487f59
cdq
push edx
push eax
lea eax, [ebp - 0xb4]
push eax
call fcn.0048ca08
add esp, 0xc
lea eax, [ebp - 0xb4]
push eax
lea ecx, [ebp + 0x68]
call fcn.0043fe06
push esi
lea ecx, [ebp + 0x68]
call fcn.0043fe06
push dword [ebp + 0x3c]
lea ecx, [ebp + 0x68]
call fcn.0043fe06
push 0x4b2fe8
lea ecx, [ebp + 0x68]
call fcn.0043fe06
push dword [ebp + 0x78]
lea ecx, [ebp + 0x68]
call fcn.0043fe06
push dword [ebp + 0x68]
mov ecx, dword [ebp + 0x50]
call fcn.004309f9
mov ebx, eax
jmp 0x4883a9
mov esi, 0x4c9bc4
push esi
call dword [sym.imp.KERNEL32.DLL_EnterCriticalSection]
push dword [ebp + 0x14]
lea ecx, [ebp + 0x78]
call fcn.0043b06a
lea ecx, [ebp + 0x78]
call fcn.0043b051
push esi
mov dword [ebp + 0x5c], eax
call dword [sym.imp.KERNEL32.DLL_LeaveCriticalSection]
cmp dword [ebp + 0x5c], ebx
jge 0x487fdc
push str.WIM_DLL_ERR_r_n
push dword [ebp + 0x50]
call fcn.0041009a
pop ecx
pop ecx
xor ebx, ebx
inc ebx
jmp 0x4883b1
cmp byte [ebp + 0x6f], bl
je 0x4880fd
cmp dword [0x4c91bc], ebx
jne 0x487ff5
push 0x78
pop ebx
jmp 0x4883b1
mov esi, dword [ebp + 0x44]
push 0x3d
push esi
call dword [sym.imp.SHLWAPI.dll_StrChrW]
cmp eax, ebx
mov dword [ebp + 0x30], eax
je 0x488010
mov word [eax], bx
inc eax
inc eax
mov dword [ebp + 0x30], eax
cmp word [esi], bx
je 0x487d1d
lea ecx, [ebp + 0x48]
call fcn.0043fd9a
mov eax, dword [ebp + 0x78]
cmp word [eax], 0x2c
jne 0x48804c
add dword [ebp + 0x78], 2
push 1
push 0x2c
lea eax, [ebp + 0x78]
push eax
lea ecx, [ebp - 0x18]
call fcn.00451235
push ebx
lea ecx, [ebp + 0x48]
push ecx
push eax
call fcn.004429d8
add esp, 0xc
push dword [ebp + 0x48]
call fcn.00411f27
pop ecx
lea ecx, [ebp + 0x54]
mov edi, eax
call fcn.0043fd9a
mov esi, dword [ebp + 0x60]
cmp word [esi], bx
je 0x488087
cmp word [esi + 2], 0x3a
je 0x488087
lea eax, [ebp + 0x54]
push eax
push esi
call fcn.004122c1
pop ecx
pop ecx
push dword [ebp + 0x54]
lea ecx, [ebp + 0x28]
call fcn.00448401
mov esi, dword [eax]
cmp word [edi], bx
je 0x4880ac
cmp word [edi + 2], 0x3a
je 0x4880ac
lea eax, [ebp + 0x54]
push eax
push edi
call fcn.004122c1
pop ecx
pop ecx
push dword [ebp + 0x54]
lea ecx, [ebp + 0x48]
call fcn.00448401
mov edi, dword [eax]
push 0x20
lea ecx, [ebp + 0x58]
call fcn.0043fdb8
mov eax, dword [ebp + 0x58]
push ebx
push ebx
push dword [ebp + 0x30]
mov word [eax + 4], bx
lea eax, [ebp + 0x58]
push eax
push edi
push esi
push dword [ebp + 0x50]
call fcn.0044b9a8
mov eax, dword [ebp + 0x58]
mov ecx, dword [ebp + 0x50]
add esp, 0x1c
add eax, 4
push eax
push dword [ebp + 0x44]
call fcn.0043f62b
lea ecx, [ebp + 0x58]
call fcn.00439cfd
lea ecx, [ebp + 0x54]
call fcn.00439cfd
lea ecx, [ebp + 0x48]
jmp 0x4883ac
cmp byte [ebp + 0x4f], bl
mov dword [ebp + 0x40], ebx
jne 0x4882f1
mov esi, dword [ebp + 0x44]
cmp word [esi], bx
je 0x4882f1
mov eax, dword [ebp + 0x3c]
cmp word [eax], 0x2a
jne 0x48813f
push 0x105
lea ecx, [ebp + 0x3c]
call fcn.0043fddf
mov eax, dword [ebp + 0x3c]
mov word [eax], bx
push dword [ebp + 0x3c]
push 0x104
call dword [sym.imp.KERNEL32.DLL_GetTempPathW]
cmp dword [0x4c91b0], ebx
je 0x487fd4
push dword [ebp + 0x60]
call fcn.00499edd
test eax, eax
pop ecx
jne 0x488176
push dword [ebp + 0x60]
lea ecx, [ebp + 0x30]
call fcn.00448399
push dword [ebp + 0x30]
mov ecx, dword [ebp + 0x50]
call fcn.0041d2b5
lea ecx, [ebp + 0x30]
call fcn.00439cfd
push dword [ebp + 0x60]
call fcn.00499edd
test eax, eax
pop ecx
je 0x487fd4
cmp dword [ebp + 0x68], ebx
jne 0x48819b
push esi
call fcn.0049a075
test eax, eax
pop ecx
je 0x487fd4
push 8
pop ecx
xor eax, eax
mov dword [ebp - 0x3c], ebx
lea edi, [ebp - 0x38]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x3c]
push eax
push ebx
push esi
call dword [sym.imp.KERNEL32.DLL_GetFileAttributesExW]
test eax, eax
je 0x4881be
test byte [ebp - 0x3c], 1
jne 0x4881c9
mov eax, dword [ebp + 0x3c]
cmp word [eax], bx
mov dword [ebp + 0x58], eax
jne 0x4881cc
mov dword [ebp + 0x58], ebx
cmp dword [ebp + 0x68], ebx
mov dword [ebp + 0x48], ebx
je 0x4881e9
cmp dword [ebp + 0x5c], ebx
jne 0x4881e0
mov dword [ebp + 0x48], 0x100
cmp dword [ebp + 0x2c], ebx
je 0x4881e9
or byte [ebp + 0x49], 2
xor eax, eax
inc eax
cmp dword [ebp + 0x68], ebx
je 0x4881fd
lea eax, [ebp + 0x48]
push eax
push esi
call fcn.004744d1
pop ecx
pop ecx
mov edi, dword [ebp + 0x54]
sar eax, 8
movzx esi, al
dec esi
cmp edi, 0x80000000
jne 0x488212
xor edi, edi
inc edi
push dword [ebp + 0x44]
call fcn.0049a075
test eax, eax
pop ecx
je 0x488273
cmp dword [ebp + 0x5c], ebx
je 0x48823f
cmp edi, ebx
jge 0x48822b
xor edi, edi
inc edi
push dword [ebp + 0x58]
push edi
push dword [ebp + 0x44]
push dword [ebp + 0x60]
call fcn.0044b813
add esp, 0x10
jmp 0x488256
cmp edi, ebx
jge 0x488246
xor edi, edi
inc edi
push dword [ebp + 0x58]
push edi
push dword [ebp + 0x44]
push dword [ebp + 0x60]
call dword [0x4c91b0]
push eax
push dword [ebp + 0x58]
mov dword [ebp + 0x40], eax
push dword [ebp + 0x60]
push dword [ebp + 0x44]
push str.FOUND_WIM___s____mount_to___s____s___d_r_n
push dword [ebp + 0x50]
call fcn.0041009a
add esp, 0x18
cmp dword [ebp + 0x68], ebx
je 0x48828a
cmp dword [ebp + 0x2c], ebx
jne 0x48828a
mov eax, dword [ebp + 0x48]
cmp ax, bx
je 0x48828a
call fcn.0043b8cb
cmp esi, ebx
jl 0x4882b4
push esi
lea eax, [ebp - 0x104]
push str.PART_update__d
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
mov ecx, dword [ebp + 0x50]
add esp, 0xc
push ebx
lea eax, [ebp - 0xfc]
push eax
call fcn.0045b8ac
lea ecx, [ebp + 0x18]
call fcn.00439cfd
lea ecx, [ebp + 0x3c]
call fcn.00439cfd
lea ecx, [ebp + 0x24]
call fcn.00439cfd
lea ecx, [ebp + 0x28]
call fcn.00439cfd
lea ecx, [ebp + 0x34]
call fcn.00439cfd
lea ecx, [ebp - 0x18]
call fcn.00439cfd
xor eax, eax
cmp dword [ebp + 0x40], ebx
sete al
jmp 0x4884fc
lea ecx, [ebp + 0x68]
call fcn.0043fd9a
mov esi, dword [ebp + 0x60]
cmp word [esi], bx
je 0x488324
cmp word [esi + 2], 0x3a
je 0x488324
lea eax, [ebp + 0x68]
push eax
push esi
call fcn.004122c1
pop ecx
pop ecx
push dword [ebp + 0x68]
lea ecx, [ebp + 0x28]
call fcn.00448401
mov esi, dword [eax]
mov dword [ebp + 0x60], esi
mov eax, dword [ebp + 0x44]
cmp word [eax], bx
je 0x48834f
cmp word [eax + 2], 0x3a
je 0x48834f
lea ecx, [ebp + 0x68]
push ecx
push eax
call fcn.004122c1
pop ecx
pop ecx
push dword [ebp + 0x68]
lea ecx, [ebp + 0x34]
call fcn.00448401
mov eax, dword [eax]
mov dword [ebp + 0x44], eax
or dword [ebp + 0x2c], 0xffffffff
cmp word [esi], bx
jne 0x48838c
cmp word [eax], bx
je 0x488387
lea ecx, [ebp + 0x2c]
push ecx
lea ecx, [ebp - 0x51c]
push ecx
push edi
lea ecx, [ebp + 0x68]
push ecx
push eax
push edi
push dword [ebp + 0x50]
call fcn.0044b9a8
add esp, 0x1c
test eax, eax
je 0x4883a4
lea esi, [ebp - 0x314]
mov dword [ebp + 0x60], esi
cmp word [esi], bx
je 0x4883a4
cmp dword [0x4c91b4], ebx
jne 0x488399
xor ebx, ebx
inc ebx
jmp 0x4883a9
push esi
call fcn.00499edd
test eax, eax
pop ecx
jne 0x4883e8
mov ebx, 0x80070057
lea ecx, [ebp + 0x68]
call fcn.00439cfd
lea ecx, [ebp + 0x18]
call fcn.00439cfd
lea ecx, [ebp + 0x3c]
call fcn.00439cfd
lea ecx, [ebp + 0x24]
call fcn.00439cfd
lea ecx, [ebp + 0x28]
call fcn.00439cfd
lea ecx, [ebp + 0x34]
call fcn.00439cfd
lea ecx, [ebp - 0x18]
call fcn.00439cfd
mov eax, ebx
jmp 0x4884fc
mov eax, dword [ebp + 0x44]
cmp word [eax], bx
mov dword [ebp + 0x40], eax
jne 0x4883f6
mov dword [ebp + 0x40], ebx
cmp word [esi], bx
mov dword [ebp + 0x58], esi
jne 0x488401
mov dword [ebp + 0x58], ebx
cmp dword [ebp + 0x54], 0x80000000
jne 0x48840d
mov dword [ebp + 0x54], ebx
xor edi, edi
inc edi
cmp dword [ebp + 0x2c], ebx
mov esi, edi
jg 0x488465
cmp dword [ebp + 0x5c], ebx
je 0x488437
xor eax, eax
cmp dword [ebp + 0x54], ebx
push ebx
setne al
push eax
push dword [ebp + 0x60]
call fcn.0043cebe
mov esi, eax
add esp, 0xc
cmp esi, ebx
je 0x488460
cmp dword [ebp + 0x54], 0x80000000
je 0x488449
cmp dword [ebp + 0x54], ebx
je 0x488449
mov eax, edi
jmp 0x48844b
xor eax, eax
push eax
push ebx
push dword [ebp + 0x40]
push dword [ebp + 0x58]
call dword [0x4c91b4]
mov esi, eax
neg esi
sbb esi, esi
inc esi
cmp dword [ebp + 0x2c], ebx
je 0x4884c2
cmp esi, ebx
je 0x4884c2
cmp dword [0x4c91b8], ebx
je 0x4884c2
cmp dword [0x4c91f0], ebx
setne al
cmp al, bl
je 0x488499
xor eax, eax
cmp dword [ebp + 0x54], ebx
push edi
setne al
push eax
push dword [ebp + 0x60]
call fcn.0043cebe
mov esi, eax
add esp, 0xc
cmp esi, ebx
je 0x4884c2
cmp dword [ebp + 0x54], 0x80000000
je 0x4884ab
cmp dword [ebp + 0x54], ebx
je 0x4884ab
mov eax, edi
jmp 0x4884ad
xor eax, eax
push eax
push ebx
push dword [ebp + 0x40]
push dword [ebp + 0x58]
call dword [0x4c91b8]
mov esi, eax
neg esi
sbb esi, esi
inc esi
lea ecx, [ebp + 0x68]
call fcn.00439cfd
lea ecx, [ebp + 0x18]
call fcn.00439cfd
lea ecx, [ebp + 0x3c]
call fcn.00439cfd
lea ecx, [ebp + 0x24]
call fcn.00439cfd
lea ecx, [ebp + 0x28]
call fcn.00439cfd
lea ecx, [ebp + 0x34]
call fcn.00439cfd
lea ecx, [ebp - 0x18]
call fcn.00439cfd
mov eax, esi
pop edi
pop esi
pop ebx
add ebp, 0x70
leave
ret 8