Function at 0x510b0fa4
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffbf4
push ebx
push esi
push edi
mov dword [ebp - 0xc], ecx
mov edi, edx
mov esi, eax
xor ebx, ebx
push 0x104
lea eax, [ebp - 0x20c]
push eax
call sub.kernel32.dll_GetSystemDirectoryA
test eax, eax
je 0x510b16e4
mov byte [ebp - 0x109], 0
lea ecx, [ebp - 0x20c]
lea eax, [ebp - 0x40c]
mov edx, 0x200
call fcn.510b08fc
mov ecx, 0x510b1700
lea eax, [ebp - 0x40c]
mov edx, 0x200
call fcn.510b09c0
lea edx, [ebp - 8]
lea eax, [ebp - 0x40c]
call fcn.510b1768
call fcn.51016e18
test al, al
je 0x510b10b5
push 0x5f
xor ecx, ecx
mov dx, 2
mov ax, 4
call fcn.510b0f6c
cmp edx, dword [ebp - 4]
jne 0x510b103c
cmp eax, dword [ebp - 8]
ja 0x510b1050
jmp 0x510b103e
jg 0x510b1050
mov dword [esi], 1
xor eax, eax
mov dword [edi], eax
mov eax, dword [ebp - 0xc]
mov byte [eax], 0x20
mov bl, 1
push 0x448
xor ecx, ecx
mov dx, 3
mov ax, 4
call fcn.510b0f6c
cmp edx, dword [ebp - 4]
jne 0x510b1070
cmp eax, dword [ebp - 8]
ja 0x510b1084
jmp 0x510b1072
jg 0x510b1084
mov dword [esi], 2
xor eax, eax
mov dword [edi], eax
mov eax, dword [ebp - 0xc]
mov byte [eax], 0x20
mov bl, 1
push 0x44
xor ecx, ecx
mov dx, 4
mov ax, 4
call fcn.510b0f6c
cmp edx, dword [ebp - 4]
jne 0x510b10a1
cmp eax, dword [ebp - 8]
ja 0x510b10b5
jmp 0x510b10a3
jg 0x510b10b5
mov dword [esi], 3
xor eax, eax
mov dword [edi], eax
mov eax, dword [ebp - 0xc]
mov byte [eax], 0x20
mov bl, 1
lea ecx, [ebp - 0x20c]
lea eax, [ebp - 0x40c]
mov edx, 0x200
call fcn.510b08fc
mov ecx, 0x510b170c
lea eax, [ebp - 0x40c]
mov edx, 0x200
call fcn.510b09c0
lea edx, [ebp - 8]
lea eax, [ebp - 0x40c]
call fcn.510b1768
call fcn.51016e18
test al, al
je 0x510b1128
push 0x46
xor ecx, ecx
mov dx, 4
mov ax, 4
call fcn.510b0f6c
cmp edx, dword [ebp - 4]
jne 0x510b1114
cmp eax, dword [ebp - 8]
ja 0x510b1128
jmp 0x510b1116
jg 0x510b1128
mov dword [esi], 3
xor eax, eax
mov dword [edi], eax
mov eax, dword [ebp - 0xc]
mov byte [eax], 0x61
mov bl, 1
lea ecx, [ebp - 0x20c]
lea eax, [ebp - 0x40c]
mov edx, 0x200
call fcn.510b08fc
mov ecx, 0x510b1700
lea eax, [ebp - 0x40c]
mov edx, 0x200
call fcn.510b09c0
lea edx, [ebp - 8]
lea eax, [ebp - 0x40c]
call fcn.510b1768
call fcn.51016e18
test al, al
je 0x510b120c
push 0x9b
xor ecx, ecx
mov dx, 5
mov ax, 4
call fcn.510b0f6c
cmp edx, dword [ebp - 4]
jne 0x510b118e
cmp eax, dword [ebp - 8]
ja 0x510b11a2
jmp 0x510b1190
jg 0x510b11a2
mov dword [esi], 5
xor eax, eax
mov dword [edi], eax
mov eax, dword [ebp - 0xc]
mov byte [eax], 0x20
mov bl, 1
push 0x13e
xor ecx, ecx
mov dx, 6
mov ax, 4
call fcn.510b0f6c
cmp edx, dword [ebp - 4]
jne 0x510b11c2
cmp eax, dword [ebp - 8]
ja 0x510b11d6
jmp 0x510b11c4
jg 0x510b11d6
mov dword [esi], 6
xor eax, eax
mov dword [edi], eax
mov eax, dword [ebp - 0xc]
mov byte [eax], 0x20
mov bl, 1
push 0x1b4
xor ecx, ecx
mov dx, 6
mov ax, 4
call fcn.510b0f6c
cmp edx, dword [ebp - 4]
jne 0x510b11f6
cmp eax, dword [ebp - 8]
ja 0x510b120c
jmp 0x510b11f8
jg 0x510b120c
mov dword [esi], 6
mov dword [edi], 1
mov eax, dword [ebp - 0xc]
mov byte [eax], 0x20
mov bl, 1
lea ecx, [ebp - 0x20c]
lea eax, [ebp - 0x40c]
mov edx, 0x200
call fcn.510b08fc
mov ecx, 0x510b171c
lea eax, [ebp - 0x40c]
mov edx, 0x200
call fcn.510b09c0
lea edx, [ebp - 8]
lea eax, [ebp - 0x40c]
call fcn.510b1768
call fcn.51016e18
test al, al
je 0x510b1286
push 0x206
mov cx, 3
mov dx, 6
mov ax, 4
call fcn.510b0f6c
cmp edx, dword [ebp - 4]
jne 0x510b1270
cmp eax, dword [ebp - 8]
ja 0x510b1286
jmp 0x510b1272
jg 0x510b1286
mov dword [esi], 6
mov dword [edi], 1
mov eax, dword [ebp - 0xc]
mov byte [eax], 0x61
mov bl, 1
lea ecx, [ebp - 0x20c]
lea eax, [ebp - 0x40c]
mov edx, 0x200
call fcn.510b08fc
mov ecx, 0x510b1700
lea eax, [ebp - 0x40c]
mov edx, 0x200
call fcn.510b09c0
lea edx, [ebp - 8]
lea eax, [ebp - 0x40c]
call fcn.510b1768
call fcn.51016e18
test al, al
je 0x510b12fc
push 0x2bc
xor ecx, ecx
mov dx, 7
mov ax, 4
call fcn.510b0f6c
cmp edx, dword [ebp - 4]
jne 0x510b12e8
cmp eax, dword [ebp - 8]
ja 0x510b12fc
jmp 0x510b12ea
jg 0x510b12fc
mov dword [esi], 7
xor eax, eax
mov dword [edi], eax
mov eax, dword [ebp - 0xc]
mov byte [eax], 0x20
mov bl, 1
lea ecx, [ebp - 0x20c]
lea eax, [ebp - 0x40c]
mov edx, 0x200
call fcn.510b08fc
mov ecx, 0x510b1728
lea eax, [ebp - 0x40c]
mov edx, 0x200
call fcn.510b09c0
lea edx, [ebp - 8]
lea eax, [ebp - 0x40c]
call fcn.510b1768
call fcn.51016e18
test al, al
je 0x510b1372
push 0x2cc
xor ecx, ecx
mov dx, 7
mov ax, 4
call fcn.510b0f6c
cmp edx, dword [ebp - 4]
jne 0x510b135e
cmp eax, dword [ebp - 8]
ja 0x510b1372
jmp 0x510b1360
jg 0x510b1372
mov dword [esi], 7
xor eax, eax
mov dword [edi], eax
mov eax, dword [ebp - 0xc]
mov byte [eax], 0x61
mov bl, 1
lea ecx, [ebp - 0x20c]
lea eax, [ebp - 0x40c]
mov edx, 0x200
call fcn.510b08fc
mov ecx, 0x510b1700
lea eax, [ebp - 0x40c]
mov edx, 0x200
call fcn.510b09c0
lea edx, [ebp - 8]
lea eax, [ebp - 0x40c]
call fcn.510b1768
call fcn.51016e18
test al, al
je 0x510b1428
mov eax, dword [ebp - 4]
call fcn.510076f8
cmp ax, 4
jne 0x510b13e4
push 0x190
xor ecx, ecx
mov dx, 8
mov ax, 4
call fcn.510b0f6c
cmp edx, dword [ebp - 4]
jne 0x510b13e2
cmp eax, dword [ebp - 8]
jbe 0x510b1416
jmp 0x510b13e4
jle 0x510b1416
mov eax, dword [ebp - 4]
call fcn.510076f8
cmp ax, 5
jne 0x510b1428
push 0x190
mov cx, 0x8d2
mov dx, 1
mov ax, 5
call fcn.510b0f6c
cmp edx, dword [ebp - 4]
jne 0x510b1414
cmp eax, dword [ebp - 8]
ja 0x510b1428
jmp 0x510b1416
jg 0x510b1428
mov dword [esi], 8
xor eax, eax
mov dword [edi], eax
mov eax, dword [ebp - 0xc]
mov byte [eax], 0x20
mov bl, 1
lea ecx, [ebp - 0x20c]
lea eax, [ebp - 0x40c]
mov edx, 0x200
call fcn.510b08fc
mov ecx, 0x510b1734
lea eax, [ebp - 0x40c]
mov edx, 0x200
call fcn.510b09c0
lea edx, [ebp - 8]
lea eax, [ebp - 0x40c]
call fcn.510b1768
call fcn.51016e18
test al, al
je 0x510b155e
mov eax, dword [ebp - 4]
call fcn.510076f8
cmp ax, 4
jne 0x510b14a0
push 0x371
mov cx, 1
mov dx, 8
mov ax, 4
call fcn.510b0f6c
cmp edx, dword [ebp - 4]
jne 0x510b149e
cmp eax, dword [ebp - 8]
jbe 0x510b14d2
jmp 0x510b14a0
jle 0x510b14d2
mov eax, dword [ebp - 4]
call fcn.510076f8
cmp ax, 5
jne 0x510b14e6
push 0x371
mov cx, 0xa28
mov dx, 1
mov ax, 5
call fcn.510b0f6c
cmp edx, dword [ebp - 4]
jne 0x510b14d0
cmp eax, dword [ebp - 8]
ja 0x510b14e6
jmp 0x510b14d2
jg 0x510b14e6
mov dword [esi], 8
mov dword [edi], 1
mov eax, dword [ebp - 0xc]
mov byte [eax], 0x20
mov bl, 1
mov eax, dword [ebp - 4]
call fcn.510076f8
cmp ax, 4
jne 0x510b1518
push 0x385
mov cx, 1
mov dx, 8
mov ax, 4
call fcn.510b0f6c
cmp edx, dword [ebp - 4]
jne 0x510b1516
cmp eax, dword [ebp - 8]
jbe 0x510b154a
jmp 0x510b1518
jle 0x510b154a
mov eax, dword [ebp - 4]
call fcn.510076f8
cmp ax, 5
jne 0x510b155e
push 0x385
mov cx, 0xa28
mov dx, 1
mov ax, 5
call fcn.510b0f6c
cmp edx, dword [ebp - 4]
jne 0x510b1548
cmp eax, dword [ebp - 8]
ja 0x510b155e
jmp 0x510b154a
jg 0x510b155e
mov dword [esi], 8
mov dword [edi], 1
mov eax, dword [ebp - 0xc]
mov byte [eax], 0x61
mov bl, 1
lea ecx, [ebp - 0x20c]
lea eax, [ebp - 0x40c]
mov edx, 0x200
call fcn.510b08fc
mov ecx, 0x510b1740
lea eax, [ebp - 0x40c]
mov edx, 0x200
call fcn.510b09c0
lea edx, [ebp - 8]
lea eax, [ebp - 0x40c]
call fcn.510b1768
call fcn.51016e18
test al, al
je 0x510b15d8
push 0x375
mov cx, 1
mov dx, 3
mov ax, 6
call fcn.510b0f6c
cmp edx, dword [ebp - 4]
jne 0x510b15c2
cmp eax, dword [ebp - 8]
ja 0x510b15d8
jmp 0x510b15c4
jg 0x510b15d8
mov dword [esi], 8
mov dword [edi], 1
mov eax, dword [ebp - 0xc]
mov byte [eax], 0x62
mov bl, 1
lea ecx, [ebp - 0x20c]
lea eax, [ebp - 0x40c]
mov edx, 0x200
call fcn.510b08fc
mov ecx, 0x510b1750
lea eax, [ebp - 0x40c]
mov edx, 0x200
call fcn.510b09c0
lea edx, [ebp - 8]
lea eax, [ebp - 0x40c]
call fcn.510b1768
call fcn.51016e18
test al, al
je 0x510b1690
mov eax, dword [ebp - 4]
call fcn.510076f8
cmp ax, 4
jne 0x510b164a
push 0x86
xor ecx, ecx
mov dx, 9
mov ax, 4
call fcn.510b0f6c
cmp edx, dword [ebp - 4]
jne 0x510b1648
cmp eax, dword [ebp - 8]
jbe 0x510b167c
jmp 0x510b164a
jle 0x510b167c
mov eax, dword [ebp - 4]
call fcn.510076f8
cmp ax, 5
jne 0x510b1690
push 0x86
mov cx, 0xe5d
mov dx, 2
mov ax, 5
call fcn.510b0f6c
cmp edx, dword [ebp - 4]
jne 0x510b167a
cmp eax, dword [ebp - 8]
ja 0x510b1690
jmp 0x510b167c
jg 0x510b1690
mov dword [esi], 8
mov dword [edi], 2
mov eax, dword [ebp - 0xc]
mov byte [eax], 0x20
mov bl, 1
lea ecx, [ebp - 0x20c]
lea eax, [ebp - 0x40c]
mov edx, 0x200
call fcn.510b08fc
mov ecx, 0x510b175c
lea eax, [ebp - 0x40c]
mov edx, 0x200
call fcn.510b09c0
lea edx, [ebp - 8]
lea eax, [ebp - 0x40c]
call fcn.510b1768
call fcn.51016e18
test al, al
je 0x510b16e4
mov dword [esi], 9
xor eax, eax
mov dword [edi], eax
mov eax, dword [ebp - 0xc]
mov byte [eax], 0x20
mov bl, 1
test bl, bl
jne 0x510b16f6
xor eax, eax
mov dword [esi], eax
xor eax, eax
mov dword [edi], eax
mov eax, dword [ebp - 0xc]
mov byte [eax], 0x20
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret