Function at 0x49c550
Capabilities:
Get common file path
Get disk information

Disassembly:
push 0xffffffffffffffff
push 0x4ec624
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x118
push ebx
push ebp
push esi
lea eax, [esp + 0x134]
push edi
mov ebp, ecx
push eax
mov dword [esp + 0x40], ebp
call fcn.00443850
mov esi, dword [esp + 0x13c]
push 4
push esi
push str._udm
call fcn.00444970
add esp, 0x10
xor ebx, ebx
test al, al
je 0x49c8f5
lea ecx, [esp + 0x138]
add esi, 8
push ecx
mov dword [esp + 0x13c], esi
call fcn.00443850
mov esi, dword [esp + 0x13c]
push 4
push esi
push str.upud
mov dword [esp + 0x40], ebx
call fcn.00444970
add esp, 0x10
test al, al
je 0x49c5fa
lea edx, [esp + 0x138]
add esi, 8
push edx
mov dword [esp + 0x13c], esi
call fcn.00443850
mov dword [esp + 0x34], SysReAllocStringLen
jmp 0x49c629
push 6
push esi
push str.listud
call fcn.00444970
add esp, 0xc
test al, al
je 0x49c801
lea eax, [esp + 0x138]
add esi, 0xc
push eax
mov dword [esp + 0x13c], esi
call fcn.00443850
add esp, 4
push 2
mov dword [esp + 0x20], ebx
call fcn.00449130
add esp, 4
cmp eax, ebx
mov dword [esp + 0x3c], eax
je 0x49c645
mov word [eax], bx
mov edx, dword [esp + 0x138]
push 1
xor esi, esi
push esi
lea ecx, [esp + 0x44]
push ecx
push edx
mov ecx, ebp
mov dword [esp + 0x140], esi
call fcn.00452ca0
mov edi, dword [esp + 0x3c]
push 5
push edi
push str._ret:
mov dword [esp + 0x2c], esi
call fcn.00444970
mov bl, al
add esp, 0xc
test bl, bl
je 0x49c6a4
lea eax, [esp + 0x138]
add edi, 0xa
push eax
mov dword [esp + 0x13c], edi
call fcn.00443850
mov edi, dword [esp + 0x13c]
add esp, 4
cmp edi, esi
je 0x49c6b7
mov ax, word [edi]
cmp ax, 0x2d
je 0x49c6b7
cmp ax, 0x5c
jne 0x49c6bb
test bl, bl
je 0x49c6d5
push 0xd
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x28]
push edx
mov dword [esp + 0x2c], edi
call fcn.00428699
add esp, 0xc
mov edi, eax
push 8
push edi
xor ebx, ebx
xor esi, esi
push str._udmask:
mov dword [esp + 0x54], esi
mov dword [esp + 0x58], ebx
call fcn.00444970
add esp, 0xc
test al, al
je 0x49c74a
lea eax, [esp + 0x138]
add edi, 0x10
push eax
mov dword [esp + 0x13c], edi
call fcn.00443850
mov edi, dword [esp + 0x13c]
add esp, 4
cmp word [edi], 0x2a
jne 0x49c72a
add edi, 2
mov esi, 0x3d
mov dword [esp + 0x4c], ebx
jmp 0x49c74a
lea ecx, [esp + 0x48]
push ecx
lea edx, [esp + 0x13c]
push edx
call fcn.0044ce60
mov edi, dword [esp + 0x140]
mov esi, dword [esp + 0x50]
add esp, 8
push 0xd
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x34]
push ecx
mov dword [esp + 0x38], edi
call fcn.00428699
add esp, 0xc
xor edi, edi
cmp word [eax], bx
je 0x49c76b
mov edi, eax
push 2
mov dword [esp + 0x1c], ebx
call fcn.00449130
add esp, 4
cmp eax, ebx
mov dword [esp + 0x18], eax
je 0x49c784
mov word [eax], bx
mov ecx, dword [esp + 0x30]
push ebx
xor edx, edx
xor eax, eax
or edx, eax
push edx
mov edx, dword [esp + 0x34]
and esi, 0xfeffff
or esi, ecx
push esi
push edi
lea ecx, [esp + 0x28]
push ecx
push edx
mov byte [esp + 0x148], 1
call fcn.00441260
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x38]
add esp, 0x18
push eax
push ecx
mov ecx, ebp
call fcn.00448be0
mov eax, dword [esp + 0x18]
cmp eax, ebx
mov esi, dword [sym.imp.KERNEL32.dll_HeapFree]
je 0x49c7e1
mov edx, dword [0x51d3c8]
add eax, 0xfffffff8
push eax
push ebx
push edx
call esi
mov eax, dword [esp + 0x3c]
cmp eax, ebx
mov dword [esp + 0x18], ebx
je 0x49c7fa
add eax, 0xfffffff8
push eax
mov eax, dword [0x51d3c8]
push ebx
push eax
call esi
xor eax, eax
jmp 0x49d5d9
movzx esi, word [esi]
mov eax, esi
or eax, 0x20
cmp ax, 0x61
jb 0x49c815
cmp ax, 0x7a
jbe 0x49c832
mov eax, esi
call fcn.00448eb0
test al, al
jne 0x49c832
cmp si, 0x61
jb 0x49c82c
cmp si, 0x66
jbe 0x49c832
cmp si, 0x78
jne 0x49c839
mov ebx, str.22:INDATA
jmp 0x49c83e
mov ebx, str.22:INDATA_mount
movzx ecx, word [0x522010]
push ebx
mov dword [esp + 0x48], ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ebp, eax
lea edi, [ebp + 2]
lea eax, [edi + edi + 4]
push 0
call fcn.00449190
mov esi, eax
add esp, 4
test esi, esi
je 0x49c870
mov word [esi + edi*2 + 2], 0
mov edx, dword [esp + 0x44]
push edi
push esi
push ebp
push ebx
push 0
push edx
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov edi, eax
test edi, edi
jge 0x49c889
xor edi, edi
lea eax, [edi + edi + 4]
push esi
mov word [esi + edi*2], 0
call fcn.00449190
add esp, 4
test eax, eax
mov dword [esp + 0x20], eax
je 0x49c8ab
mov word [eax + edi*2 + 2], 0
mov eax, dword [esp + 0x138]
push eax
lea ecx, [esp + 0x24]
mov dword [esp + 0x134], 2
call fcn.00449510
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x3c]
push esi
call fcn.00433888
test esi, esi
mov edi, eax
je 0x49c8ee
mov ecx, dword [0x51d3c8]
add esi, 0xfffffff8
push esi
push 0
push ecx
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, edi
jmp 0x49d5d9
lea ecx, [esp + 0x48]
call fcn.00444b30
cmp dword [0x51d404], ebx
jne 0x49c90b
or edi, 0xffffffff
jmp 0x49c919
mov eax, dword [0x51d410]
xor edx, edx
cmp eax, ebx
setne dl
mov edi, edx
push edi
mov dword [esp + 0x24], edi
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
push eax
push str.MOUN__:__Drives0x_lX__WIM_DLL_ver7_ld_r_n
push 0x51d2a0
call fcn.004203b8
add esp, 0x10
cmp edi, ebx
jge 0x49c953
push str.WIM_DLL_ERR_r_n
push ebp
call fcn.004203b8
add esp, 8
mov eax, 1
jmp 0x49d5d9
push 2
mov dword [esp + 0x54], ebx
call fcn.00449130
add esp, 4
cmp eax, ebx
mov dword [esp + 0x50], eax
je 0x49c96c
mov word [eax], bx
mov dword [esp + 0x54], ebp
mov dword [esp + 0x58], ebx
push 0x4efd50
lea ecx, [esp + 0x30]
mov dword [esp + 0x134], 3
call fcn.004134f5
push 0x4efd50
lea ecx, [esp + 0x38]
call fcn.004134f5
push 0x4efd50
lea ecx, [esp + 0x2c]
call fcn.004134f5
push 0x4efd50
lea ecx, [esp + 0x14]
call fcn.004134f5
push 6
push esi
push str.query
mov byte [esp + 0x13c], 7
mov dword [esp + 0x28], SysReAllocStringLen
mov byte [esp + 0x33], 0
call fcn.00444970
add esp, 0xc
test al, al
mov byte [esp + 0x3b], al
je 0x49ca05
lea eax, [esp + 0x138]
add esi, 0xc
push eax
mov dword [esp + 0x13c], esi
call fcn.00443850
mov esi, dword [esp + 0x13c]
add esp, 4
push 2
push esi
push 0x4fb6dc
call fcn.00444970
add esp, 0xc
test al, al
mov byte [esp + 0x43], al
je 0x49ca3e
lea ecx, [esp + 0x138]
add esi, 4
push ecx
mov dword [esp + 0x13c], esi
call fcn.00443850
mov esi, dword [esp + 0x13c]
add esp, 4
mov ax, word [esi]
cmp ax, bx
je 0x49ca64
cmp ax, 0x21
jne 0x49ca5d
mov ax, word [esi + 2]
add esi, 2
cmp ax, bx
mov byte [esp + 0x27], 1
jne 0x49ca46
mov dword [esp + 0x138], esi
mov ax, word [esi]
cmp ax, 9
jb 0x49ca73
cmp ax, 0xd
jbe 0x49ca79
cmp ax, 0x20
jne 0x49ca7e
add esi, 2
jmp 0x49ca64
push 1
push 0x2c
lea edx, [esp + 0x140]
push edx
lea ecx, [esp + 0x5c]
mov dword [esp + 0x144], esi
call fcn.00459430
mov ecx, dword [eax]
cmp word [ecx], bx
mov esi, ecx
je 0x49cab4
mov ecx, dword [eax]
cmp word [ecx], bx
je 0x49cab4
add ecx, 2
mov dword [eax], ecx
cmp word [ecx], bx
jne 0x49caa3
mov ebp, dword [eax]
sub ebp, esi
sar ebp, 1
lea edi, [ebp + 1]
test edi, edi
jge 0x49caca
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov edi, eax
mov edx, dword [esp + 0x2c]
lea eax, [edi + edi + 4]
push edx
call fcn.00449190
mov ebx, eax
add esp, 4
test ebx, ebx
mov dword [esp + 0x2c], ebx
je 0x49caec
mov word [ebx + edi*2 + 2], 0
lea eax, [edi + edi]
mov ecx, eax
mov edx, ecx
shr ecx, 2
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov word [eax + ebx], 0
push ebx
mov word [ebx + ebp*2], 0
call fcn.004201fa
push ebx
call fcn.00422077
mov dword [esp + 0x20], eax
mov ax, word [eax]
add esp, 8
cmp ax, 0x5c
je 0x49cb34
cmp ax, 0x2f
mov byte [esp + 0x17], 0
jne 0x49cb39
mov byte [esp + 0x17], 1
mov al, byte [esp + 0x3b]
test al, al
jne 0x49cbb0
mov al, byte [esp + 0x17]
test al, al
je 0x49cbb0
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov esi, eax
lea eax, [esi + esi + 8]
push 0
mov ebp, ebx
call fcn.00449190
mov ebx, eax
add esp, 4
test ebx, ebx
mov dword [esp + 0x2c], ebx
je 0x49cb73
mov word [ebx + esi*2 + 6], 0
lea ecx, [esi + esi + 2]
mov eax, ecx
shr ecx, 2
mov word [ebx], 0x20
mov word [ebx + 2], 0x3a
mov esi, ebp
lea edi, [ebx + 4]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
test ebp, ebp
mov dword [esp + 0x18], ebx
rep movsb byte es:[edi], byte [esi]
je 0x49cbb0
mov ecx, dword [0x51d3c8]
add ebp, 0xfffffff8
push ebp
push 0
push ecx
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov edx, dword [esp + 0x138]
cmp word [edx], 0x2c
mov ebp, 2
jne 0x49cbf0
push 1
push 0x2c
lea eax, [esp + 0x140]
add edx, ebp
push eax
lea ecx, [esp + 0x5c]
mov dword [esp + 0x144], edx
call fcn.00459430
push 0
lea ecx, [esp + 0x38]
push ecx
push eax
call fcn.0044c770
add esp, 0xc
mov edi, dword [esp + 0x34]
push edi
call fcn.00422077
mov cl, byte [esp + 0x3f]
add esp, 4
test cl, cl
mov dword [esp + 0x30], eax
je 0x49d046
mov eax, dword [0x51d400]
test eax, eax
jne 0x49cc8f
mov eax, dword [esp + 0x10]
test eax, eax
mov esi, dword [sym.imp.KERNEL32.dll_HeapFree]
je 0x49cc33
mov edx, dword [0x51d3c8]
add eax, 0xfffffff8
push eax
push 0
push edx
call esi
mov eax, dword [esp + 0x28]
test eax, eax
je 0x49cc49
add eax, 0xfffffff8
push eax
mov eax, dword [0x51d3c8]
push 0
push eax
call esi
test edi, edi
je 0x49cc5c
mov ecx, dword [0x51d3c8]
add edi, 0xfffffff8
push edi
push 0
push ecx
call esi
test ebx, ebx
je 0x49cc6f
mov edx, dword [0x51d3c8]
add ebx, 0xfffffff8
push ebx
push 0
push edx
call esi
mov eax, dword [esp + 0x50]
test eax, eax
je 0x49cc85
add eax, 0xfffffff8
push eax
mov eax, dword [0x51d3c8]
push 0
push eax
call esi
mov eax, 0x78
jmp 0x49d5d9
mov esi, dword [esp + 0x18]
push 0x3d
push esi
call dword [sym.imp.SHLWAPI.dll_StrChrW]
test eax, eax
mov dword [esp + 0x44], eax
je 0x49ccaf
mov word [eax], 0
add eax, ebp
mov dword [esp + 0x44], eax
cmp word [esi], 0
jne 0x49cd2f
mov eax, dword [esp + 0x10]
test eax, eax
mov esi, dword [sym.imp.KERNEL32.dll_HeapFree]
je 0x49ccd2
mov ecx, dword [0x51d3c8]
add eax, 0xfffffff8
push eax
push 0
push ecx
call esi
mov eax, dword [esp + 0x28]
test eax, eax
je 0x49cce9
mov edx, dword [0x51d3c8]
add eax, 0xfffffff8
push eax
push 0
push edx
call esi
test edi, edi
je 0x49ccfb
mov eax, dword [0x51d3c8]
add edi, 0xfffffff8
push edi
push 0
push eax
call esi
test ebx, ebx
je 0x49cd0e
mov ecx, dword [0x51d3c8]
add ebx, 0xfffffff8
push ebx
push 0
push ecx
call esi
mov eax, dword [esp + 0x50]
test eax, eax
je 0x49cd25
mov edx, dword [0x51d3c8]
add eax, 0xfffffff8
push eax
push 0
push edx
call esi
mov eax, 0x80070057
jmp 0x49d5d9
push 0x100021
call fcn.00449130
mov ebp, eax
add esp, 4
test ebp, ebp
mov dword [esp + 0x20], ebp
je 0x49cd4a
mov byte [ebp], 0
push 0x42
mov dword [esp + 0x60], 0x100000
call fcn.00449130
mov edi, eax
add esp, 4
test edi, edi
mov dword [esp + 0x1c], edi
je 0x49cd6b
mov word [edi], 0
lea eax, [esp + 0x5c]
push eax
push ebp
mov byte [esp + 0x138], 9
mov word [edi + 4], 0
xor bl, bl
call dword [0x51d400]
test eax, eax
jne 0x49ce0f
mov ecx, dword [0x51d3c8]
mov esi, dword [sym.imp.KERNEL32.dll_HeapFree]
add edi, 0xfffffff8
push edi
push eax
push ecx
call esi
test ebp, ebp
je 0x49cdb6
mov edx, dword [0x51d3c8]
add ebp, 0xfffffff8
push ebp
push 0
push edx
call esi
mov eax, dword [esp + 0x10]
test eax, eax
je 0x49cdcc
add eax, 0xfffffff8
push eax
mov eax, dword [0x51d3c8]
push 0
push eax
call esi
mov eax, dword [esp + 0x28]
test eax, eax
je 0x49cde3
mov ecx, dword [0x51d3c8]
add eax, 0xfffffff8
push eax
push 0
push ecx
call esi
mov eax, dword [esp + 0x34]
test eax, eax
je 0x49cdfa
mov edx, dword [0x51d3c8]
add eax, 0xfffffff8
push eax
push 0
push edx
call esi
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x49d0a4
add eax, 0xfffffff8
push eax
jmp 0x49d09a
mov eax, 0xfa232cf3
mul dword [esp + 0x5c]
shr edx, 0xa
xor ebp, ebp
test edx, edx
mov dword [esp + 0x48], edx
jle 0x49cf8c
mov esi, dword [esp + 0x20]
add esi, 0x208
jmp 0x49ce40
mov edx, dword [esp + 0x30]
cmp word [edx], 0
je 0x49cf02
push esi
mov eax, edx
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x49cef8
mov eax, dword [esp + 0x44]
test eax, eax
mov bl, 1
je 0x49cf02
push eax
push 0x4fb6d8
call fcn.00444a10
add esp, 8
test al, al
je 0x49cf02
mov ecx, dword [esp + 0x20]
imul ebp, ebp, 0x418
mov eax, dword [ecx + ebp + 0x414]
test eax, eax
mov eax, 0x4f24d0
jne 0x49cea3
mov eax, 0x4f24cc
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x3c]
push eax
push edx
call fcn.00448be0
lea ecx, [esp + 0x1c]
call fcn.00443880
lea ecx, [esp + 0x20]
call fcn.00443880
lea ecx, [esp + 0x10]
call fcn.00443880
lea ecx, [esp + 0x28]
call fcn.00443880
lea ecx, [esp + 0x34]
call fcn.00443880
lea ecx, [esp + 0x2c]
call fcn.00443880
lea ecx, [esp + 0x50]
call fcn.00443880
xor eax, eax
jmp 0x49d5d9
mov ecx, dword [esp + 0x30]
cmp word [ecx], 0
jne 0x49cf79
mov edx, dword [esi + 0x20c]
mov eax, dword [esi + 0x208]
neg edx
sbb edx, edx
and edx, 0x100
push edx
push eax
lea ecx, [esp + 0x68]
push str._r_n_lu_0x_lX__
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
lea edx, [esp + 0x60]
push edx
lea ecx, [esp + 0x20]
call fcn.00449510
lea eax, [esi - 0x208]
push eax
lea ecx, [esp + 0x20]
call fcn.00449510
push 0x4fb6b4
lea ecx, [esp + 0x20]
call fcn.00449510
push esi
lea ecx, [esp + 0x20]
call fcn.00449510
push 0x4f2480
lea ecx, [esp + 0x20]
call fcn.00449510
test bl, bl
mov edi, dword [esp + 0x1c]
jne 0x49cf8c
mov eax, dword [esp + 0x48]
inc ebp
add esi, 0x418
cmp ebp, eax
jl 0x49ce40
mov ecx, dword [esp + 0x18]
lea eax, [edi + 4]
push eax
push ecx
mov ecx, dword [esp + 0x44]
call fcn.00448be0
test edi, edi
mov esi, dword [sym.imp.KERNEL32.dll_HeapFree]
je 0x49cfb7
mov edx, dword [0x51d3c8]
add edi, 0xfffffff8
push edi
push 0
push edx
call esi
mov eax, dword [esp + 0x20]
test eax, eax
je 0x49cfcd
add eax, 0xfffffff8
push eax
mov eax, dword [0x51d3c8]
push 0
push eax
call esi
mov eax, dword [esp + 0x10]
test eax, eax
je 0x49cfe4
mov ecx, dword [0x51d3c8]
add eax, 0xfffffff8
push eax
push 0
push ecx
call esi
mov eax, dword [esp + 0x28]
test eax, eax
je 0x49cffb
mov edx, dword [0x51d3c8]
add eax, 0xfffffff8
push eax
push 0
push edx
call esi
mov eax, dword [esp + 0x34]
test eax, eax
je 0x49d011
add eax, 0xfffffff8
push eax
mov eax, dword [0x51d3c8]
push 0
push eax
call esi
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x49d028
mov ecx, dword [0x51d3c8]
add eax, 0xfffffff8
push eax
push 0
push ecx
call esi
mov eax, dword [esp + 0x50]
test eax, eax
je 0x49d03f
mov edx, dword [0x51d3c8]
add eax, 0xfffffff8
push eax
push 0
push edx
call esi
xor eax, eax
jmp 0x49d5d9
cmp word [eax], 0
jne 0x49d0c5
mov eax, dword [esp + 0x10]
test eax, eax
mov esi, dword [sym.imp.KERNEL32.dll_HeapFree]
je 0x49d068
add eax, 0xfffffff8
push eax
mov eax, dword [0x51d3c8]
push 0
push eax
call esi
mov eax, dword [esp + 0x28]
test eax, eax
je 0x49d07f
mov ecx, dword [0x51d3c8]
add eax, 0xfffffff8
push eax
push 0
push ecx
call esi
test edi, edi
je 0x49d092
mov edx, dword [0x51d3c8]
add edi, 0xfffffff8
push edi
push 0
push edx
call esi
test ebx, ebx
je 0x49d0a4
add ebx, 0xfffffff8
push ebx
mov eax, dword [0x51d3c8]
push 0
push eax
call esi
mov eax, dword [esp + 0x50]
test eax, eax
je 0x49d0bb
mov ecx, dword [0x51d3c8]
add eax, 0xfffffff8
push eax
push 0
push ecx
call esi
mov eax, 1
jmp 0x49d5d9
mov edx, dword [esp + 0x138]
cmp word [edx], 0x2c
jne 0x49d15f
mov eax, edx
add eax, ebp
push 1
mov dword [esp + 0x13c], eax
push 0x2c
lea eax, [esp + 0x140]
push eax
lea ecx, [esp + 0x5c]
call fcn.00459430
push 0x2c
lea ecx, [esp + 0x4c]
push ecx
push eax
mov dword [esp + 0x54], SysReAllocStringLen
mov dword [esp + 0x58], 0xffffffff
call fcn.0044ca90
add esp, 0xc
test eax, eax
jle 0x49d122
mov edx, dword [esp + 0x48]
mov dword [esp + 0x1c], edx
mov eax, dword [esp + 0x138]
cmp word [eax], 0x2c
jne 0x49d15f
push 1
mov edx, eax
push 0x2c
lea ecx, [esp + 0x140]
add edx, ebp
push ecx
lea ecx, [esp + 0x5c]
mov dword [esp + 0x144], edx
call fcn.00459430
push 0
lea edx, [esp + 0x14]
push edx
push eax
call fcn.0044c770
add esp, 0xc
mov esi, dword [esp + 0x10]
mov dword [esp + 0x48], esi
mov dword [esp + 0x10], 0
push esi
mov byte [esp + 0x134], 0xa
call fcn.00422077
add esp, 4
push eax
lea ecx, [esp + 0x14]
call fcn.00456630
test esi, esi
mov edi, dword [sym.imp.KERNEL32.dll_HeapFree]
mov byte [esp + 0x130], 7
je 0x49d1aa
mov eax, dword [0x51d3c8]
add esi, 0xfffffff8
push esi
push 0
push eax
call edi
mov al, byte [esp + 0x43]
test al, al
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x48], 0
jne 0x49d3f5
cmp word [ebp], 0
je 0x49d3f5
mov esi, dword [esp + 0x10]
cmp word [esi], 0x2a
jne 0x49d1fa
push 0x105
lea ecx, [esp + 0x14]
call fcn.004494e0
mov esi, dword [esp + 0x10]
push esi
push 0x104
mov word [esi], 0
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
mov eax, dword [0x51d3f8]
test eax, eax
je 0x49d266
mov edi, dword [esp + 0x30]
push edi
call fcn.004b0a70
add esp, 4
test eax, eax
jne 0x49d244
push edi
lea ecx, [esp + 0x48]
call fcn.004134f5
mov ecx, dword [esp + 0x44]
push ecx
mov byte [esp + 0x134], 0xb
call fcn.0042b04e
add esp, 4
lea ecx, [esp + 0x44]
mov byte [esp + 0x130], 7
call fcn.00443880
push edi
call fcn.004b0a70
add esp, 4
test eax, eax
je 0x49d266
mov bl, byte [esp + 0x17]
test bl, bl
jne 0x49d29d
push ebp
call fcn.004b0cb0
add esp, 4
test eax, eax
jne 0x49d29d
lea ecx, [esp + 0x10]
call fcn.00443880
lea ecx, [esp + 0x28]
call fcn.00443880
lea ecx, [esp + 0x34]
call fcn.00443880
lea ecx, [esp + 0x2c]
call fcn.00443880
lea ecx, [esp + 0x50]
call fcn.00443880
mov eax, 1
jmp 0x49d5d9
mov edx, ebp
call fcn.00446c50
test al, al
jne 0x49d2ae
cmp word [esi], 0
jne 0x49d2b0
xor esi, esi
test bl, bl
mov dword [esp + 0x18], 0
je 0x49d2dc
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x49d2cc
mov dword [esp + 0x18], 0x100
mov al, byte [esp + 0x27]
test al, al
je 0x49d2dc
or dword [esp + 0x18], 0x200
test bl, bl
mov eax, 1
je 0x49d2f3
lea edx, [esp + 0x18]
push edx
push ebp
call fcn.00494960
add esp, 8
mov edi, dword [esp + 0x1c]
sar eax, 8
movzx ebx, al
dec ebx
cmp edi, 0x80000000
jne 0x49d30b
mov edi, 1
push ebp
call fcn.004b0cb0
add esp, 4
test eax, eax
je 0x49d372
mov eax, dword [esp + 0x20]
test eax, eax
mov eax, edi
je 0x49d33d
test edi, edi
jge 0x49d32b
mov eax, 1
push esi
push eax
mov eax, dword [esp + 0x38]
push ebp
push eax
call fcn.0044e0a0
add esp, 0x10
jmp 0x49d354
test edi, edi
jge 0x49d346
mov eax, 1
mov ecx, dword [esp + 0x30]
push esi
push eax
push ebp
push ecx
call dword [0x51d3f8]
mov edx, dword [esp + 0x30]
mov edi, eax
mov eax, dword [esp + 0x3c]
push edi
push esi
push edx
push ebp
push str.FOUND_WIM___s____mount_to___s____s___d_r_n
push eax
call fcn.004203b8
add esp, 0x18
jmp 0x49d376
mov edi, dword [esp + 0x48]
mov al, byte [esp + 0x17]
test al, al
je 0x49d394
mov al, byte [esp + 0x27]
test al, al
jne 0x49d394
mov eax, dword [esp + 0x18]
test ax, ax
je 0x49d394
call fcn.004457f0
test ebx, ebx
jl 0x49d3bc
push ebx
lea ecx, [esp + 0x64]
push str.PART_update__d
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
mov ecx, dword [esp + 0x48]
add esp, 0xc
push 0
lea edx, [esp + 0x6c]
push edx
call fcn.00474f90
lea ecx, [esp + 0x10]
call fcn.00443880
lea ecx, [esp + 0x28]
call fcn.00443880
lea ecx, [esp + 0x34]
call fcn.00443880
lea ecx, [esp + 0x2c]
call fcn.00443880
lea ecx, [esp + 0x50]
call fcn.00443880
xor eax, eax
test edi, edi
sete al
jmp 0x49d5d9
mov eax, dword [0x51d3fc]
test eax, eax
jne 0x49d475
mov eax, dword [esp + 0x10]
test eax, eax
je 0x49d414
add eax, 0xfffffff8
push eax
mov eax, dword [0x51d3c8]
push 0
push eax
call edi
mov eax, dword [esp + 0x28]
test eax, eax
je 0x49d42b
mov ecx, dword [0x51d3c8]
add eax, 0xfffffff8
push eax
push 0
push ecx
call edi
mov eax, dword [esp + 0x34]
test eax, eax
je 0x49d442
mov edx, dword [0x51d3c8]
add eax, 0xfffffff8
push eax
push 0
push edx
call edi
test ebx, ebx
je 0x49d454
mov eax, dword [0x51d3c8]
add ebx, 0xfffffff8
push ebx
push 0
push eax
call edi
mov eax, dword [esp + 0x50]
test eax, eax
je 0x49d46b
mov ecx, dword [0x51d3c8]
add eax, 0xfffffff8
push eax
push 0
push ecx
call edi
mov eax, 1
jmp 0x49d5d9
mov esi, dword [esp + 0x30]
push esi
call fcn.004b0a70
add esp, 4
test eax, eax
jne 0x49d4fd
mov eax, dword [esp + 0x10]
test eax, eax
je 0x49d49d
mov edx, dword [0x51d3c8]
add eax, 0xfffffff8
push eax
push 0
push edx
call edi
mov eax, dword [esp + 0x28]
test eax, eax
je 0x49d4b3
add eax, 0xfffffff8
push eax
mov eax, dword [0x51d3c8]
push 0
push eax
call edi
mov eax, dword [esp + 0x34]
test eax, eax
je 0x49d4ca
mov ecx, dword [0x51d3c8]
add eax, 0xfffffff8
push eax
push 0
push ecx
call edi
test ebx, ebx
je 0x49d4dd
mov edx, dword [0x51d3c8]
add ebx, 0xfffffff8
push ebx
push 0
push edx
call edi
mov eax, dword [esp + 0x50]
test eax, eax
je 0x49d4f3
add eax, 0xfffffff8
push eax
mov eax, dword [0x51d3c8]
push 0
push eax
call edi
mov eax, 1
jmp 0x49d5d9
cmp word [ebp], 0
jne 0x49d506
xor ebp, ebp
cmp word [esi], 0
jne 0x49d50e
xor esi, esi
mov eax, dword [esp + 0x1c]
cmp eax, 0x80000000
jne 0x49d51f
xor eax, eax
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x49d544
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x30]
xor ecx, ecx
test eax, eax
setne cl
push ecx
push edx
call fcn.00446b80
add esp, 8
mov esi, eax
jmp 0x49d56a
cmp eax, 0x80000000
je 0x49d556
test eax, eax
je 0x49d556
mov eax, 1
jmp 0x49d558
xor eax, eax
push eax
push 0
push ebp
push esi
call dword [0x51d3fc]
mov esi, eax
neg esi
sbb esi, esi
inc esi
mov eax, dword [esp + 0x10]
test eax, eax
je 0x49d580
add eax, 0xfffffff8
push eax
mov eax, dword [0x51d3c8]
push 0
push eax
call edi
mov eax, dword [esp + 0x28]
test eax, eax
je 0x49d597
mov ecx, dword [0x51d3c8]
add eax, 0xfffffff8
push eax
push 0
push ecx
call edi
mov eax, dword [esp + 0x34]
test eax, eax
je 0x49d5ae
mov edx, dword [0x51d3c8]
add eax, 0xfffffff8
push eax
push 0
push edx
call edi
test ebx, ebx
je 0x49d5c0
mov eax, dword [0x51d3c8]
add ebx, 0xfffffff8
push ebx
push 0
push eax
call edi
mov eax, dword [esp + 0x50]
test eax, eax
je 0x49d5d7
mov ecx, dword [0x51d3c8]
add eax, 0xfffffff8
push eax
push 0
push ecx
call edi
mov eax, esi
mov ecx, dword [esp + 0x128]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x124
ret 8