Function at 0x49d460
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 + 0x5c], ecx
call fcn.0043fe57
push 4
pop edi
push edi
lea eax, [ebp + 0x78]
push eax
push str._svr
call fcn.004485c7
xor ebx, ebx
add esp, 0x10
cmp al, bl
mov byte [ebp + 0x43], al
jne 0x49d4b2
push edi
lea eax, [ebp + 0x78]
push eax
push str._vhd
call fcn.004485c7
add esp, 0xc
test al, al
mov byte [ebp + 0x67], 1
jne 0x49d4b5
mov byte [ebp + 0x67], bl
mov al, byte [ebp + 0x67]
or al, byte [ebp + 0x43]
jne 0x49d6a9
push edi
lea eax, [ebp + 0x78]
push eax
push str._udm
call fcn.004485c7
add esp, 0xc
test al, al
je 0x49d6a9
mov esi, dword [ebp + 0x78]
push edi
lea eax, [ebp + 0x78]
push eax
push str.upud
mov dword [ebp + 0x34], ebx
call fcn.004485c7
add esp, 0xc
test al, al
je 0x49d500
mov dword [ebp + 0x34], 0x80000000
jmp 0x49d51b
push 6
lea eax, [ebp + 0x78]
push eax
push str.listud
call fcn.004485c7
add esp, 0xc
test al, al
je 0x49d641
lea ecx, [ebp + 0x4c]
mov dword [ebp + 0x1c], ebx
call fcn.0044658e
mov ecx, dword [ebp + 0x5c]
push 1
push ebx
lea eax, [ebp + 0x4c]
push eax
push dword [ebp + 0x78]
call fcn.00457f62
mov eax, dword [ebp + 0x4c]
mov dword [ebp + 0x78], eax
push 5
lea eax, [ebp + 0x78]
push eax
push str._ret:
mov dword [ebp + 0x7c], ebx
call fcn.004485c7
mov ecx, dword [ebp + 0x78]
add esp, 0xc
cmp ecx, ebx
je 0x49d56c
mov dx, word [ecx]
cmp dx, 0x2d
je 0x49d56c
cmp dx, 0x5c
je 0x49d56c
mov al, 1
cmp al, bl
je 0x49d588
push 0xd
lea eax, [ebp + 0x1c]
push eax
lea eax, [ebp + 0x7c]
push eax
mov dword [ebp + 0x7c], ecx
call fcn.0041a9b6
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 + 0x24], esi
mov dword [ebp + 0x28], ebx
call fcn.004485c7
add esp, 0xc
test al, al
je 0x49d5ce
mov eax, dword [ebp + 0x78]
cmp word [eax], 0x2a
jne 0x49d5bc
add dword [ebp + 0x78], 2
push 0x3d
pop esi
mov dword [ebp + 0x28], ebx
jmp 0x49d5ce
lea eax, [ebp + 0x24]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.00453c1f
mov esi, dword [ebp + 0x24]
pop ecx
pop ecx
mov eax, dword [ebp + 0x78]
mov dword [ebp + 0x3c], eax
push 0xd
lea eax, [ebp + 0x1c]
push eax
lea eax, [ebp + 0x3c]
push eax
call fcn.0041a9b6
add esp, 0xc
mov dword [ebp + 0x78], eax
xor edi, edi
cmp word [eax], bx
je 0x49d5f2
mov edi, eax
lea ecx, [ebp + 0x68]
call fcn.0044658e
push ebx
xor eax, eax
xor ecx, ecx
or eax, ecx
push eax
and esi, 0xfeffff
or esi, dword [ebp + 0x34]
lea eax, [ebp + 0x68]
push esi
push edi
push eax
push dword [ebp + 0x3c]
call fcn.0043da08
mov ecx, dword [ebp + 0x5c]
add esp, 0x18
push dword [ebp + 0x68]
push dword [ebp + 0x7c]
call fcn.00445c44
lea ecx, [ebp + 0x68]
call fcn.0043fe25
lea ecx, [ebp + 0x4c]
call fcn.0043fe25
xor eax, eax
jmp 0x49e3f6
movzx esi, word [esi]
mov eax, esi
or eax, 0x20
cmp ax, 0x61
jb 0x49d655
cmp ax, 0x7a
jbe 0x49d672
mov eax, esi
call fcn.00446041
test al, al
jne 0x49d672
cmp si, 0x61
jb 0x49d66c
cmp si, 0x66
jbe 0x49d672
cmp si, 0x78
jne 0x49d679
mov eax, str.22:INDATA
jmp 0x49d67e
mov eax, str.22:INDATA_mount
push 0xffffffffffffffff
push eax
lea ecx, [ebp + 0x7c]
call fcn.00450621
push dword [ebp + 0x78]
lea ecx, [ebp + 0x7c]
call fcn.004465fa
push dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x5c]
call fcn.004236b4
mov esi, eax
lea ecx, [ebp + 0x7c]
jmp 0x49e3ef
push dword [ebp + 0x5c]
lea ecx, [ebp - 0x18]
call fcn.00448948
mov edi, 0x4c6a64
push edi
lea ecx, [ebp + 0x38]
call fcn.004505eb
push edi
lea ecx, [ebp + 0x20]
call fcn.004505eb
push edi
lea ecx, [ebp + 0x1c]
call fcn.004505eb
push edi
lea ecx, [ebp + 0x48]
call fcn.004505eb
mov esi, dword [ebp + 0x78]
cmp word [esi], 0x2d
mov dword [ebp + 0x44], 0x80000000
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x4c], ebx
mov dword [ebp + 0x28], ebx
mov dword [ebp + 0x30], ebx
mov dword [ebp + 8], ebx
mov dword [ebp + 0x10], ebx
mov dword [ebp - 8], 0x200
mov dword [ebp - 4], ebx
mov al, 0x2a
jne 0x49d70d
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 + 0x57], bl
mov dword [ebp + 0x3c], ebx
mov dword [ebp + 0xc], 2
mov dword [ebp + 0x58], eax
jne 0x49d930
lea eax, [esi + 2]
push 5
push eax
push str.query
call fcn.00441220
add esp, 0xc
test al, al
je 0x49d754
mov byte [ebp + 0x6f], 1
jmp 0x49d903
push 3
lea eax, [esi + 2]
push eax
push 0x4d33e0
call fcn.00441220
add esp, 0xc
test al, al
je 0x49d7c0
lea eax, [ebp + 0x78]
add esi, 8
push eax
mov dword [ebp + 0x78], esi
call fcn.0043fe57
mov eax, dword [ebp + 0x78]
mov dword [ebp + 0x14], eax
lea eax, [ebp + 0x78]
push eax
call fcn.00405c44
mov eax, dword [ebp + 0x78]
cmp word [eax], bx
pop ecx
pop ecx
je 0x49d79a
mov word [eax], bx
add dword [ebp + 0x78], 2
mov ecx, dword [ebp + 0x5c]
push ebx
push ebx
lea eax, [ebp + 0x18]
push eax
lea eax, [ebp + 0x14]
push eax
call fcn.0043ae93
mov eax, dword [ebp + 0x18]
mov dword [ebp + 0x14], eax
lea eax, [ebp + 0x78]
push eax
call fcn.0043fe57
jmp 0x49d90c
push 1
lea eax, [esi + 2]
push eax
push 0x4cc5e8
call fcn.00441220
add esp, 0xc
test al, al
je 0x49d7e0
mov byte [ebp + 0x57], 1
jmp 0x49d903
push 1
lea eax, [esi + 2]
push eax
push 0x4d33dc
call fcn.00441220
add esp, 0xc
test al, al
jne 0x49d881
push 2
lea eax, [esi + 2]
push eax
push 0x4d33d8
call fcn.00441220
add esp, 0xc
test al, al
je 0x49d81e
or dword [ebp + 0x28], 0xffffffff
mov dword [ebp + 0x4c], ebx
jmp 0x49d903
push 1
lea eax, [esi + 2]
push eax
push 0x4cc5d4
call fcn.00441220
add esp, 0xc
test al, al
je 0x49d841
mov dword [ebp + 0x30], 2
jmp 0x49d903
push 2
lea eax, [esi + 2]
push eax
push 0x4d33d4
call fcn.00441220
add esp, 0xc
test al, al
je 0x49d864
mov dword [ebp + 0x30], 3
jmp 0x49d903
push 3
lea eax, [esi + 2]
push eax
push 0x4d33d0
call fcn.00441220
add esp, 0xc
test al, al
je 0x49d88a
lea eax, [ebp + 0xc]
mov dword [ebp + 0x3c], eax
mov dword [ebp + 0x4c], 1
jmp 0x49d903
push 1
lea eax, [esi + 2]
push eax
push 0x4d1bf8
call fcn.00441220
add esp, 0xc
test al, al
je 0x49d8aa
mov dword [ebp + 8], 1
jmp 0x49d903
push 1
lea eax, [esi + 2]
push eax
push 0x4d33cc
call fcn.00441220
add esp, 0xc
test al, al
je 0x49d8ca
mov dword [ebp + 0x10], 2
jmp 0x49d903
push 2
lea eax, [esi + 2]
push eax
push 0x4d33c8
call fcn.00441277
add esp, 0xc
test al, al
je 0x49d930
lea eax, [ebp - 8]
push eax
lea eax, [ebp + 0x68]
add esi, 6
push eax
mov dword [ebp + 0x78], esi
mov dword [ebp + 0x68], esi
call fcn.0044c029
lea eax, [ebp + 0x78]
push eax
call fcn.00405c44
add esp, 0xc
lea eax, [ebp + 0x78]
push eax
call fcn.00408f31
mov esi, dword [ebp + 0x78]
movzx eax, word [esi]
cmp dword [ebp + 0x58], eax
pop ecx
je 0x49d734
jmp 0x49d930
cmp ax, 0x21
jne 0x49d938
inc esi
inc esi
mov dword [ebp + 0x34], 1
mov dword [ebp + 0x78], esi
mov ax, word [esi]
cmp ax, bx
jne 0x49d91e
lea eax, [ebp + 0x78]
push eax
call fcn.0043fe57
pop ecx
mov ecx, dword [ebp + 0x5c]
push ebx
push 0x2c
lea eax, [ebp + 0x38]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.0043ae93
mov dword [ebp + 0x78], eax
mov eax, dword [ebp + 0x38]
mov cx, word [eax]
push 0x5c
pop edx
cmp cx, dx
mov dword [ebp + 0x50], eax
je 0x49d974
cmp cx, 0x2f
jne 0x49d999
cmp cx, dx
jne 0x49d990
cmp word [eax + 2], dx
jne 0x49d990
mov cx, word [eax + 4]
cmp cx, 0x3f
je 0x49d98a
cmp cx, 0x2e
jne 0x49d990
cmp word [eax + 6], dx
je 0x49d999
mov dword [ebp + 0x58], 1
jmp 0x49d99c
mov dword [ebp + 0x58], ebx
cmp byte [ebp + 0x6f], bl
jne 0x49d9ee
cmp dword [ebp + 0x58], ebx
je 0x49d9ee
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov esi, eax
mov eax, dword [ebp + 0x38]
mov dword [ebp + 0x68], eax
lea eax, [esi + 3]
push eax
lea ecx, [ebp + 0x38]
mov dword [ebp + 0x38], ebx
call fcn.004465d3
mov eax, dword [ebp + 0x38]
inc esi
push esi
push dword [ebp + 0x68]
mov dword [ebp + 0x50], eax
mov word [eax], 0x20
mov word [eax + 2], 0x3a
add eax, 4
push eax
call fcn.00405c0c
add esp, 0xc
lea ecx, [ebp + 0x68]
call fcn.0043fe25
mov eax, dword [ebp + 0x78]
cmp word [eax], bx
je 0x49da10
mov ecx, dword [ebp + 0x5c]
add dword [ebp + 0x78], 2
push ebx
push 0x2c
lea eax, [ebp + 0x20]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.0043ae93
mov dword [ebp + 0x78], eax
mov eax, dword [ebp + 0x20]
or dword [ebp], 0xffffffff
or dword [ebp + 4], 0xffffffff
xor esi, esi
cmp byte [ebp + 0x6f], bl
mov dword [ebp + 0x60], eax
mov dword [ebp - 0xc], ebx
mov dword [ebp + 0x2c], ebx
je 0x49da36
cmp byte [ebp + 0x67], bl
je 0x49db00
jmp 0x49da6e
mov eax, dword [ebp + 0x78]
cmp word [eax], bx
je 0x49dab7
add dword [ebp + 0x78], 2
mov eax, dword [ebp + 0x78]
cmp word [eax], 0x22
jne 0x49da4f
add dword [ebp + 0x78], 2
push 0x2c
lea eax, [ebp + 0x44]
push eax
push 1
push 0x2c
lea eax, [ebp + 0x78]
push eax
lea ecx, [ebp - 0x18]
call fcn.0045bac5
push eax
call fcn.00449740
add esp, 0xc
mov eax, dword [ebp + 0x78]
cmp word [eax], bx
je 0x49da90
mov ecx, dword [ebp + 0x5c]
add dword [ebp + 0x78], 2
push ebx
push 0x2c
lea eax, [ebp + 0x48]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.0043ae93
mov dword [ebp + 0x78], eax
cmp byte [ebp + 0x6f], bl
je 0x49dab7
cmp byte [ebp + 0x67], bl
je 0x49db00
mov eax, dword [ebp + 0x78]
cmp word [eax], bx
je 0x49daf1
add dword [ebp + 0x78], 2
lea eax, [ebp]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.004429b2
pop ecx
pop ecx
jmp 0x49daf1
cmp byte [ebp + 0x67], bl
je 0x49db00
mov eax, dword [ebp + 0x78]
cmp word [eax], bx
je 0x49daf1
inc eax
inc eax
mov dword [ebp + 0x78], eax
mov dword [ebp + 0x2c], eax
push 0x2c
lea eax, [ebp + 0x78]
call fcn.00414c4e
mov eax, dword [ebp + 0x78]
cmp word [eax], bx
pop ecx
je 0x49dae6
mov word [eax], bx
add dword [ebp + 0x78], 2
mov eax, dword [ebp + 0x2c]
cmp word [eax], bx
je 0x49daf1
lea esi, [ebp - 0xc]
lea eax, [ebp + 0xc]
cmp dword [ebp + 0x3c], eax
mov dword [ebp + 0x68], 1
je 0x49db03
mov dword [ebp + 0x68], ebx
cmp byte [ebp + 0x67], bl
je 0x49ddbd
mov edi, 0x4e38f4
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
call fcn.00443623
push edi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor eax, eax
cmp byte [ebp + 0x57], bl
je 0x49db4a
cmp dword [ebp + 0x68], ebx
setne al
lea eax, [eax + eax + 0x10000]
push eax
push dword [ebp + 0x50]
call fcn.0044ace4
pop ecx
pop ecx
mov ebx, eax
jmp 0x49e2ab
cmp dword [ebp + 0x68], ebx
setne al
dec eax
cmp byte [ebp + 0x6f], bl
mov dword [ebp + 0x58], eax
je 0x49db96
mov ecx, dword [ebp + 0x5c]
push ebx
push 0xffffffffffffffff
push ebx
push dword [ebp + 0x60]
mov dword [ebp + 0x58], ebx
call fcn.00411019
mov edx, eax
cmp edx, ebx
jne 0x49db7b
mov ebx, 0x80070057
jmp 0x49e2ab
cmp dword [ebp + 4], ebx
jl 0x49db99
mov eax, dword [ebp]
jg 0x49db89
cmp eax, ebx
jb 0x49db99
mov ecx, dword [edx + 4]
mov dword [ecx], eax
mov eax, dword [ebp + 4]
mov dword [ecx + 4], eax
jmp 0x49db99
mov edx, dword [ebp + 0x44]
cmp dword [ebp + 0x30], ebx
je 0x49dc69
mov esi, dword [ebp + 0x60]
lea eax, [ebp + 0x24]
push eax
lea eax, [ebp + 0x60]
push eax
mov dword [ebp + 0x24], ebx
mov dword [ebp + 0x28], ebx
call fcn.0044c029
mov eax, dword [ebp + 0x60]
cmp word [eax], bx
pop ecx
pop ecx
je 0x49dbc6
add dword [ebp + 0x60], 2
lea eax, [ebp - 8]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.0044c029
mov eax, dword [ebp + 0x24]
or eax, dword [ebp + 0x28]
pop ecx
pop ecx
je 0x49dbe3
mov eax, dword [ebp + 0x60]
mov word [eax], bx
xor eax, eax
inc eax
cmp dword [ebp + 8], ebx
je 0x49dbed
xor eax, eax
cmp dword [ebp + 0x28], ebx
jg 0x49dc4e
jl 0x49dbfd
cmp dword [ebp + 0x24], 0x100000
jae 0x49dc4e
cmp word [esi], bx
jne 0x49dc4e
mov dword [ebp + 0x68], 0x80070057
push dword [ebp + 0x60]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, 0x96
push eax
lea ecx, [ebp + 0x7c]
call fcn.004465ac
push dword [ebp + 0x60]
mov ebx, dword [ebp + 0x68]
push ebx
push dword [ebp + 0x58]
push str._d_t_d_t_s
push dword [ebp + 0x7c]
call dword [sym.imp.USER32.dll_wsprintfW]
mov ecx, dword [ebp + 0x5c]
add esp, 0x14
push dword [ebp + 0x7c]
push dword [ebp + 0x48]
call fcn.00445c44
jmp 0x49e2a3
push dword [ebp - 8]
push dword [ebp + 0x30]
push eax
push esi
push dword [ebp + 0x50]
call fcn.00454c10
add esp, 0x14
mov dword [ebp + 0x68], eax
mov dword [ebp + 0x58], eax
jmp 0x49dc09
mov edi, dword [ebp + 0x60]
mov cx, word [edi]
mov eax, esi
neg eax
sbb eax, eax
and eax, 0xfffffffc
add eax, 4
or eax, dword [ebp + 0x10]
or eax, dword [ebp + 0x4c]
cmp cx, bx
je 0x49dc8f
cmp cx, 0x2a
je 0x49dc8f
or eax, 2
cmp dword [ebp + 0x68], ebx
je 0x49dc9c
cmp dword [ebp + 0x28], ebx
jg 0x49dc9c
or eax, 1
mov ecx, dword [ebp + 0x48]
cmp word [ecx], bx
jne 0x49dca9
or eax, 0x10000
cmp byte [ebp + 0x6f], bl
jne 0x49dcb5
cmp edx, ebx
jg 0x49dcb5
xor edx, edx
inc edx
push esi
push dword [ebp + 0x3c]
lea ecx, [ebp + 0x58]
push ecx
mov cl, byte [ebp + 0x6f]
neg cl
push edx
push edi
sbb ecx, ecx
and ecx, 0x20
or ecx, eax
push ecx
push dword [ebp + 0x50]
call fcn.0049cf64
add esp, 0x1c
cmp esi, ebx
mov dword [ebp + 0x68], eax
je 0x49dd95
mov edi, dword [esi]
cmp edi, ebx
je 0x49dd95
mov eax, dword [ebp + 0x2c]
cmp word [eax], 0x7e
jne 0x49dd10
add dword [ebp + 0x2c], 2
mov dword [esi], ebx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push 3
push 1
push ebx
push esi
push eax
push edi
push eax
call dword [sym.imp.KERNEL32.dll_DuplicateHandle]
mov ecx, dword [esi]
cmp ecx, ebx
je 0x49dd95
mov eax, dword [ebp + 0x2c]
mov ax, word [eax]
cmp ax, 0x2e
je 0x49dd42
cmp ax, 0x40
jne 0x49dd86
mov edi, dword [ebp + 0x7c]
cmp edi, ebx
jne 0x49dd55
mov edi, dword [ebp + 0x5c]
push edi
push edi
call fcn.00412e85
mov edi, dword [edi + 0x28]
cmp edi, ebx
pop ecx
pop ecx
jne 0x49dd55
mov eax, dword [ebp + 0x2c]
add eax, 2
push eax
push dword [esi]
push dword [ebp + 0x5c]
call fcn.00448c7f
jmp 0x49dd92
mov eax, dword [ebp + 0x2c]
add eax, 2
push eax
lea ecx, [ebp + 0x7c]
call fcn.004505eb
push ebx
push ebx
push 0xffffffffffffffff
push ebx
push dword [esi]
lea eax, [ebp + 0x7c]
push eax
push dword [edi + 0x1a4]
mov ecx, edi
call fcn.00446bbe
lea ecx, [ebp + 0x7c]
call fcn.0043fe25
jmp 0x49dd95
push dword [ebp + 0x2c]
push ecx
push dword [ebp + 0x5c]
call fcn.0042d49a
add esp, 0xc
cmp byte [ebp + 0x6f], bl
je 0x49dc09
mov eax, dword [ebp + 0x48]
cmp word [eax], bx
je 0x49ddb5
push eax
push dword [ebp + 0x58]
push dword [ebp + 0x5c]
call fcn.00448c7f
add esp, 0xc
mov ebx, dword [ebp + 0x68]
jmp 0x49e2ab
cmp byte [ebp + 0x6f], bl
jne 0x49dddf
mov eax, dword [ebp + 0x60]
cmp word [eax], bx
jne 0x49dddf
cmp byte [ebp + 0x57], bl
je 0x49db71
mov eax, dword [ebp + 0x50]
cmp word [eax], bx
je 0x49db71
cmp byte [ebp + 0x43], bl
je 0x49de91
push 0xffffffffffffffff
push str.22:INDATA_mount_wimsvr__
lea ecx, [ebp + 0x7c]
call fcn.00450621
push dword [ebp + 0x50]
lea ecx, [ebp + 0x7c]
mov word [ebp - 0xb4], bx
call fcn.004465fa
mov esi, 0x4cae84
push esi
lea ecx, [ebp + 0x7c]
call fcn.004465fa
push dword [ebp + 0x60]
lea ecx, [ebp + 0x7c]
call fcn.004465fa
push esi
lea ecx, [ebp + 0x7c]
call fcn.004465fa
mov eax, dword [ebp + 0x44]
cmp eax, ebx
jl 0x49de53
cdq
push edx
push eax
lea eax, [ebp - 0xb4]
push eax
call fcn.004a129d
add esp, 0xc
lea eax, [ebp - 0xb4]
push eax
lea ecx, [ebp + 0x7c]
call fcn.004465fa
push esi
lea ecx, [ebp + 0x7c]
call fcn.004465fa
push dword [ebp + 0x48]
lea ecx, [ebp + 0x7c]
call fcn.004465fa
push 0x4caefc
lea ecx, [ebp + 0x7c]
call fcn.004465fa
push dword [ebp + 0x78]
lea ecx, [ebp + 0x7c]
call fcn.004465fa
push dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x5c]
call fcn.004236b4
mov ebx, eax
jmp 0x49e2a3
mov esi, 0x4e391c
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push dword [ebp + 0x14]
lea ecx, [ebp + 0x78]
call fcn.00441400
lea ecx, [ebp + 0x78]
call fcn.004413e7
push esi
mov dword [ebp + 0x30], eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [ebp + 0x30], ebx
jge 0x49ded6
push str.WIM_DLL_ERR_r_n
push dword [ebp + 0x5c]
call fcn.00411365
pop ecx
pop ecx
xor ebx, ebx
inc ebx
jmp 0x49e2ab
cmp byte [ebp + 0x6f], bl
je 0x49dff7
cmp dword [0x4e32b0], ebx
jne 0x49deef
push 0x78
pop ebx
jmp 0x49e2ab
mov esi, dword [ebp + 0x50]
push 0x3d
push esi
call dword [sym.imp.SHLWAPI.dll_StrChrW]
cmp eax, ebx
mov dword [ebp + 0x28], eax
je 0x49df0a
mov word [eax], bx
inc eax
inc eax
mov dword [ebp + 0x28], eax
cmp word [esi], bx
je 0x49db71
lea ecx, [ebp + 0x68]
call fcn.0044658e
mov eax, dword [ebp + 0x78]
cmp word [eax], 0x2c
jne 0x49df46
add dword [ebp + 0x78], 2
push 1
push 0x2c
lea eax, [ebp + 0x78]
push eax
lea ecx, [ebp - 0x18]
call fcn.0045bac5
push ebx
lea ecx, [ebp + 0x68]
push ecx
push eax
call fcn.004494ac
add esp, 0xc
push dword [ebp + 0x68]
call fcn.004135f9
pop ecx
lea ecx, [ebp + 0x58]
mov edi, eax
call fcn.0044658e
mov esi, dword [ebp + 0x60]
cmp word [esi], bx
je 0x49df81
cmp word [esi + 2], 0x3a
je 0x49df81
lea eax, [ebp + 0x58]
push eax
push esi
call fcn.00413993
pop ecx
pop ecx
push dword [ebp + 0x58]
lea ecx, [ebp + 0x20]
call fcn.0045066c
mov esi, dword [eax]
cmp word [edi], bx
je 0x49dfa6
cmp word [edi + 2], 0x3a
je 0x49dfa6
lea eax, [ebp + 0x58]
push eax
push edi
call fcn.00413993
pop ecx
pop ecx
push dword [ebp + 0x58]
lea ecx, [ebp + 0x68]
call fcn.0045066c
mov edi, dword [eax]
push 0x20
lea ecx, [ebp + 0x7c]
call fcn.004465ac
mov eax, dword [ebp + 0x7c]
push ebx
push ebx
push dword [ebp + 0x28]
mov word [eax + 4], bx
lea eax, [ebp + 0x7c]
push eax
push edi
push esi
push dword [ebp + 0x5c]
call fcn.00454a2b
mov eax, dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x5c]
add esp, 0x1c
add eax, 4
push eax
push dword [ebp + 0x50]
call fcn.00445c44
lea ecx, [ebp + 0x7c]
call fcn.0043fe25
lea ecx, [ebp + 0x58]
call fcn.0043fe25
lea ecx, [ebp + 0x68]
jmp 0x49e2a6
cmp byte [ebp + 0x57], bl
mov dword [ebp + 0x4c], ebx
jne 0x49e1eb
mov esi, dword [ebp + 0x50]
cmp word [esi], bx
je 0x49e1eb
mov eax, dword [ebp + 0x48]
cmp word [eax], 0x2a
jne 0x49e039
push 0x105
lea ecx, [ebp + 0x48]
call fcn.004465d3
mov eax, dword [ebp + 0x48]
mov word [eax], bx
push dword [ebp + 0x48]
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
cmp dword [0x4e32a4], ebx
je 0x49dece
push dword [ebp + 0x60]
call fcn.004b3b0b
test eax, eax
pop ecx
jne 0x49e070
push dword [ebp + 0x60]
lea ecx, [ebp + 0x7c]
call fcn.004505eb
push dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x5c]
call fcn.0041c796
lea ecx, [ebp + 0x7c]
call fcn.0043fe25
push dword [ebp + 0x60]
call fcn.004b3b0b
test eax, eax
pop ecx
je 0x49dece
cmp dword [ebp + 0x58], ebx
jne 0x49e095
push esi
call fcn.004b3ca3
test eax, eax
pop ecx
je 0x49dece
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 0x49e0b8
test byte [ebp - 0x3c], 1
jne 0x49e0c3
mov eax, dword [ebp + 0x48]
cmp word [eax], bx
mov dword [ebp + 0x68], eax
jne 0x49e0c6
mov dword [ebp + 0x68], ebx
cmp dword [ebp + 0x58], ebx
mov dword [ebp + 0x7c], ebx
je 0x49e0e3
cmp dword [ebp + 0x30], ebx
jne 0x49e0da
mov dword [ebp + 0x7c], 0x100
cmp dword [ebp + 0x34], ebx
je 0x49e0e3
or byte [ebp + 0x7d], 2
xor eax, eax
inc eax
cmp dword [ebp + 0x58], ebx
je 0x49e0f7
lea eax, [ebp + 0x7c]
push eax
push esi
call fcn.00486537
pop ecx
pop ecx
mov edi, dword [ebp + 0x44]
sar eax, 8
movzx esi, al
dec esi
cmp edi, 0x80000000
jne 0x49e10c
xor edi, edi
inc edi
push dword [ebp + 0x50]
call fcn.004b3ca3
test eax, eax
pop ecx
je 0x49e16d
cmp dword [ebp + 0x30], ebx
je 0x49e139
cmp edi, ebx
jge 0x49e125
xor edi, edi
inc edi
push dword [ebp + 0x68]
push edi
push dword [ebp + 0x50]
push dword [ebp + 0x60]
call fcn.00454896
add esp, 0x10
jmp 0x49e150
cmp edi, ebx
jge 0x49e140
xor edi, edi
inc edi
push dword [ebp + 0x68]
push edi
push dword [ebp + 0x50]
push dword [ebp + 0x60]
call dword [0x4e32a4]
push eax
push dword [ebp + 0x68]
mov dword [ebp + 0x4c], eax
push dword [ebp + 0x60]
push dword [ebp + 0x50]
push str.FOUND_WIM___s____mount_to___s____s___d_r_n
push dword [ebp + 0x5c]
call fcn.00411365
add esp, 0x18
cmp dword [ebp + 0x58], ebx
je 0x49e184
cmp dword [ebp + 0x34], ebx
jne 0x49e184
mov eax, dword [ebp + 0x7c]
cmp ax, bx
je 0x49e184
call fcn.00441c61
cmp esi, ebx
jl 0x49e1ae
push esi
lea eax, [ebp - 0x104]
push str.PART_update__d
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
mov ecx, dword [ebp + 0x5c]
add esp, 0xc
push ebx
lea eax, [ebp - 0xfc]
push eax
call fcn.004667d2
lea ecx, [ebp + 0x18]
call fcn.0043fe25
lea ecx, [ebp + 0x48]
call fcn.0043fe25
lea ecx, [ebp + 0x1c]
call fcn.0043fe25
lea ecx, [ebp + 0x20]
call fcn.0043fe25
lea ecx, [ebp + 0x38]
call fcn.0043fe25
lea ecx, [ebp - 0x18]
call fcn.0043fe25
xor eax, eax
cmp dword [ebp + 0x4c], ebx
sete al
jmp 0x49e3f6
lea ecx, [ebp + 0x7c]
call fcn.0044658e
mov esi, dword [ebp + 0x60]
cmp word [esi], bx
je 0x49e21e
cmp word [esi + 2], 0x3a
je 0x49e21e
lea eax, [ebp + 0x7c]
push eax
push esi
call fcn.00413993
pop ecx
pop ecx
push dword [ebp + 0x7c]
lea ecx, [ebp + 0x20]
call fcn.0045066c
mov esi, dword [eax]
mov dword [ebp + 0x60], esi
mov eax, dword [ebp + 0x50]
cmp word [eax], bx
je 0x49e249
cmp word [eax + 2], 0x3a
je 0x49e249
lea ecx, [ebp + 0x7c]
push ecx
push eax
call fcn.00413993
pop ecx
pop ecx
push dword [ebp + 0x7c]
lea ecx, [ebp + 0x38]
call fcn.0045066c
mov eax, dword [eax]
mov dword [ebp + 0x50], eax
or dword [ebp + 0x34], 0xffffffff
cmp word [esi], bx
jne 0x49e286
cmp word [eax], bx
je 0x49e281
lea ecx, [ebp + 0x34]
push ecx
lea ecx, [ebp - 0x51c]
push ecx
push edi
lea ecx, [ebp + 0x7c]
push ecx
push eax
push edi
push dword [ebp + 0x5c]
call fcn.00454a2b
add esp, 0x1c
test eax, eax
je 0x49e29e
lea esi, [ebp - 0x314]
mov dword [ebp + 0x60], esi
cmp word [esi], bx
je 0x49e29e
cmp dword [0x4e32a8], ebx
jne 0x49e293
xor ebx, ebx
inc ebx
jmp 0x49e2a3
push esi
call fcn.004b3b0b
test eax, eax
pop ecx
jne 0x49e2e2
mov ebx, 0x80070057
lea ecx, [ebp + 0x7c]
call fcn.0043fe25
lea ecx, [ebp + 0x18]
call fcn.0043fe25
lea ecx, [ebp + 0x48]
call fcn.0043fe25
lea ecx, [ebp + 0x1c]
call fcn.0043fe25
lea ecx, [ebp + 0x20]
call fcn.0043fe25
lea ecx, [ebp + 0x38]
call fcn.0043fe25
lea ecx, [ebp - 0x18]
call fcn.0043fe25
mov eax, ebx
jmp 0x49e3f6
mov eax, dword [ebp + 0x50]
cmp word [eax], bx
mov dword [ebp + 0x3c], eax
jne 0x49e2f0
mov dword [ebp + 0x3c], ebx
cmp word [esi], bx
mov dword [ebp + 0x68], esi
jne 0x49e2fb
mov dword [ebp + 0x68], ebx
cmp dword [ebp + 0x44], 0x80000000
jne 0x49e307
mov dword [ebp + 0x44], ebx
xor edi, edi
inc edi
cmp dword [ebp + 0x34], ebx
mov esi, edi
jg 0x49e35f
cmp dword [ebp + 0x30], ebx
je 0x49e331
xor eax, eax
cmp dword [ebp + 0x44], ebx
push ebx
setne al
push eax
push dword [ebp + 0x60]
call fcn.004434ab
mov esi, eax
add esp, 0xc
cmp esi, ebx
je 0x49e35a
cmp dword [ebp + 0x44], 0x80000000
je 0x49e343
cmp dword [ebp + 0x44], ebx
je 0x49e343
mov eax, edi
jmp 0x49e345
xor eax, eax
push eax
push ebx
push dword [ebp + 0x3c]
push dword [ebp + 0x68]
call dword [0x4e32a8]
mov esi, eax
neg esi
sbb esi, esi
inc esi
cmp dword [ebp + 0x34], ebx
je 0x49e3bc
cmp esi, ebx
je 0x49e3bc
cmp dword [0x4e32ac], ebx
je 0x49e3bc
cmp dword [0x4e32e4], ebx
setne al
cmp al, bl
je 0x49e393
xor eax, eax
cmp dword [ebp + 0x44], ebx
push edi
setne al
push eax
push dword [ebp + 0x60]
call fcn.004434ab
mov esi, eax
add esp, 0xc
cmp esi, ebx
je 0x49e3bc
cmp dword [ebp + 0x44], 0x80000000
je 0x49e3a5
cmp dword [ebp + 0x44], ebx
je 0x49e3a5
mov eax, edi
jmp 0x49e3a7
xor eax, eax
push eax
push ebx
push dword [ebp + 0x3c]
push dword [ebp + 0x68]
call dword [0x4e32ac]
mov esi, eax
neg esi
sbb esi, esi
inc esi
lea ecx, [ebp + 0x7c]
call fcn.0043fe25
lea ecx, [ebp + 0x18]
call fcn.0043fe25
lea ecx, [ebp + 0x48]
call fcn.0043fe25
lea ecx, [ebp + 0x1c]
call fcn.0043fe25
lea ecx, [ebp + 0x20]
call fcn.0043fe25
lea ecx, [ebp + 0x38]
call fcn.0043fe25
lea ecx, [ebp - 0x18]
call fcn.0043fe25
mov eax, esi
pop edi
pop esi
pop ebx
add ebp, 0x70
leave
ret 8