Function at 0x409b85
Capabilities:
Get common file path
Set current directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x74
lea eax, [ebp + 0xc]
push ebx
push esi
push edi
test eax, eax
jne 0x409db9
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov esi, dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea eax, [ebp - 0xc]
push eax
push 3
pop edi
push edi
call esi
test eax, eax
je 0x409bc5
cmp byte [ebp - 0xb], 0x3a
jne 0x409bc5
movzx eax, byte [ebp - 0xc]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 4]
push eax
push edi
call esi
test eax, eax
je 0x409be1
cmp byte [ebp - 3], 0x3a
jne 0x409be1
movzx eax, byte [ebp - 4]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 4]
push eax
push edi
call esi
test eax, eax
je 0x409bfd
cmp byte [ebp - 3], 0x3a
jne 0x409bfd
movzx eax, byte [ebp - 4]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
mov ebx, dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
lea eax, [ebp - 4]
push eax
call ebx
test eax, eax
je 0x409c1e
cmp byte [ebp - 3], 0x3a
jne 0x409c1e
movzx eax, byte [ebp - 4]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp + 0xc]
cmp eax, 0x37
jne 0x409c91
lea eax, [ebp - 4]
push eax
push edi
call esi
test eax, eax
je 0x409c42
cmp byte [ebp - 3], 0x3a
jne 0x409c42
movzx eax, byte [ebp - 4]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 4]
push eax
push edi
call esi
test eax, eax
je 0x409c5e
cmp byte [ebp - 3], 0x3a
jne 0x409c5e
movzx eax, byte [ebp - 4]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 4]
push eax
push edi
call esi
test eax, eax
je 0x409c7a
cmp byte [ebp - 3], 0x3a
jne 0x409c7a
movzx eax, byte [ebp - 4]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
and byte [ebp - 6], 0
lea eax, [ebp - 8]
push eax
mov byte [ebp - 8], 0x42
mov byte [ebp - 7], 0x3a
call ebx
jmp 0x409d4f
lea eax, [ebp - 8]
push eax
push edi
call esi
test eax, eax
je 0x409cad
cmp byte [ebp - 7], 0x3a
jne 0x409cad
movzx eax, byte [ebp - 8]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 8]
push eax
call ebx
test eax, eax
je 0x409cc8
cmp byte [ebp - 7], 0x3a
jne 0x409cc8
movzx eax, byte [ebp - 8]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp + 0xc]
cmp eax, 0x37
jne 0x409d00
lea eax, [ebp - 8]
push eax
push edi
call esi
test eax, eax
je 0x409cec
cmp byte [ebp - 7], 0x3a
jne 0x409cec
movzx eax, byte [ebp - 8]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
and byte [ebp - 0xe], 0
lea eax, [ebp - 0x10]
push eax
mov byte [ebp - 0x10], 0x42
mov byte [ebp - 0xf], 0x3a
call ebx
jmp 0x409d24
push 0
call dword [sym.imp.KERNEL32.dll_PulseEvent]
lea eax, [ebp - 8]
push eax
push edi
call esi
test eax, eax
je 0x409d24
cmp byte [ebp - 7], 0x3a
jne 0x409d24
movzx eax, byte [ebp - 8]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 4]
push eax
push edi
call esi
test eax, eax
je 0x409d40
cmp byte [ebp - 3], 0x3a
jne 0x409d40
movzx eax, byte [ebp - 4]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push 0
push 1
push 0xc8d
call dword [sym.imp.KERNEL32.dll_OpenEventA]
lea eax, [ebp - 0xc]
push eax
call ebx
test eax, eax
je 0x409d6a
cmp byte [ebp - 0xb], 0x3a
jne 0x409d6a
movzx eax, byte [ebp - 0xc]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp + 0xc]
cmp eax, 0x37
lea eax, [ebp - 0xc]
push eax
push edi
jne 0x409da2
call esi
test eax, eax
je 0x409d8e
cmp byte [ebp - 0xb], 0x3a
jne 0x409d8e
movzx eax, byte [ebp - 0xc]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
and byte [ebp - 0xe], 0
lea eax, [ebp - 0x10]
push eax
mov byte [ebp - 0x10], 0x42
mov byte [ebp - 0xf], 0x3a
call ebx
jmp 0x409db9
call esi
test eax, eax
je 0x409db9
cmp byte [ebp - 0xb], 0x3a
jne 0x409db9
movzx eax, byte [ebp - 0xc]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push 0
push 0x70
push 0x6f
push 0x74
push 0x6b
push 0x73
push 0x65
lea eax, [ebp - 0x74]
pop ebx
push ebx
push 0x64
push eax
call fcn.004047d8
lea eax, [ebp - 0x74]
push eax
mov eax, dword [0x4293d0]
push dword [ebp + 0xc]
call dword [eax + 0x1e0]
add esp, 0x2c
test eax, eax
jne 0x409df4
xor eax, eax
jmp 0x40a3dd
push 0
push 0xe6
push 0xc3
push 0xc0
lea eax, [ebp - 0x74]
push 0xd7
push eax
call fcn.004047d8
lea eax, [ebp - 0x74]
push eax
mov eax, dword [0x4293d0]
push dword [ebp + 0xc]
call dword [eax + 0x1e0]
add esp, 0x20
test eax, eax
je 0x409ded
push 0
push 0x5c
pop esi
lea eax, [ebp - 0x74]
push esi
push 0x70
push 0x6d
push ebx
push 0x74
push esi
push eax
call fcn.004047d8
mov edi, dword [ebp + 8]
lea eax, [ebp - 0x74]
push eax
mov eax, dword [0x4293d0]
push edi
call dword [eax + 0x1e4]
add esp, 0x28
test eax, eax
jne 0x409ded
push eax
push esi
push 0x73
push 0x77
push 0x6f
push 0x64
push 0x6e
push 0x69
push 0x77
push esi
lea eax, [ebp - 0x74]
push 0x3a
push eax
call fcn.004047d8
lea eax, [ebp - 0x74]
push eax
mov eax, dword [0x4293d0]
push edi
call dword [eax + 0x1e4]
add esp, 0x38
test eax, eax
jne 0x409ded
push eax
push 0x66
push ebx
push 0x69
push 0x68
push 0x74
push 0x74
push ebx
lea eax, [ebp - 0x74]
push 0x6e
push eax
call fcn.004047d8
lea eax, [ebp - 0x74]
push eax
mov eax, dword [0x4293d0]
push edi
call dword [eax + 0x1e4]
add esp, 0x30
test eax, eax
jne 0x409ded
push eax
push 0x72
push ebx
push 0x64
push 0x6e
push 0x69
push 0x62
push ebx
push 0x78
lea eax, [ebp - 0x74]
push ebx
push eax
call fcn.004047d8
lea eax, [ebp - 0x74]
push eax
mov eax, dword [0x4293d0]
push edi
call dword [eax + 0x1e4]
add esp, 0x34
test eax, eax
jne 0x409ded
push eax
push 0x71
push 0x71
lea eax, [ebp - 0x74]
push esi
push eax
call fcn.004047d8
lea eax, [ebp - 0x74]
push eax
mov eax, dword [0x4293d0]
push edi
call dword [eax + 0x1e4]
add esp, 0x1c
test eax, eax
jne 0x409ded
push eax
push 0x6f
push 0x69
push 0x64
push 0x75
push 0x74
push 0x73
push 0x20
push 0x6c
push 0x61
push 0x75
push 0x73
push 0x69
lea eax, [ebp - 0x74]
push 0x76
push eax
call fcn.004047d8
lea eax, [ebp - 0x74]
push eax
mov eax, dword [0x4293d0]
push edi
call dword [eax + 0x1e4]
add esp, 0x44
test eax, eax
jne 0x409ded
push eax
push esi
push ebx
push 0x63
push 0x69
push 0x66
push 0x66
push 0x6f
push 0x20
push 0x74
push 0x66
push 0x6f
push 0x73
push 0x6f
push 0x72
push 0x63
push 0x69
push 0x6d
lea eax, [ebp - 0x74]
push esi
push eax
call fcn.004047d8
lea eax, [ebp - 0x74]
push eax
mov eax, dword [0x4293d0]
push edi
call dword [eax + 0x1e4]
add esp, 0x58
test eax, eax
jne 0x409ded
push eax
push esi
push 0x72
push ebx
push 0x64
push 0x6e
push 0x75
push 0x68
push 0x74
lea eax, [ebp - 0x74]
push esi
push eax
call fcn.004047d8
lea eax, [ebp - 0x74]
push eax
mov eax, dword [0x4293d0]
push edi
call dword [eax + 0x1e4]
add esp, 0x34
test eax, eax
jne 0x409ded
push eax
push esi
push 0x30
push 0x36
push 0x33
lea eax, [ebp - 0x74]
push esi
push eax
call fcn.004047d8
lea eax, [ebp - 0x74]
push eax
mov eax, dword [0x4293d0]
push edi
call dword [eax + 0x1e4]
add esp, 0x24
test eax, eax
jne 0x409ded
push eax
push esi
push 0x67
push 0x6e
push 0x61
push 0x77
push 0x67
push 0x6e
push 0x61
push 0x77
push 0x69
push 0x6c
push 0x61
lea eax, [ebp - 0x74]
push esi
push eax
call fcn.004047d8
lea eax, [ebp - 0x74]
push eax
mov eax, dword [0x4293d0]
push edi
call dword [eax + 0x1e4]
add esp, 0x44
test eax, eax
jne 0x409ded
push eax
push esi
push 0x72
push ebx
push 0x72
push 0x6f
push 0x6c
push 0x70
push 0x78
push ebx
push 0x20
push 0x74
push ebx
push 0x6e
push 0x72
push ebx
push 0x74
push 0x6e
push 0x69
lea eax, [ebp - 0x74]
push esi
push eax
call fcn.004047d8
lea eax, [ebp - 0x74]
push eax
mov eax, dword [0x4293d0]
push edi
call dword [eax + 0x1e4]
add esp, 0x5c
test eax, eax
jne 0x409ded
push eax
push esi
push 0x73
push 0x73
push ebx
push 0x72
push 0x70
push 0x78
push ebx
push 0x20
push 0x6b
push 0x6f
push 0x6f
push 0x6c
push 0x74
push 0x75
push 0x6f
lea eax, [ebp - 0x74]
push esi
push eax
call fcn.004047d8
lea eax, [ebp - 0x74]
push eax
mov eax, dword [0x4293d0]
push edi
call dword [eax + 0x1e4]
add esp, 0x54
test eax, eax
jne 0x409ded
push eax
push esi
push 0x72
push ebx
push 0x76
push 0x72
push ebx
push 0x73
push 0x20
push 0x6c
push 0x71
push 0x73
push 0x20
push 0x74
push 0x66
push 0x6f
push 0x73
push 0x6f
push 0x72
push 0x63
push 0x69
push 0x6d
lea eax, [ebp - 0x74]
push esi
push eax
call fcn.004047d8
lea eax, [ebp - 0x74]
push eax
mov eax, dword [0x4293d0]
push edi
call dword [eax + 0x1e4]
add esp, 0x68
test eax, eax
jne 0x409ded
push eax
push esi
push 0x72
push ebx
push 0x67
push 0x6e
push ebx
push 0x73
push 0x73
push ebx
push 0x6d
push esi
push ebx
push 0x76
push 0x69
push 0x6c
push 0x20
push 0x73
push 0x77
push 0x6f
push 0x64
push 0x6e
push 0x69
push 0x77
lea eax, [ebp - 0x74]
push esi
push eax
call fcn.004047d8
lea eax, [ebp - 0x74]
push eax
mov eax, dword [0x4293d0]
push edi
call dword [eax + 0x1e4]
add esp, 0x70
test eax, eax
jne 0x409ded
push eax
push esi
push 0x70
push 0x69
push 0x7a
push 0x6e
push 0x69
push 0x77
lea eax, [ebp - 0x74]
push esi
push eax
call fcn.004047d8
lea eax, [ebp - 0x74]
push eax
mov eax, dword [0x4293d0]
push edi
call dword [eax + 0x1e4]
add esp, 0x30
test eax, eax
jne 0x409ded
push eax
push esi
push 0x72
push 0x61
push 0x72
push 0x6e
push 0x69
push 0x77
lea eax, [ebp - 0x74]
push esi
push eax
call fcn.004047d8
lea eax, [ebp - 0x74]
push eax
mov eax, dword [0x4293d0]
push edi
call dword [eax + 0x1e4]
add esp, 0x30
test eax, eax
jne 0x409ded
push eax
push esi
push ebx
push 0x6d
push 0x61
push 0x67
push esi
push 0x6b
push 0x6e
push 0x69
push 0x6c
push 0x6c
push 0x61
push 0x62
push 0x6f
push 0x6c
push 0x67
lea eax, [ebp - 0x74]
push esi
push eax
call fcn.004047d8
lea eax, [ebp - 0x74]
push eax
mov eax, dword [0x4293d0]
push edi
call dword [eax + 0x1e4]
add esp, 0x54
test eax, eax
jne 0x409ded
push eax
push esi
push 0x72
push 0x6f
push 0x74
push 0x63
push 0x6f
push 0x64
push 0x71
push 0x71
lea eax, [ebp - 0x74]
push esi
push eax
call fcn.004047d8
lea eax, [ebp - 0x74]
push eax
mov eax, dword [0x4293d0]
push edi
call dword [eax + 0x1e4]
add esp, 0x38
test eax, eax
jne 0x409ded
push eax
push esi
push 0x67
push 0x6e
push 0x69
push 0x73
push 0x69
push 0x72
lea eax, [ebp - 0x74]
push esi
push eax
call fcn.004047d8
lea eax, [ebp - 0x74]
push eax
mov eax, dword [0x4293d0]
push edi
call dword [eax + 0x1e4]
add esp, 0x30
test eax, eax
jne 0x409ded
push eax
push 0x78
push 0x6f
push 0x66
push ebx
push 0x72
push 0x69
push 0x66
lea eax, [ebp - 0x74]
push esi
push eax
call fcn.004047d8
lea eax, [ebp - 0x74]
push eax
mov eax, dword [0x4293d0]
push edi
call dword [eax + 0x1e4]
add esp, 0x30
test eax, eax
jne 0x409ded
push eax
push ebx
push 0x78
push ebx
push 0x2e
push 0x6d
push 0x69
push 0x69
push 0x6c
push 0x61
lea eax, [ebp - 0x74]
push esi
push eax
call fcn.004047d8
lea eax, [ebp - 0x74]
push eax
mov eax, dword [0x4293d0]
push edi
call dword [eax + 0x1e4]
add esp, 0x38
test eax, eax
jne 0x409ded
push eax
push esi
push 0x61
push 0x72
push 0x69
push 0x76
push 0x61
lea eax, [ebp - 0x74]
push esi
push eax
call fcn.004047d8
lea eax, [ebp - 0x74]
push eax
mov eax, dword [0x4293d0]
push edi
call dword [eax + 0x1e4]
add esp, 0x2c
test eax, eax
jne 0x409ded
push eax
push esi
push 0x74
push 0x66
push 0x61
push 0x72
push 0x63
push 0x72
push 0x61
push 0x77
push 0x20
push 0x66
push 0x6f
push 0x20
push 0x64
push 0x6c
push 0x72
push 0x6f
push 0x77
lea eax, [ebp - 0x74]
push esi
push eax
call fcn.004047d8
lea eax, [ebp - 0x74]
push eax
mov eax, dword [0x4293d0]
push edi
call dword [eax + 0x1e4]
add esp, 0x5c
test eax, eax
jne 0x409ded
push eax
push esi
push 0x74
push ebx
push 0x6e
push 0x79
push 0x6b
push 0x73
lea eax, [ebp - 0x74]
push esi
push eax
call fcn.004047d8
lea eax, [ebp - 0x74]
push eax
mov eax, dword [0x4293d0]
push edi
call dword [eax + 0x1e4]
add esp, 0x30
test eax, eax
jne 0x409ded
push eax
push esi
push 0x73
push 0x75
push 0x72
push 0x69
push 0x76
push 0x69
push 0x74
push 0x6e
push 0x61
push 0x20
push 0x32
push 0x33
push 0x64
push 0x6f
push 0x6e
push 0x20
push 0x74
push ebx
push 0x73
push ebx
lea eax, [ebp - 0x74]
push esi
push eax
call fcn.004047d8
lea eax, [ebp - 0x74]
push eax
mov eax, dword [0x4293d0]
push edi
call dword [eax + 0x1e4]
add esp, 0x68
neg eax
sbb eax, eax
inc eax
pop edi
pop esi
pop ebx
leave
ret 8