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

Disassembly:
mov eax, 0x421a30
call fcn.00420f90
sub esp, 0x10
lea eax, [ebp + 8]
push ebx
push esi
push edi
test eax, eax
jne 0x40392a
push eax
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov esi, dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea eax, [ebp - 0x18]
push eax
push 3
pop ebx
push ebx
call esi
test eax, eax
je 0x403736
cmp byte [ebp - 0x17], 0x3a
jne 0x403736
movzx eax, byte [ebp - 0x18]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 0x10]
push eax
push ebx
call esi
test eax, eax
je 0x403752
cmp byte [ebp - 0xf], 0x3a
jne 0x403752
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 0x10]
push eax
push ebx
call esi
test eax, eax
je 0x40376e
cmp byte [ebp - 0xf], 0x3a
jne 0x40376e
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
mov edi, dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
lea eax, [ebp - 0x10]
push eax
call edi
test eax, eax
je 0x40378f
cmp byte [ebp - 0xf], 0x3a
jne 0x40378f
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp + 8]
cmp eax, 0x37
jne 0x403802
lea eax, [ebp - 0x10]
push eax
push ebx
call esi
test eax, eax
je 0x4037b3
cmp byte [ebp - 0xf], 0x3a
jne 0x4037b3
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 0x10]
push eax
push ebx
call esi
test eax, eax
je 0x4037cf
cmp byte [ebp - 0xf], 0x3a
jne 0x4037cf
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 0x10]
push eax
push ebx
call esi
test eax, eax
je 0x4037eb
cmp byte [ebp - 0xf], 0x3a
jne 0x4037eb
movzx eax, byte [ebp - 0x10]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
and byte [ebp - 0x12], 0
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 0x14], 0x42
mov byte [ebp - 0x13], 0x3a
call edi
jmp 0x4038c0
lea eax, [ebp - 0x14]
push eax
push ebx
call esi
test eax, eax
je 0x40381e
cmp byte [ebp - 0x13], 0x3a
jne 0x40381e
movzx eax, byte [ebp - 0x14]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 0x14]
push eax
call edi
test eax, eax
je 0x403839
cmp byte [ebp - 0x13], 0x3a
jne 0x403839
movzx eax, byte [ebp - 0x14]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp + 8]
cmp eax, 0x37
jne 0x403871
lea eax, [ebp - 0x14]
push eax
push ebx
call esi
test eax, eax
je 0x40385d
cmp byte [ebp - 0x13], 0x3a
jne 0x40385d
movzx eax, byte [ebp - 0x14]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
and byte [ebp - 0x1a], 0
lea eax, [ebp - 0x1c]
push eax
mov byte [ebp - 0x1c], 0x42
mov byte [ebp - 0x1b], 0x3a
call edi
jmp 0x403895
push 0
call dword [sym.imp.KERNEL32.dll_PulseEvent]
lea eax, [ebp - 0x14]
push eax
push ebx
call esi
test eax, eax
je 0x403895
cmp byte [ebp - 0x13], 0x3a
jne 0x403895
movzx eax, byte [ebp - 0x14]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 0x10]
push eax
push ebx
call esi
test eax, eax
je 0x4038b1
cmp byte [ebp - 0xf], 0x3a
jne 0x4038b1
movzx eax, byte [ebp - 0x10]
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 - 0x18]
push eax
call edi
test eax, eax
je 0x4038db
cmp byte [ebp - 0x17], 0x3a
jne 0x4038db
movzx eax, byte [ebp - 0x18]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp + 8]
cmp eax, 0x37
lea eax, [ebp - 0x18]
push eax
push ebx
jne 0x403913
call esi
test eax, eax
je 0x4038ff
cmp byte [ebp - 0x17], 0x3a
jne 0x4038ff
movzx eax, byte [ebp - 0x18]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
and byte [ebp - 0x1a], 0
lea eax, [ebp - 0x1c]
push eax
mov byte [ebp - 0x1c], 0x42
mov byte [ebp - 0x1b], 0x3a
call edi
jmp 0x40392a
call esi
test eax, eax
je 0x40392a
cmp byte [ebp - 0x17], 0x3a
jne 0x40392a
movzx eax, byte [ebp - 0x18]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push 0x20
lea ecx, [ebp - 0x1c]
pop ebx
mov dword [ebp - 0x18], 0x30
mov esi, ebx
call fcn.0040d2a8
mov edi, dword [ebp + 8]
and dword [ebp - 4], 0
push edi
push ebx
push 0x30
lea ecx, [ebp - 0x1c]
call fcn.0040d2d4
test eax, eax
jne 0x403a3e
push 0x18
lea ecx, [ebp - 0x1c]
pop esi
push edi
push esi
push 0x30
call fcn.0040d2d4
test eax, eax
jne 0x403a3e
push 8
lea ecx, [ebp - 0x1c]
pop esi
push edi
push esi
push 0x30
call fcn.0040d2d4
test eax, eax
jne 0x403a3e
push 4
lea ecx, [ebp - 0x1c]
pop esi
push edi
push esi
push 0x30
call fcn.0040d2d4
test eax, eax
jne 0x403a3e
push edi
push ebx
push ebx
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x18], ebx
mov esi, ebx
call fcn.0040d2d4
test eax, eax
jne 0x403a3e
push 0x18
lea ecx, [ebp - 0x1c]
pop esi
push edi
push esi
push ebx
call fcn.0040d2d4
test eax, eax
jne 0x403a3e
push 8
lea ecx, [ebp - 0x1c]
pop esi
push edi
push esi
push ebx
call fcn.0040d2d4
test eax, eax
jne 0x403a3e
push 4
lea ecx, [ebp - 0x1c]
pop esi
push edi
push esi
push ebx
call fcn.0040d2d4
test eax, eax
jne 0x403a3e
push 0x10
lea ecx, [ebp - 0x1c]
pop eax
mov esi, ebx
push edi
push ebx
push eax
mov dword [ebp - 0x18], eax
call fcn.0040d2d4
test eax, eax
jne 0x403a3e
push 0x18
lea ecx, [ebp - 0x1c]
pop esi
push edi
push esi
push 0x10
call fcn.0040d2d4
test eax, eax
jne 0x403a3e
push 8
lea ecx, [ebp - 0x1c]
pop esi
push edi
push esi
push 0x10
call fcn.0040d2d4
test eax, eax
jne 0x403a3e
push 4
lea ecx, [ebp - 0x1c]
pop esi
push edi
push esi
push 0x10
call fcn.0040d2d4
test eax, eax
jne 0x403a3e
xor esi, esi
and dword [ebp - 0x10], 0
and dword [ebp - 0x14], 0
test esi, esi
je 0x403a7a
lea eax, [ebp - 0x14]
lea ecx, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x10]
push eax
push edi
push esi
push dword [ebp - 0x18]
call fcn.0040d312
test eax, eax
je 0x403a7a
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + 0x10]
push eax
push dword [ebp - 0x10]
mov dword [ecx], eax
push dword [ebp + 0xc]
call sub.MSVCRT.dll_memcpy
add esp, 0xc
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c]
call fcn.0040d2cd
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 0xc