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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
mov ebx, ecx
lea eax, [ebp - 0x10]
push esi
test eax, eax
push edi
mov dword [ebx], 0x4230b4
jne 0x40b888
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
call esi
test eax, eax
je 0x40b68a
cmp byte [ebp - 0xb], 0x3a
jne 0x40b68a
movzx eax, byte [ebp - 0xc]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 4]
push eax
push 3
call esi
test eax, eax
je 0x40b6a7
cmp byte [ebp - 3], 0x3a
jne 0x40b6a7
movzx eax, byte [ebp - 4]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 4]
push eax
push 3
call esi
test eax, eax
je 0x40b6c4
cmp byte [ebp - 3], 0x3a
jne 0x40b6c4
movzx eax, byte [ebp - 4]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
mov edi, dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
lea eax, [ebp - 4]
push eax
call edi
test eax, eax
je 0x40b6e5
cmp byte [ebp - 3], 0x3a
jne 0x40b6e5
movzx eax, byte [ebp - 4]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 0x10]
cmp eax, 0x37
jne 0x40b75b
lea eax, [ebp - 4]
push eax
push 3
call esi
test eax, eax
je 0x40b70a
cmp byte [ebp - 3], 0x3a
jne 0x40b70a
movzx eax, byte [ebp - 4]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 4]
push eax
push 3
call esi
test eax, eax
je 0x40b727
cmp byte [ebp - 3], 0x3a
jne 0x40b727
movzx eax, byte [ebp - 4]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 4]
push eax
push 3
call esi
test eax, eax
je 0x40b744
cmp byte [ebp - 3], 0x3a
jne 0x40b744
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 edi
jmp 0x40b81d
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40b778
cmp byte [ebp - 7], 0x3a
jne 0x40b778
movzx eax, byte [ebp - 8]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 8]
push eax
call edi
test eax, eax
je 0x40b793
cmp byte [ebp - 7], 0x3a
jne 0x40b793
movzx eax, byte [ebp - 8]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 0x10]
cmp eax, 0x37
jne 0x40b7cc
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40b7b8
cmp byte [ebp - 7], 0x3a
jne 0x40b7b8
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 edi
jmp 0x40b7f1
push 0
call dword [sym.imp.KERNEL32.dll_PulseEvent]
lea eax, [ebp - 8]
push eax
push 3
call esi
test eax, eax
je 0x40b7f1
cmp byte [ebp - 7], 0x3a
jne 0x40b7f1
movzx eax, byte [ebp - 8]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 4]
push eax
push 3
call esi
test eax, eax
je 0x40b80e
cmp byte [ebp - 3], 0x3a
jne 0x40b80e
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 edi
test eax, eax
je 0x40b838
cmp byte [ebp - 0xb], 0x3a
jne 0x40b838
movzx eax, byte [ebp - 0xc]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
lea eax, [ebp - 0x10]
cmp eax, 0x37
lea eax, [ebp - 0xc]
push eax
push 3
jne 0x40b871
call esi
test eax, eax
je 0x40b85d
cmp byte [ebp - 0xb], 0x3a
jne 0x40b85d
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 edi
jmp 0x40b888
call esi
test eax, eax
je 0x40b888
cmp byte [ebp - 0xb], 0x3a
jne 0x40b888
movzx eax, byte [ebp - 0xc]
push eax
call sub.MSVCRT.dll_toupper
pop ecx
push dword [ebx + 0x18]
mov eax, dword [0x4293d0]
call dword [eax + 0x48]
mov eax, dword [ebx + 0x1c]
test eax, eax
je 0x40b8c7
push 0xbb8
push eax
mov eax, dword [0x4293d0]
call dword [eax + 0x70]
cmp eax, 0x102
jne 0x40b8bc
mov eax, dword [0x4293d0]
push 0
push dword [ebx + 0x1c]
call dword [eax + 0x6c]
push dword [ebx + 0x1c]
mov eax, dword [0x4293d0]
call dword [eax + 0x44]
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x40b8d7
push eax
mov eax, dword [0x4293d0]
call dword [eax + 0x44]
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x40b8e7
push eax
mov eax, dword [0x4293d0]
call dword [eax + 0x44]
mov eax, dword [ebx + 0x14]
test eax, eax
je 0x40b8f7
push eax
mov eax, dword [0x4293d0]
call dword [eax + 0x44]
mov eax, dword [ebx + 4]
test eax, eax
je 0x40b905
push eax
call fcn.00420f70
pop ecx
push dword [ebx + 0x18]
mov eax, dword [0x4293d0]
call dword [eax + 0x44]
pop edi
pop esi
pop ebx
leave
ret