Function at 0x10008ff0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x414
mov eax, dword [0x1006b5d8]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0xc]
push edi
push 0x200
lea ecx, [ebp - 0x404]
push ecx
mov dword [ebp - 0x40c], esi
mov dword [ebp - 0x408], eax
xor edi, edi
call dword [sym.imp.kernel32.dll_GetSystemDirectoryA]
test eax, eax
je 0x10009918
lea eax, [ebp - 0x204]
lea esi, [ebp - 0x404]
mov ecx, eax
mov byte [ebp - 0x205], 0
mov edx, 0x200
sub esi, ecx
lea ecx, [edx + 0x7ffffdfe]
test ecx, ecx
je 0x1000906c
mov cl, byte [eax + esi]
test cl, cl
je 0x1000906c
mov byte [eax], cl
inc eax
dec edx
jne 0x10009053
jmp 0x10009070
test edx, edx
jne 0x10009071
dec eax
push 0x10058138
push 0x200
lea edx, [ebp - 0x204]
push edx
mov byte [eax], 0
call fcn.10008f10
lea eax, [ebp - 0x414]
push eax
lea ecx, [ebp - 0x204]
push ecx
call fcn.10008e50
add esp, 8
test eax, eax
js 0x10009163
mov eax, dword [ebp - 0x410]
mov ecx, dword [ebp - 0x414]
cmp eax, 0x40002
ja 0x100090c4
jb 0x100090ee
cmp ecx, 0x5f
ja 0x100090c4
jb 0x100090ee
test ebx, ebx
je 0x100090ce
mov dword [ebx], 1
mov edx, dword [ebp - 0x40c]
test edx, edx
je 0x100090da
mov dword [edx], edi
mov edi, dword [ebp - 0x408]
test edi, edi
je 0x100090e7
mov byte [edi], 0x20
mov edi, 1
jmp 0x100090f4
mov edx, dword [ebp - 0x40c]
cmp eax, 0x40003
ja 0x10009107
jb 0x1000912d
cmp ecx, 0x448
ja 0x10009107
jb 0x1000912d
test ebx, ebx
je 0x10009111
mov dword [ebx], 2
test edx, edx
je 0x1000911b
mov dword [edx], 0
mov edi, dword [ebp - 0x408]
test edi, edi
je 0x10009128
mov byte [edi], 0x20
mov edi, 1
cmp eax, 0x40004
ja 0x1000913d
jb 0x10009163
cmp ecx, 0x44
ja 0x1000913d
jb 0x10009163
test ebx, ebx
je 0x10009147
mov dword [ebx], 3
test edx, edx
je 0x10009151
mov dword [edx], 0
mov eax, dword [ebp - 0x408]
test eax, eax
je 0x1000915e
mov byte [eax], 0x20
mov edi, 1
mov edx, 0x200
lea eax, [ebp - 0x204]
mov edi, edi
lea ecx, [edx + 0x7ffffdfe]
test ecx, ecx
je 0x10009189
mov cl, byte [eax + esi]
test cl, cl
je 0x10009189
mov byte [eax], cl
inc eax
dec edx
jne 0x10009170
jmp 0x1000918d
test edx, edx
jne 0x1000918e
dec eax
push 0x10058128
push 0x200
lea edx, [ebp - 0x204]
push edx
mov byte [eax], 0
call fcn.10008f10
lea eax, [ebp - 0x414]
push eax
lea ecx, [ebp - 0x204]
push ecx
call fcn.10008e50
add esp, 8
test eax, eax
js 0x10009209
mov eax, dword [ebp - 0x410]
cmp eax, 0x40004
ja 0x100091dd
jb 0x10009209
mov eax, dword [ebp - 0x414]
cmp eax, 0x46
ja 0x100091dd
jb 0x10009209
test ebx, ebx
je 0x100091e7
mov dword [ebx], 3
mov eax, dword [ebp - 0x40c]
test eax, eax
je 0x100091f7
mov dword [eax], 0
mov eax, dword [ebp - 0x408]
test eax, eax
je 0x10009204
mov byte [eax], 0x61
mov edi, 1
mov edx, 0x200
lea eax, [ebp - 0x204]
lea ecx, [edx + 0x7ffffdfe]
test ecx, ecx
je 0x1000922d
mov cl, byte [eax + esi]
test cl, cl
je 0x1000922d
mov byte [eax], cl
inc eax
dec edx
jne 0x10009214
jmp 0x10009231
test edx, edx
jne 0x10009232
dec eax
push 0x10058138
push 0x200
lea edx, [ebp - 0x204]
push edx
mov byte [eax], 0
call fcn.10008f10
lea eax, [ebp - 0x414]
push eax
lea ecx, [ebp - 0x204]
push ecx
call fcn.10008e50
add esp, 8
test eax, eax
js 0x1000932e
mov eax, dword [ebp - 0x410]
mov ecx, dword [ebp - 0x414]
cmp eax, 0x40005
ja 0x10009288
jb 0x100092b6
cmp ecx, 0x9b
ja 0x10009288
jb 0x100092b6
test ebx, ebx
je 0x10009292
mov dword [ebx], 5
mov edx, dword [ebp - 0x40c]
test edx, edx
je 0x100092a2
mov dword [edx], 0
mov edi, dword [ebp - 0x408]
test edi, edi
je 0x100092af
mov byte [edi], 0x20
mov edi, 1
jmp 0x100092bc
mov edx, dword [ebp - 0x40c]
cmp eax, 0x40006
ja 0x100092cf
jb 0x1000932e
cmp ecx, 0x13e
ja 0x100092cf
jb 0x100092f5
test ebx, ebx
je 0x100092d9
mov dword [ebx], 6
test edx, edx
je 0x100092e3
mov dword [edx], 0
mov edi, dword [ebp - 0x408]
test edi, edi
je 0x100092f0
mov byte [edi], 0x20
mov edi, 1
cmp eax, 0x40006
ja 0x10009308
jb 0x1000932e
cmp ecx, 0x1b4
ja 0x10009308
jb 0x1000932e
test ebx, ebx
je 0x10009312
mov dword [ebx], 6
test edx, edx
je 0x1000931c
mov dword [edx], 1
mov eax, dword [ebp - 0x408]
test eax, eax
je 0x10009329
mov byte [eax], 0x20
mov edi, 1
mov edx, 0x200
lea eax, [ebp - 0x204]
lea esp, [esp]
lea ecx, [edx + 0x7ffffdfe]
test ecx, ecx
je 0x10009359
mov cl, byte [eax + esi]
test cl, cl
je 0x10009359
mov byte [eax], cl
inc eax
dec edx
jne 0x10009340
jmp 0x1000935d
test edx, edx
jne 0x1000935e
dec eax
push 0x1005811c
push 0x200
lea edx, [ebp - 0x204]
push edx
mov byte [eax], 0
call fcn.10008f10
lea eax, [ebp - 0x414]
push eax
lea ecx, [ebp - 0x204]
push ecx
call fcn.10008e50
add esp, 8
test eax, eax
js 0x100093db
mov eax, dword [ebp - 0x410]
cmp eax, 0x40006
ja 0x100093af
jb 0x100093db
mov eax, dword [ebp - 0x414]
cmp eax, 0x30206
ja 0x100093af
jb 0x100093db
test ebx, ebx
je 0x100093b9
mov dword [ebx], 6
mov eax, dword [ebp - 0x40c]
test eax, eax
je 0x100093c9
mov dword [eax], 1
mov eax, dword [ebp - 0x408]
test eax, eax
je 0x100093d6
mov byte [eax], 0x61
mov edi, 1
mov edx, 0x200
lea eax, [ebp - 0x204]
lea ecx, [edx + 0x7ffffdfe]
test ecx, ecx
je 0x100093ff
mov cl, byte [eax + esi]
test cl, cl
je 0x100093ff
mov byte [eax], cl
inc eax
dec edx
jne 0x100093e6
jmp 0x10009403
test edx, edx
jne 0x10009404
dec eax
push 0x10058138
push 0x200
lea edx, [ebp - 0x204]
push edx
mov byte [eax], 0
call fcn.10008f10
lea eax, [ebp - 0x414]
push eax
lea ecx, [ebp - 0x204]
push ecx
call fcn.10008e50
add esp, 8
test eax, eax
js 0x10009481
mov eax, dword [ebp - 0x410]
cmp eax, 0x40007
ja 0x10009455
jb 0x10009481
mov eax, dword [ebp - 0x414]
cmp eax, 0x2bc
ja 0x10009455
jb 0x10009481
test ebx, ebx
je 0x1000945f
mov dword [ebx], 7
mov eax, dword [ebp - 0x40c]
test eax, eax
je 0x1000946f
mov dword [eax], 0
mov eax, dword [ebp - 0x408]
test eax, eax
je 0x1000947c
mov byte [eax], 0x20
mov edi, 1
mov edx, 0x200
lea eax, [ebp - 0x204]
lea esp, [esp]
lea ecx, [edx + 0x7ffffdfe]
test ecx, ecx
je 0x100094a9
mov cl, byte [eax + esi]
test cl, cl
je 0x100094a9
mov byte [eax], cl
inc eax
dec edx
jne 0x10009490
jmp 0x100094ad
test edx, edx
jne 0x100094ae
dec eax
push 0x10058110
push 0x200
lea edx, [ebp - 0x204]
push edx
mov byte [eax], 0
call fcn.10008f10
lea eax, [ebp - 0x414]
push eax
lea ecx, [ebp - 0x204]
push ecx
call fcn.10008e50
add esp, 8
test eax, eax
js 0x1000952b
mov eax, dword [ebp - 0x410]
cmp eax, 0x40007
ja 0x100094ff
jb 0x1000952b
mov eax, dword [ebp - 0x414]
cmp eax, 0x2cc
ja 0x100094ff
jb 0x1000952b
test ebx, ebx
je 0x10009509
mov dword [ebx], 7
mov eax, dword [ebp - 0x40c]
test eax, eax
je 0x10009519
mov dword [eax], 0
mov eax, dword [ebp - 0x408]
test eax, eax
je 0x10009526
mov byte [eax], 0x61
mov edi, 1
mov edx, 0x200
lea eax, [ebp - 0x204]
lea ecx, [edx + 0x7ffffdfe]
test ecx, ecx
je 0x1000954f
mov cl, byte [eax + esi]
test cl, cl
je 0x1000954f
mov byte [eax], cl
inc eax
dec edx
jne 0x10009536
jmp 0x10009553
test edx, edx
jne 0x10009554
dec eax
push 0x10058138
push 0x200
lea edx, [ebp - 0x204]
push edx
mov byte [eax], 0
call fcn.10008f10
lea eax, [ebp - 0x414]
push eax
lea ecx, [ebp - 0x204]
push ecx
call fcn.10008e50
add esp, 8
test eax, eax
js 0x100095f6
mov ecx, dword [ebp - 0x410]
mov edx, dword [ebp - 0x414]
mov eax, ecx
shr eax, 0x10
cmp ax, 4
jne 0x100095b0
cmp ecx, 0x40008
ja 0x100095ca
jb 0x100095b0
cmp edx, 0x190
jae 0x100095ca
cmp ax, 5
jne 0x100095f6
cmp ecx, 0x50001
ja 0x100095ca
jb 0x100095f6
cmp edx, 0x8d20190
ja 0x100095ca
jb 0x100095f6
test ebx, ebx
je 0x100095d4
mov dword [ebx], 8
mov eax, dword [ebp - 0x40c]
test eax, eax
je 0x100095e4
mov dword [eax], 0
mov eax, dword [ebp - 0x408]
test eax, eax
je 0x100095f1
mov byte [eax], 0x20
mov edi, 1
mov edx, 0x200
lea eax, [ebp - 0x204]
lea ecx, [edx + 0x7ffffdfe]
test ecx, ecx
je 0x1000961a
mov cl, byte [eax + esi]
test cl, cl
je 0x1000961a
mov byte [eax], cl
inc eax
dec edx
jne 0x10009601
jmp 0x1000961e
test edx, edx
jne 0x1000961f
dec eax
push 0x10058104
push 0x200
lea edx, [ebp - 0x204]
push edx
mov byte [eax], 0
call fcn.10008f10
lea eax, [ebp - 0x414]
push eax
lea ecx, [ebp - 0x204]
push ecx
call fcn.10008e50
add esp, 8
test eax, eax
js 0x1000971f
mov eax, dword [ebp - 0x410]
mov edx, dword [ebp - 0x414]
mov ecx, eax
shr ecx, 0x10
cmp cx, 4
jne 0x1000967e
cmp eax, 0x40008
ja 0x10009697
jb 0x1000967e
cmp edx, 0x10371
jae 0x10009697
cmp cx, 5
jne 0x100096c3
cmp eax, 0x50001
ja 0x10009697
jb 0x100096c3
cmp edx, 0xa280371
ja 0x10009697
jb 0x100096c3
test ebx, ebx
je 0x100096a1
mov dword [ebx], 8
mov edi, dword [ebp - 0x40c]
test edi, edi
je 0x100096b1
mov dword [edi], 1
mov edi, dword [ebp - 0x408]
test edi, edi
je 0x100096be
mov byte [edi], 0x20
mov edi, 1
cmp cx, 4
jne 0x100096da
cmp eax, 0x40008
ja 0x100096f3
jb 0x100096da
cmp edx, 0x10385
jae 0x100096f3
cmp cx, 5
jne 0x1000971f
cmp eax, 0x50001
ja 0x100096f3
jb 0x1000971f
cmp edx, 0xa280385
ja 0x100096f3
jb 0x1000971f
test ebx, ebx
je 0x100096fd
mov dword [ebx], 8
mov eax, dword [ebp - 0x40c]
test eax, eax
je 0x1000970d
mov dword [eax], 1
mov eax, dword [ebp - 0x408]
test eax, eax
je 0x1000971a
mov byte [eax], 0x61
mov edi, 1
mov edx, 0x200
lea eax, [ebp - 0x204]
lea ebx, [ebx]
lea ecx, [edx + 0x7ffffdfe]
test ecx, ecx
je 0x10009749
mov cl, byte [eax + esi]
test cl, cl
je 0x10009749
mov byte [eax], cl
inc eax
dec edx
jne 0x10009730
jmp 0x1000974d
test edx, edx
jne 0x1000974e
dec eax
push 0x100580f4
push 0x200
lea edx, [ebp - 0x204]
push edx
mov byte [eax], 0
call fcn.10008f10
lea eax, [ebp - 0x414]
push eax
lea ecx, [ebp - 0x204]
push ecx
call fcn.10008e50
add esp, 8
test eax, eax
js 0x100097cb
mov eax, dword [ebp - 0x410]
cmp eax, 0x60003
ja 0x1000979f
jb 0x100097cb
mov eax, dword [ebp - 0x414]
cmp eax, 0x10375
ja 0x1000979f
jb 0x100097cb
test ebx, ebx
je 0x100097a9
mov dword [ebx], 8
mov eax, dword [ebp - 0x40c]
test eax, eax
je 0x100097b9
mov dword [eax], 1
mov eax, dword [ebp - 0x408]
test eax, eax
je 0x100097c6
mov byte [eax], 0x62
mov edi, 1
mov edx, 0x200
lea eax, [ebp - 0x204]
lea ecx, [edx + 0x7ffffdfe]
test ecx, ecx
je 0x100097ef
mov cl, byte [eax + esi]
test cl, cl
je 0x100097ef
mov byte [eax], cl
inc eax
dec edx
jne 0x100097d6
jmp 0x100097f3
test edx, edx
jne 0x100097f4
dec eax
push 0x100580e8
push 0x200
lea edx, [ebp - 0x204]
push edx
mov byte [eax], 0
call fcn.10008f10
lea eax, [ebp - 0x414]
push eax
lea ecx, [ebp - 0x204]
push ecx
call fcn.10008e50
add esp, 8
test eax, eax
js 0x10009896
mov ecx, dword [ebp - 0x410]
mov edx, dword [ebp - 0x414]
mov eax, ecx
shr eax, 0x10
cmp ax, 4
jne 0x10009850
cmp ecx, 0x40009
ja 0x1000986a
jb 0x10009850
cmp edx, 0x86
jae 0x1000986a
cmp ax, 5
jne 0x10009896
cmp ecx, 0x50002
ja 0x1000986a
jb 0x10009896
cmp edx, 0xe5d0086
ja 0x1000986a
jb 0x10009896
test ebx, ebx
je 0x10009874
mov dword [ebx], 8
mov eax, dword [ebp - 0x40c]
test eax, eax
je 0x10009884
mov dword [eax], 2
mov eax, dword [ebp - 0x408]
test eax, eax
je 0x10009891
mov byte [eax], 0x20
mov edi, 1
mov edx, 0x200
lea eax, [ebp - 0x204]
lea ecx, [edx + 0x7ffffdfe]
test ecx, ecx
je 0x100098ba
mov cl, byte [eax + esi]
test cl, cl
je 0x100098ba
mov byte [eax], cl
inc eax
dec edx
jne 0x100098a1
jmp 0x100098be
test edx, edx
jne 0x100098bf
dec eax
push 0x100580dc
push 0x200
lea edx, [ebp - 0x204]
push edx
mov byte [eax], 0
call fcn.10008f10
lea eax, [ebp - 0x414]
push eax
lea ecx, [ebp - 0x204]
push ecx
call fcn.10008e50
add esp, 8
test eax, eax
js 0x1000990e
test ebx, ebx
je 0x100098fc
mov dword [ebx], 9
mov eax, dword [ebp - 0x40c]
test eax, eax
je 0x1000992c
mov dword [eax], 0
jmp 0x1000992c
test edi, edi
jne 0x10009939
mov esi, dword [ebp - 0x40c]
test ebx, ebx
je 0x10009922
mov dword [ebx], 0
test esi, esi
je 0x1000992c
mov dword [esi], 0
mov eax, dword [ebp - 0x408]
test eax, eax
je 0x10009939
mov byte [eax], 0x20
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
xor eax, eax
pop ebx
call fcn.1003b1fb
mov esp, ebp
pop ebp
ret