Function at 0x41fa9f
Capabilities:
Create directory
Get session user name

Disassembly:
push 0x220
mov eax, 0x4afc6b
call fcn.0046c44c
mov ebx, ecx
mov dword [ebp - 0x224], ebx
push str.Downloading_Manifest:
lea ecx, [ebp - 0x21c]
call fcn.00402829
and dword [ebp - 4], 0
lea edx, [ebp - 0x21c]
push 0
push 2
pop edi
mov ecx, edi
call fcn.00414d4f
or dword [ebp - 4], 0xffffffff
pop ecx
mov ecx, dword [ebp - 0x21c]
lea ecx, [ecx - 0x10]
call fcn.00402e64
push str.___URL:
lea ecx, [ebp - 0x218]
call fcn.00402829
lea eax, [ebx + 0x14]
mov dword [ebp - 4], 1
xor esi, esi
mov dword [ebp - 0x21c], eax
push esi
push eax
lea edx, [ebp - 0x218]
mov ecx, edi
call fcn.00414600
or dword [ebp - 4], 0xffffffff
pop ecx
pop ecx
mov ecx, dword [ebp - 0x218]
lea ecx, [ecx - 0x10]
call fcn.00402e64
push str.___file:
lea ecx, [ebp - 0x218]
call fcn.00402829
mov dword [ebp - 4], edi
lea edx, [ebp - 0x218]
push esi
lea edi, [ebx + 4]
push edi
push 2
pop ecx
call fcn.00414600
or dword [ebp - 4], 0xffffffff
pop ecx
pop ecx
mov ecx, dword [ebp - 0x218]
lea ecx, [ecx - 0x10]
call fcn.00402e64
push edi
push str.UpdateManifestPath
call fcn.0041f8ae
test eax, eax
jne 0x41fb83
inc eax
jmp 0x4200d8
push edi
call fcn.0041e9bc
test eax, eax
jne 0x41fc75
push 0x202
lea eax, [ebp - 0x214]
push esi
push eax
call fcn.00484bc0
add esp, 0xc
mov dword [ebp - 0x220], 0x101
lea eax, [ebp - 0x220]
push eax
lea eax, [ebp - 0x214]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
test eax, eax
je 0x41fdbe
lea eax, [ebp - 0x214]
push eax
call fcn.004882cd
pop ecx
push eax
lea eax, [ebp - 0x214]
lea esi, [ebx + 8]
push eax
mov ecx, esi
call fcn.004025c6
push 0
push dword [esi]
push 0
call dword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
mov dword [ebp - 0x228], eax
cmp eax, 0xa1
je 0x41fd58
cmp eax, 3
je 0x41fd58
push 0x5c
mov ecx, esi
call fcn.00424ebb
push esi
mov ecx, edi
call fcn.00402e14
mov eax, dword [ebx + 0x18]
mov ecx, edi
push dword [eax - 0xc]
push eax
call fcn.004025c6
push edi
call fcn.0041e9bc
test eax, eax
jne 0x41fc71
push eax
push str.InitDlManifestError
call fcn.004032da
push str.Cannot_continue_manifest_download__CleanDestinationPath_failed
lea ecx, [ebp - 0x218]
call fcn.00402829
xor ecx, ecx
mov dword [ebp - 4], 4
push 0
lea edx, [ebp - 0x218]
inc ecx
call fcn.00414d4f
jmp 0x41fd91
mov byte [ebx + 0x1c], 0
mov ebx, dword [ebp - 0x21c]
push dword [ebx]
call dword [sym.imp.WININET.dll_DeleteUrlCacheEntryW]
mov edx, dword [ebx]
xor esi, esi
cmp dword [0x51ae0c], esi
mov ecx, 0x1d4c0
mov eax, 0x927c0
mov dword [ebp - 0x220], 1
cmovne eax, ecx
mov ecx, edi
push eax
lea eax, [ebp - 0x220]
push eax
call fcn.0041cc10
pop ecx
pop ecx
push esi
cmp eax, 6
jne 0x41fe88
push str.DownloadManifestSuccessBITS
call fcn.004032da
push str.BITs_download_success:
lea ecx, [ebp - 0x218]
call fcn.00402829
push esi
push edi
push 2
lea edx, [ebp - 0x218]
mov dword [ebp - 4], 7
pop ecx
call fcn.00414600
or dword [ebp - 4], 0xffffffff
pop ecx
pop ecx
mov ecx, dword [ebp - 0x218]
lea ecx, [ecx - 0x10]
call fcn.00402e64
mov ecx, dword [edi]
or edx, 0xffffffff
push str.2_16_17_18_19_52_53_54_63_68_81_82_83_84_85_86_87_88_89_90_91_92_93_97
call fcn.0042c2a3
pop ecx
test eax, eax
jne 0x41fe32
mov ebx, 0x51b280
inc esi
mov ecx, ebx
call fcn.00412c56
push str.valid_after_BITs_download:
lea ecx, [ebp - 0x218]
call fcn.00402829
push 0
push edi
push 2
lea edx, [ebp - 0x218]
mov dword [ebp - 4], 9
pop ecx
call fcn.00414600
pop ecx
pop ecx
jmp 0x41fec8
push 0
push str.InitDlManifestError
call fcn.004032da
push str.SHCreateDirectoryEx___failed:
lea ecx, [ebp - 0x218]
call fcn.00402829
mov dword [ebp - 4], 3
lea edx, [ebp - 0x218]
push dword [ebp - 0x228]
xor ecx, ecx
push esi
inc ecx
call fcn.00414600
pop ecx
or dword [ebp - 4], 0xffffffff
pop ecx
mov ecx, dword [ebp - 0x218]
add ecx, 0xfffffff0
call fcn.00402e64
push ecx
mov ecx, esp
push str.initdlmanifest
call fcn.00402829
call fcn.0044f9ae
pop ecx
xor eax, eax
jmp 0x4200d8
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0
push str.InitDlManifestError
mov esi, eax
call fcn.004032da
push str.GetUserName_failed
lea ecx, [ebp - 0x21c]
call fcn.00402829
push str.Cannot_continue_manifest_download_
lea ecx, [ebp - 0x218]
mov dword [ebp - 4], 5
call fcn.00402829
lea eax, [ebp - 0x21c]
mov byte [ebp - 4], 6
xor ecx, ecx
lea edx, [ebp - 0x218]
push esi
push eax
inc ecx
call fcn.00414600
pop ecx
pop ecx
mov ecx, dword [ebp - 0x218]
lea ecx, [ecx - 0x10]
call fcn.00402e64
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x21c]
jmp 0x41fd9c
push str.manifest_invalid_after_BITs_download
lea ecx, [ebp - 0x218]
call fcn.00402829
mov dword [ebp - 4], 0xa
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x218]
mov ebx, 0x51b280
push eax
push 0x1fc98
mov ecx, ebx
call fcn.00412c86
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x218]
lea ecx, [ecx - 0x10]
call fcn.00402e64
push 0
push str.SignatureValidationError
call fcn.004032da
jmp 0x41feda
push str.DownloadManifestErrorBITS
call fcn.004032da
push str.BITs_failed__download_manifest_Job_is_not_in_Transferred_state
lea ecx, [ebp - 0x218]
call fcn.00402829
mov dword [ebp - 4], 8
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x218]
mov ebx, 0x51b280
push eax
push 0x2240c
mov ecx, ebx
call fcn.00412c86
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x218]
lea ecx, [ecx - 0x10]
call fcn.00402e64
cmp dword [0x51ae20], 0
jne 0x41fdb7
test esi, esi
jne 0x4200ad
call fcn.00452601
push eax
lea ecx, [ebp - 0x22c]
call fcn.00402899
push str.IDS_TITLE_CHECKING
lea ecx, [ebp - 0x218]
mov dword [ebp - 4], 0xb
call fcn.00402829
lea eax, [ebp - 0x22c]
mov byte [ebp - 4], 0xc
push eax
lea eax, [ebp - 0x218]
mov esi, 0x51ad38
push eax
mov ecx, esi
call fcn.0040d77c
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x218]
lea ecx, [ecx - 0x10]
call fcn.00402e64
lea eax, [ebp - 0x22c]
mov ecx, esi
push eax
call fcn.0040ce9c
mov ecx, dword [ebp - 0x224]
xor eax, eax
push eax
push eax
push eax
push dword [ebp - 0x21c]
push edi
call fcn.004226a6
mov esi, eax
push 0
test esi, esi
je 0x420053
push str.DownloadManifestSuccessWinINet
call fcn.004032da
mov ecx, dword [edi]
or edx, 0xffffffff
push str.2_16_17_18_19_52_53_54_63_68_81_82_83_84_85_86_87_88_89_90_91_92_93_97
call fcn.0042c2a3
mov dword [ebp - 0x220], eax
pop ecx
test eax, eax
je 0x420020
xor esi, esi
push esi
push str.SignatureValidationError
call fcn.004032da
push str.invalid_after_BB_download:
lea ecx, [ebp - 0x218]
call fcn.00402829
mov byte [ebp - 4], 0xd
lea edx, [ebp - 0x218]
push dword [ebp - 0x220]
xor ecx, ecx
push edi
inc ecx
call fcn.00414600
pop ecx
pop ecx
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x218]
lea ecx, [ecx - 0x10]
call fcn.00402e64
push str.manifest_invalid_after_BB_download
lea ecx, [ebp - 0x218]
call fcn.00402829
mov byte [ebp - 4], 0xe
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x218]
mov ecx, ebx
push eax
push 0x1fc98
call fcn.00412c86
mov ecx, dword [ebp - 0x218]
jmp 0x42008f
mov ecx, ebx
call fcn.00412c56
xor esi, esi
lea ecx, [ebp - 0x218]
push str.valid_after_BB_download:
inc esi
call fcn.00402829
push 0
push edi
push 2
lea edx, [ebp - 0x218]
mov byte [ebp - 4], 0xf
pop ecx
call fcn.00414600
pop ecx
pop ecx
jmp 0x420018
push str.DownloadManifestErrorWinINet
call fcn.004032da
push str.BB_download_failed:
lea ecx, [ebp - 0x228]
call fcn.00402829
mov byte [ebp - 4], 0x10
lea edx, [ebp - 0x228]
push 0
push dword [ebp - 0x21c]
xor ecx, ecx
inc ecx
call fcn.00414600
pop ecx
pop ecx
mov ecx, dword [ebp - 0x228]
lea ecx, [ecx - 0x10]
call fcn.00402e64
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x22c]
add ecx, 0xfffffff0
call fcn.00402e64
test esi, esi
je 0x4200c3
mov ecx, dword [ebp - 0x224]
call fcn.004214c9
xor ecx, ecx
test eax, eax
cmovne esi, ecx
test esi, esi
jne 0x4200d6
push ecx
mov ecx, esp
push str.dlmanifest
call fcn.00402829
call fcn.0044f9ae
pop ecx
mov eax, esi
call fcn.0046c3f6
ret