Function at 0x1001f560
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1005742e
mov eax, dword fs:[0]
push eax
push ecx
sub esp, 0x264
mov eax, dword [0x10076008]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x1c8], ecx
lea ecx, [ebp - 0x84]
call fcn.10005620
mov dword [ebp - 4], 0
lea ecx, [ebp - 0xcc]
call fcn.10005620
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xe4]
call fcn.10005620
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xb4]
call fcn.10005620
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x6c]
call fcn.10005620
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x9c]
call fcn.10005620
mov byte [ebp - 4], 5
mov dword [ebp - 0x1ac], 0
push 0x40
push 0
lea eax, [ebp - 0x54]
push eax
call fcn.10033d10
add esp, 0xc
push 0x40
lea ecx, [ebp - 0x54]
push ecx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
test eax, eax
je 0x1001f63a
mov edx, 1
imul eax, edx, 0
movsx ecx, byte [ebp + eax - 0x54]
push ecx
call fcn.100417a5
add esp, 4
mov byte [ebp - 0x1a5], al
jmp 0x1001f64e
mov edx, dword [ebp - 0x1c8]
mov eax, dword [edx]
mov cl, byte [eax + 0x69de]
mov byte [ebp - 0x1a5], cl
push str.wc_except.ini
movsx edx, byte [ebp - 0x1a5]
push edx
push 0x1006dbf0
lea eax, [ebp - 0x1a4]
push eax
call fcn.1002eaa0
add esp, 0x10
mov dword [ebp - 0x1d0], eax
mov ecx, dword [ebp - 0x1d0]
push ecx
lea ecx, [ebp - 0x84]
call fcn.100054a0
lea ecx, [ebp - 0x1a4]
call fcn.10005450
push str.wc_except_Tmp.ini
movsx edx, byte [ebp - 0x1a5]
push edx
push 0x1006dc24
lea eax, [ebp - 0x18c]
push eax
call fcn.1002eaa0
add esp, 0x10
mov dword [ebp - 0x1d4], eax
mov ecx, dword [ebp - 0x1d4]
push ecx
lea ecx, [ebp - 0xcc]
call fcn.100054a0
lea ecx, [ebp - 0x18c]
call fcn.10005450
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x260], esp
lea edx, [ebp - 0x84]
push edx
call fcn.10005670
call fcn.10009b10
add esp, 0x18
mov byte [ebp - 0x1ad], al
movzx eax, byte [ebp - 0x1ad]
test eax, eax
jne 0x1001f7df
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x25c], esp
lea edx, [ebp - 0xcc]
push edx
call fcn.10005670
call fcn.10009b10
add esp, 0x18
mov byte [ebp - 0x1ae], al
movzx eax, byte [ebp - 0x1ae]
test eax, eax
je 0x1001f780
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x258], esp
lea edx, [ebp - 0x84]
push edx
call fcn.10005670
mov dword [ebp - 0x254], eax
mov byte [ebp - 4], 6
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x24c], esp
lea eax, [ebp - 0xcc]
push eax
call fcn.10005670
mov byte [ebp - 4], 5
call fcn.10009f80
add esp, 0x30
jmp 0x1001f7df
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x9c]
call fcn.10005450
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x6c]
call fcn.10005450
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xb4]
call fcn.10005450
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xe4]
call fcn.10005450
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xcc]
call fcn.10005450
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x84]
call fcn.10005450
jmp 0x1001fe1d
push 8
call fcn.1002fa83
add esp, 4
mov dword [ebp - 0x1c0], eax
mov byte [ebp - 4], 7
cmp dword [ebp - 0x1c0], 0
je 0x1001f80f
mov ecx, dword [ebp - 0x1c0]
call fcn.10022500
mov dword [ebp - 0x1c4], eax
jmp 0x1001f819
mov dword [ebp - 0x1c4], 0
mov ecx, dword [ebp - 0x1c4]
mov dword [ebp - 0x1d8], ecx
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x1d8]
mov dword [ebp - 0x1ac], edx
mov ecx, dword [ebp - 0x1ac]
call fcn.100222f0
push str.Exception
lea ecx, [ebp - 0xe4]
call fcn.100053c0
mov dword [ebp - 0x1b8], 1
mov eax, 1
test eax, eax
je 0x1001f9d1
mov ecx, dword [ebp - 0x1b8]
push ecx
push 0x1006dc48
lea edx, [ebp - 0x174]
push edx
call fcn.1002eaa0
add esp, 0xc
mov dword [ebp - 0x1dc], eax
mov eax, dword [ebp - 0x1dc]
push eax
lea ecx, [ebp - 0xb4]
call fcn.100054a0
lea ecx, [ebp - 0x174]
call fcn.10005450
push 0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x248], esp
push 0x1006dc50
call fcn.100055b0
mov dword [ebp - 0x244], eax
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x6c]
push ecx
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x240], esp
lea edx, [ebp - 0xb4]
push edx
call fcn.10005670
mov dword [ebp - 0x23c], eax
mov byte [ebp - 4], 9
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x22c], esp
lea eax, [ebp - 0xe4]
push eax
call fcn.10005670
mov dword [ebp - 0x250], eax
mov byte [ebp - 4], 0xa
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x264], esp
lea edx, [ebp - 0x84]
push edx
call fcn.10005670
lea eax, [ebp - 0x15c]
push eax
mov byte [ebp - 4], 5
call fcn.10009950
add esp, 0x6c
mov dword [ebp - 0x268], eax
lea ecx, [ebp - 0x15c]
call fcn.10005450
push 0x1006dc54
lea ecx, [ebp - 0x6c]
push ecx
call fcn.10008750
add esp, 8
movzx edx, al
test edx, edx
je 0x1001f961
jmp 0x1001f9d1
lea ecx, [ebp - 0x6c]
call fcn.10005370
push eax
movsx eax, byte [ebp + 8]
push eax
push 0x1006dc58
lea ecx, [ebp - 0x144]
push ecx
call fcn.1002eaa0
add esp, 0x10
mov dword [ebp - 0x1e0], eax
mov edx, dword [ebp - 0x1e0]
push edx
lea ecx, [ebp - 0x9c]
call fcn.100054a0
lea ecx, [ebp - 0x144]
call fcn.10005450
lea eax, [ebp - 0x9c]
push eax
mov ecx, dword [ebp - 0x1ac]
call fcn.100223b0
mov ecx, dword [ebp - 0x1b8]
add ecx, 1
mov dword [ebp - 0x1b8], ecx
call fcn.1000a2a0
jmp 0x1001f85a
mov dword [ebp - 0x1b8], 1
mov edx, 1
test edx, edx
je 0x1001fd05
mov eax, dword [ebp - 0x1b8]
push eax
push 0x1006dc68
lea ecx, [ebp - 0x12c]
push ecx
call fcn.1002eaa0
add esp, 0xc
mov dword [ebp - 0x1e4], eax
mov edx, dword [ebp - 0x1e4]
push edx
lea ecx, [ebp - 0xb4]
call fcn.100054a0
lea ecx, [ebp - 0x12c]
call fcn.10005450
push 0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x26c], esp
push 0x1006dc70
call fcn.100055b0
mov dword [ebp - 0x270], eax
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0x6c]
push eax
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1fc], esp
lea edx, [ebp - 0xb4]
push edx
call fcn.10005670
mov dword [ebp - 0x200], eax
mov byte [ebp - 4], 0xc
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x204], esp
lea eax, [ebp - 0xe4]
push eax
call fcn.10005670
mov dword [ebp - 0x208], eax
mov byte [ebp - 4], 0xd
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x20c], esp
lea edx, [ebp - 0x84]
push edx
call fcn.10005670
lea eax, [ebp - 0x114]
push eax
mov byte [ebp - 4], 5
call fcn.10009950
add esp, 0x6c
mov dword [ebp - 0x210], eax
lea ecx, [ebp - 0x114]
call fcn.10005450
push 0x1006dc74
lea ecx, [ebp - 0x6c]
push ecx
call fcn.10008750
add esp, 8
movzx edx, al
test edx, edx
je 0x1001fae5
jmp 0x1001fd05
lea eax, [ebp - 0x6c]
push eax
lea ecx, [ebp - 0x9c]
call fcn.100053e0
lea ecx, [ebp - 0x9c]
call fcn.10005370
push eax
movsx ecx, byte [ebp + 8]
push ecx
push 0x1006dc78
lea edx, [ebp - 0xfc]
push edx
call fcn.1002eaa0
add esp, 0x10
mov dword [ebp - 0x1e8], eax
mov eax, dword [ebp - 0x1e8]
push eax
lea ecx, [ebp - 0x6c]
call fcn.100054a0
lea ecx, [ebp - 0xfc]
call fcn.10005450
mov byte [ebp - 4], 0xe
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x214], esp
lea edx, [ebp - 0x6c]
push edx
call fcn.10005670
call fcn.100093a0
add esp, 0x18
mov byte [ebp - 0x1af], al
movzx eax, byte [ebp - 0x1af]
test eax, eax
je 0x1001fb95
mov ecx, dword [ebp - 0x1ac]
push ecx
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x218], esp
lea edx, [ebp - 0x6c]
push edx
call fcn.10005670
mov ecx, dword [ebp - 0x1c8]
call fcn.1001fe70
jmp 0x1001fcc0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x21c], esp
lea eax, [ebp - 0x6c]
push eax
call fcn.10005670
call fcn.10009b10
add esp, 0x18
mov byte [ebp - 0x1b0], al
movzx ecx, byte [ebp - 0x1b0]
test ecx, ecx
je 0x1001fcc0
lea ecx, [ebp - 0x1bc]
call fcn.100222d0
mov byte [ebp - 0x1a6], 0
lea edx, [ebp - 0x220]
push edx
mov ecx, dword [ebp - 0x1ac]
call fcn.10022440
mov eax, dword [eax]
mov dword [ebp - 0x1bc], eax
jmp 0x1001fc08
push 0
lea ecx, [ebp - 0x224]
push ecx
lea ecx, [ebp - 0x1bc]
call fcn.10022280
lea edx, [ebp - 0x228]
push edx
mov ecx, dword [ebp - 0x1ac]
call fcn.100223e0
push eax
lea ecx, [ebp - 0x1bc]
call fcn.10022240
mov byte [ebp - 0x1b1], al
movzx eax, byte [ebp - 0x1b1]
test eax, eax
je 0x1001fc78
lea ecx, [ebp - 0x1bc]
call fcn.100222b0
mov dword [ebp - 0x1f8], eax
lea ecx, [ebp - 0x6c]
push ecx
mov edx, dword [ebp - 0x1f8]
push edx
call fcn.10006fb0
add esp, 8
mov dword [ebp - 0x1f4], eax
cmp dword [ebp - 0x1f4], 0
jne 0x1001fc73
mov byte [ebp - 0x1a6], 1
jmp 0x1001fc78
jmp 0x1001fbf4
movzx eax, byte [ebp - 0x1a6]
test eax, eax
jne 0x1001fcc0
push 0x80
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x274], esp
lea edx, [ebp - 0x6c]
push edx
call fcn.10005670
call fcn.10009e20
add esp, 0x1c
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x230], esp
lea eax, [ebp - 0x6c]
push eax
call fcn.10005670
call fcn.10009ca0
add esp, 0x18
jmp 0x1001fcdc
mov dword [ebp - 4], 5
jmp 0x1001fcec
mov ecx, dword [ebp - 0x1b8]
add ecx, 1
mov dword [ebp - 0x1b8], ecx
call fcn.1000a2a0
jmp 0x1001f9db
cmp dword [ebp - 0x1ac], 0
je 0x1001fd4e
mov edx, dword [ebp - 0x1ac]
mov dword [ebp - 0x1f0], edx
mov eax, dword [ebp - 0x1f0]
mov dword [ebp - 0x1cc], eax
cmp dword [ebp - 0x1cc], 0
je 0x1001fd44
push 1
mov ecx, dword [ebp - 0x1cc]
call fcn.1001fe40
mov dword [ebp - 0x1ec], eax
jmp 0x1001fd4e
mov dword [ebp - 0x1ec], 0
mov dword [ebp - 0x1ac], 0
call fcn.1000a2a0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x234], esp
lea edx, [ebp - 0x84]
push edx
call fcn.10005670
call fcn.10009b10
add esp, 0x18
mov byte [ebp - 0x1b2], al
movzx eax, byte [ebp - 0x1b2]
test eax, eax
je 0x1001fdac
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x238], esp
lea edx, [ebp - 0x84]
push edx
call fcn.10005670
call fcn.10009ca0
add esp, 0x18
call fcn.1000a2a0
movzx eax, byte [ebp + 8]
push eax
call fcn.1002e390
add esp, 4
call fcn.1000a2a0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x9c]
call fcn.10005450
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x6c]
call fcn.10005450
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xb4]
call fcn.10005450
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xe4]
call fcn.10005450
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xcc]
call fcn.10005450
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x84]
call fcn.10005450
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.1002fa64
mov esp, ebp
pop ebp
ret 4