Function at 0x409d74
Capabilities:
Get common file path

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0x928
call fcn.00439fe8
cmp eax, 1
je 0x409d95
xor eax, eax
add esp, 0x928
pop ebx
pop ebp
pop esi
pop edi
ret
xor ebp, ebp
xor ebx, ebx
xor eax, eax
mov dword [esp + 0xc], eax
xor edx, edx
xor ecx, ecx
mov dword [esp + 8], edx
xor esi, esi
lea edi, [esp + 0x10]
mov dword [esp + 4], ecx
mov dword [esp], esi
push 0x104
push edi
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
lea eax, [esp + 0x114]
push 0x104
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
lea eax, [esp + 0x218]
push 0x104
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
lea edi, [esp + 0x10]
mov edx, 0x497c88
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x409df9
lea edi, [esp + 0x114]
mov edx, 0x497c94
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x409e19
lea edi, [esp + 0x218]
mov edx, 0x497ca8
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x409e39
lea edx, [esp + 0x10]
lea eax, [esp + 0x31c]
push 0xfe
push eax
push edx
call fcn.0040a36c
lea edx, [esp + 0x120]
lea eax, [esp + 0x428]
push 0xfe
push eax
push edx
call fcn.0040a36c
lea edx, [esp + 0x230]
lea eax, [esp + 0x534]
push 0xfe
push eax
push edx
call fcn.0040a36c
add esp, 0x24
lea edi, [esp + 0x31c]
mov esi, 0x497cbc
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x409ebd
or dl, dl
je 0x409eb9
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x409ebd
add edi, 2
add esi, 2
or dl, dl
jne 0x409e9d
xor eax, eax
jmp 0x409ec2
sbb eax, eax
or eax, 1
test eax, eax
jne 0x409ecb
mov ebp, 1
lea edi, [esp + 0x31c]
mov esi, 0x497cc4
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x409ef7
or dl, dl
je 0x409ef3
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x409ef7
add edi, 2
add esi, 2
or dl, dl
jne 0x409ed7
xor eax, eax
jmp 0x409efc
sbb eax, eax
or eax, 1
test eax, eax
jne 0x409f05
mov ebp, 1
lea edi, [esp + 0x41c]
mov esi, 0x497ccc
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x409f31
or dl, dl
je 0x409f2d
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x409f31
add edi, 2
add esi, 2
or dl, dl
jne 0x409f11
xor eax, eax
jmp 0x409f36
sbb eax, eax
or eax, 1
test eax, eax
jne 0x409f3f
mov ebx, 1
lea edi, [esp + 0x51c]
mov esi, 0x497cd8
mov dl, byte [edi]
cmp dl, byte [esi]
jne 0x409f6b
or dl, dl
je 0x409f67
mov dl, byte [edi + 1]
cmp dl, byte [esi + 1]
jne 0x409f6b
add edi, 2
add esi, 2
or dl, dl
jne 0x409f4b
xor eax, eax
jmp 0x409f70
sbb eax, eax
or eax, 1
test eax, eax
jne 0x409f7d
mov eax, 1
mov dword [esp + 0xc], eax
call fcn.0040a424
movzx eax, al
test eax, eax
je 0x409f92
mov eax, 1
mov dword [esp + 8], eax
test ebp, ebp
je 0x409fd0
test ebx, ebx
je 0x409fd0
mov eax, dword [esp + 0xc]
test eax, eax
je 0x409fd0
mov eax, dword [esp + 8]
test eax, eax
je 0x409fd0
call fcn.0040a540
test eax, eax
je 0x409fbc
mov eax, 1
mov dword [esp + 4], eax
call fcn.0040a694
movzx eax, al
test eax, eax
je 0x409fd0
mov eax, 1
mov dword [esp], eax
movzx eax, byte [esp + 0x93c]
test eax, eax
je 0x40a333
lea esi, [esp + 0x61c]
lea edi, [esp + 0x10]
mov dl, byte [edi]
inc edi
mov byte [esi], dl
inc esi
test dl, dl
jne 0x409feb
lea edi, [esp + 0x61c]
mov edx, 0x497ce0
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x40a00b
lea edi, [esp + 0x61c]
lea edx, [esp + 0x31c]
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x40a02d
lea edi, [esp + 0x61c]
mov edx, 0x497510
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x40a04d
lea edi, [esp + 0x61c]
lea edx, [esp + 0x114]
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x40a06f
lea edi, [esp + 0x61c]
mov edx, 0x497ce0
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x40a08f
lea edi, [esp + 0x61c]
lea edx, [esp + 0x41c]
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x40a0b1
lea edi, [esp + 0x61c]
mov edx, 0x497510
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x40a0d1
lea edi, [esp + 0x61c]
lea edx, [esp + 0x218]
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x40a0f3
lea edi, [esp + 0x61c]
mov edx, 0x497ce0
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x40a113
lea edi, [esp + 0x61c]
lea edx, [esp + 0x51c]
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x40a135
lea edi, [esp + 0x61c]
mov edx, 0x497510
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x40a155
lea edi, [esp + 0x61c]
mov edx, 0x497510
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x40a175
mov eax, dword [esp + 8]
test eax, eax
je 0x40a1c9
lea edi, [esp + 0x61c]
mov edx, 0x497cec
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x40a19d
lea edi, [esp + 0x61c]
mov edx, 0x497510
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x40a1bd
jmp 0x40a209
lea edi, [esp + 0x61c]
mov edx, 0x497d04
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x40a1df
lea edi, [esp + 0x61c]
mov edx, 0x497510
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x40a1ff
mov eax, dword [esp]
test eax, eax
je 0x40a252
lea edi, [esp + 0x61c]
mov edx, 0x497d20
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x40a226
lea edi, [esp + 0x61c]
mov edx, 0x497510
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x40a246
jmp 0x40a292
lea edi, [esp + 0x61c]
mov edx, 0x497d48
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x40a268
lea edi, [esp + 0x61c]
mov edx, 0x497510
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x40a288
mov eax, dword [esp + 4]
test eax, eax
je 0x40a2dc
lea edi, [esp + 0x61c]
mov edx, 0x497d74
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x40a2b0
lea edi, [esp + 0x61c]
mov edx, 0x497510
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x40a2d0
jmp 0x40a31c
lea edi, [esp + 0x61c]
mov edx, 0x497d94
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x40a2f2
lea edi, [esp + 0x61c]
mov edx, 0x497510
mov ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
dec edi
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
test al, al
jne 0x40a312
xor edx, edx
lea eax, [esp + 0x61c]
push edx
push 0x497db0
push eax
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
test ebp, ebp
je 0x409d88
test ebx, ebx
je 0x409d88
mov eax, dword [esp + 0xc]
test eax, eax
je 0x409d88
mov eax, dword [esp + 8]
test eax, eax
je 0x409d88
mov eax, 1
add esp, 0x928
pop ebx
pop ebp
pop esi
pop edi
ret