Function at 0x10009458
Capabilities:
Create directory

Disassembly:
push ebp
sub esp, 0x10c
lea ebp, [esp - 4]
mov eax, dword [0x100572c0]
xor eax, ebp
mov dword [ebp + 0x10c], eax
push 0x160
mov eax, 0x10043cbe
call fcn.1002b113
xor ebx, ebx
mov dword [ebp - 4], ebx
call fcn.1001a60e
test eax, eax
je 0x100094de
sub esp, 0x1c
lea eax, [ebp + 0x118]
mov ecx, esp
mov dword [ebp - 0x10], esp
push eax
call fcn.10001c43
push 0x80
push str.MigrateApplicationData
mov byte [ebp - 4], 1
call fcn.1001a60e
push eax
mov ecx, 0x10049808
lea ebx, [ebp - 0x50]
call fcn.1001ac41
mov byte [ebp - 4], 2
mov edi, eax
mov byte [ebp - 4], 3
call fcn.1001ab52
mov ecx, ebx
mov byte [ebp - 4], 0
call fcn.1001a66c
xor ebx, ebx
lea eax, [ebp + 0x118]
push eax
lea ecx, [ebp + 0xf0]
call fcn.10001c43
push dword [ebp + 0x134]
mov byte [ebp - 4], 4
sub esp, 0x1c
lea eax, [ebp + 0x118]
mov ecx, esp
mov dword [ebp - 0x10], esp
push eax
call fcn.10001c43
call fcn.10008b49
add esp, 0x20
cmp al, bl
je 0x100095e2
push dword [ebp + 0x134]
lea eax, [ebp + 0x118]
push eax
lea eax, [ebp]
push eax
call fcn.10001918
lea eax, [ebp]
mov byte [ebp - 4], 5
call fcn.10001a64
test al, al
jne 0x10009562
mov eax, str.vb64
cmp byte [ebp + 0x134], bl
jne 0x10009556
mov eax, 0x10049ed4
push eax
lea ecx, [ebp + 0xf0]
call fcn.100029e3
call fcn.1001a60e
test eax, eax
je 0x100095c8
sub esp, 0x1c
lea eax, [ebp + 0xf0]
mov ecx, esp
mov dword [ebp - 0x10], esp
push eax
call fcn.10001c43
push 0x87
push str.MigrateApplicationData
mov byte [ebp - 4], 6
call fcn.1001a60e
push eax
mov ecx, 0x10049808
lea ebx, [ebp - 0x50]
call fcn.1001ac41
mov ecx, eax
mov byte [ebp - 4], 7
mov eax, str.try_to_use_old_appid:
call fcn.1001ab2c
mov edi, eax
mov byte [ebp - 4], 8
call fcn.1001ab52
mov ecx, ebx
mov byte [ebp - 4], 5
call fcn.1001a66c
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp + 0x20]
mov byte [ebp - 4], 4
call fcn.10002b97
push ebx
push 1
lea ecx, [ebp]
call fcn.10002b97
push dword [ebp + 0x134]
lea edi, [ebp - 0x8c]
call fcn.10001afe
mov byte [ebp - 4], 9
mov dword [esp], 0x10049804
push eax
lea eax, [ebp - 0xc4]
push eax
call fcn.10004854
sub esp, 0x10
mov ecx, esp
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x10], esp
lea edx, [ebp + 0xf0]
push edx
push eax
push ecx
call fcn.10004a01
add esp, 0xc
lea ecx, [ebp + 0xb8]
call fcn.1001f470
add esp, 0x1c
push ebx
push 1
lea ecx, [ebp - 0xc4]
call fcn.10002b97
push ebx
push 1
mov ecx, edi
mov byte [ebp - 4], 0xd
call fcn.10002b97
sub esp, 0x1c
lea eax, [ebp + 0xb8]
mov esi, esp
mov dword [ebp - 0x10], esp
push eax
call fcn.10002160
call fcn.1001d851
add esp, 0x1c
cmp al, bl
je 0x100096d9
call fcn.1001a60e
test eax, eax
je 0x100096b5
push 0x8b
push str.MigrateApplicationData
call fcn.1001a60e
push eax
mov ecx, 0x10049808
lea ebx, [ebp - 0x50]
call fcn.1001ac41
mov ecx, eax
mov eax, str.Nothing_to_convert.
mov byte [ebp - 4], 0xe
call fcn.1001ab2c
mov ecx, ebx
mov byte [ebp - 4], 0xd
call fcn.1001a66c
xor ebx, ebx
push ebx
push 1
lea esi, [ebp + 0xb8]
call fcn.10002d0f
push ebx
push 1
lea ecx, [ebp + 0xf0]
call fcn.10002b97
push ebx
push 1
jmp 0x10009b83
lea eax, [ebp - 0x70]
push eax
call fcn.1000a035
push ebx
lea eax, [ebp - 0x70]
push eax
sub esp, 0x1c
mov byte [ebp - 4], 0xf
lea eax, [ebp + 0xb8]
mov esi, esp
mov dword [ebp - 0x10], esp
push eax
call fcn.10002160
call fcn.1001d0e3
add esp, 0x24
push ebx
sub esp, 0x1c
lea eax, [ebp + 0x118]
mov ecx, esp
mov dword [ebp - 0x10], esp
push eax
call fcn.10001c43
lea eax, [ebp + 0x80]
push eax
call fcn.1002042a
add esp, 0x20
cmp dword [eax + 0x18], 8
jb 0x10009736
mov eax, dword [eax + 4]
jmp 0x10009739
add eax, 4
push eax
push ebx
call dword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
push ebx
push 1
lea esi, [ebp + 0x80]
call fcn.10002d0f
push 0x1004a060
sub esp, 0x1c
lea eax, [ebp + 0x118]
mov ecx, esp
mov dword [ebp - 0x10], esp
push eax
call fcn.10001c43
lea eax, [ebp - 0xfc]
push eax
call fcn.1002042a
add esp, 0x20
push eax
lea eax, [ebp + 0xd4]
push eax
mov byte [ebp - 4], 0x10
call fcn.100088e8
add esp, 0xc
push ebx
push 1
lea esi, [ebp - 0xfc]
mov byte [ebp - 4], 0x12
call fcn.10002d0f
sub esp, 0x1c
lea eax, [ebp + 0x118]
mov ecx, esp
mov dword [ebp - 0x10], esp
push eax
call fcn.10001c43
lea ecx, [ebp - 0x16c]
call fcn.1001f470
add esp, 0x1c
mov edi, eax
push str.APPINFO65438470_A93E_4c32_83C0_33BFC5DDD428_
lea esi, [ebp - 0x134]
mov byte [ebp - 4], 0x13
call fcn.10002136
sub esp, 0x1c
mov ecx, esp
mov byte [ebp - 4], 0x14
mov dword [ebp - 0x10], esp
push edi
push eax
push ecx
call fcn.1000a50f
add esp, 0xc
lea edi, [ebp + 0x58]
call fcn.1001f8dc
xor edi, edi
push ebx
inc edi
push edi
call fcn.10002d0f
push ebx
push edi
lea esi, [ebp - 0x16c]
mov byte [ebp - 4], 0x17
call fcn.10002d0f
lea ecx, [ebp + 0x58]
call fcn.1001f9e3
test al, al
jne 0x10009873
call fcn.1001a60e
test eax, eax
je 0x10009862
push 0x97
push str.MigrateApplicationData
call fcn.1001a60e
push eax
mov ecx, 0x10049924
lea ebx, [ebp - 0x50]
call fcn.1001ac41
mov ecx, eax
mov eax, str.Cant_lock_appinfo_mutex._No_migration_need.
mov byte [ebp - 4], 0x18
call fcn.1001ab2c
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x17
call fcn.1001a66c
xor edi, edi
xor ebx, ebx
inc edi
lea ecx, [ebp + 0x58]
mov byte [ebp - 4], 0x12
call fcn.1001f99c
jmp 0x10009b4d
cmp dword [ebp + 0xec], 8
mov eax, dword [ebp + 0xd8]
jae 0x10009888
lea eax, [ebp + 0xd8]
push 0x1004a108
push eax
call fcn.1002846e
pop ecx
pop ecx
mov dword [ebp - 0x10], eax
cmp eax, ebx
jne 0x100098fa
call fcn.1001a60e
test eax, eax
je 0x10009862
sub esp, 0x1c
lea eax, [ebp + 0xd4]
mov esi, esp
mov dword [ebp - 0x10], esp
push eax
call fcn.10002160
push 0x9d
push str.MigrateApplicationData
mov byte [ebp - 4], 0x19
call fcn.1001a60e
push eax
mov ecx, 0x10049924
lea ebx, [ebp - 0x50]
call fcn.1001ac41
mov ecx, eax
mov byte [ebp - 4], 0x1a
mov eax, 0x1004a10c
call fcn.1001ab2c
mov ecx, eax
mov byte [ebp - 4], 0x1b
call fcn.1001abe7
jmp 0x10009851
push str.__xml_version_1.0__encoding_utf_8___
mov esi, 0x1004a148
push esi
push eax
call fcn.10028485
push str._appinfo_
push esi
push dword [ebp - 0x10]
call fcn.10028485
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x70]
add esp, 0x18
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x70]
lea edi, [ebp - 0x24]
lea esi, [ebp - 0x1c]
mov dword [ebp - 0x24], eax
call fcn.1000a0eb
test al, al
jne 0x10009ab3
call fcn.1001cb89
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x14], esp
push eax
call fcn.10002160
lea ecx, [ebp + 0x3c]
call fcn.1001f3da
add esp, 0x1c
lea esi, [ebp - 0x1c]
mov byte [ebp - 4], 0x1c
call fcn.1001cb89
sub esp, 0x1c
add eax, 0x1c
mov esi, esp
mov dword [ebp - 0x14], esp
push eax
call fcn.10002160
lea ecx, [ebp + 0x80]
call fcn.1001f040
lea eax, [ebp + 0x3c]
push eax
lea eax, [ebp - 0x40]
push 0x10049e40
push eax
mov byte [ebp - 4], 0x1d
call fcn.1000a4c4
mov esi, 0x10049e44
push esi
push eax
lea eax, [ebp - 0xa8]
push eax
mov byte [ebp - 4], 0x1e
call fcn.10004854
lea ecx, [ebp + 0x80]
push ecx
push eax
lea eax, [ebp - 0x150]
push eax
mov byte [ebp - 4], 0x1f
call fcn.10004a01
add esp, 0x40
push 0x10049e48
push eax
lea eax, [ebp - 0xe0]
push eax
mov byte [ebp - 4], 0x20
call fcn.10004854
lea ecx, [ebp + 0x3c]
push ecx
push eax
lea eax, [ebp - 0x118]
push eax
mov byte [ebp - 4], 0x21
call fcn.10004a01
push esi
push eax
lea eax, [ebp + 0x9c]
push eax
mov byte [ebp - 4], 0x22
call fcn.10004854
add esp, 0x24
xor edi, edi
push ebx
inc edi
push edi
lea ecx, [ebp - 0x118]
call fcn.10002b97
push ebx
push edi
lea ecx, [ebp - 0xe0]
call fcn.10002b97
push ebx
push edi
lea ecx, [ebp - 0x150]
call fcn.10002b97
push ebx
push edi
lea ecx, [ebp - 0xa8]
call fcn.10002b97
push ebx
push edi
lea ecx, [ebp - 0x40]
call fcn.10002b97
cmp dword [ebp + 0xb4], 0x10
mov eax, dword [ebp + 0xa0]
jae 0x10009a6d
lea eax, [ebp + 0xa0]
push eax
push str.___s_n
push dword [ebp - 0x10]
call fcn.10028485
add esp, 0xc
lea esi, [ebp - 0x1c]
call fcn.1000ef9c
push ebx
push edi
lea ecx, [ebp + 0x9c]
call fcn.10002b97
push ebx
push edi
lea ecx, [ebp + 0x80]
call fcn.10002b97
push ebx
push edi
lea ecx, [ebp + 0x3c]
mov byte [ebp - 4], 0x17
call fcn.10002b97
jmp 0x1000992a
push str.__appinfo_
push 0x1004a148
push dword [ebp - 0x10]
call fcn.10028485
push dword [ebp - 0x10]
call fcn.10028618
add esp, 0x10
lea ecx, [ebp + 0x58]
call fcn.1001face
call fcn.1001a60e
test eax, eax
je 0x10009b3e
sub esp, 0x1c
lea eax, [ebp + 0x118]
mov ecx, esp
mov dword [ebp - 0x14], esp
push eax
call fcn.10001c43
push 0xb2
push str.MigrateApplicationData
mov byte [ebp - 4], 0x23
call fcn.1001a60e
push eax
mov ecx, 0x10049808
lea ebx, [ebp - 0x50]
call fcn.1001ac41
mov ecx, eax
mov byte [ebp - 4], 0x24
mov eax, str.Migrating_to_appinfo.xml_finished._AppId:
call fcn.1001ab2c
mov edi, eax
mov byte [ebp - 4], 0x25
call fcn.1001ab52
mov ecx, ebx
mov byte [ebp - 4], 0x17
call fcn.1001a66c
xor ebx, ebx
lea ecx, [ebp + 0x58]
mov byte [ebp - 4], 0x12
call fcn.1001f99c
xor edi, edi
inc edi
push ebx
push edi
lea esi, [ebp + 0xd4]
call fcn.10002d0f
lea eax, [ebp - 0x70]
push eax
mov byte [ebp - 4], 0xd
call fcn.1000a086
push ebx
push edi
lea esi, [ebp + 0xb8]
call fcn.10002d0f
push ebx
push edi
lea ecx, [ebp + 0xf0]
call fcn.10002b97
push ebx
push edi
lea ecx, [ebp + 0x118]
call fcn.10002b97
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x10c]
xor ecx, ebp
call fcn.10026081
add ebp, 0x110
leave
ret