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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x244
mov eax, dword [0x75ea0720]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x14]
push ebx
mov ebx, dword [ebp + 0x10]
push esi
xor esi, esi
test dword [ebp + 0x20], 0xffff1fc8
mov dword [ebp - 0x244], eax
mov dword [ebp - 0x240], ecx
mov dword [ebp - 0x234], ebx
mov dword [ebp - 0x228], edx
mov dword [ebp - 0x230], esi
je 0x75e8b1aa
push 0x3ec
call fcn.75e43a4f
xor eax, eax
jmp 0x75e8b624
test dword [ebp + 0x20], 0x1000
je 0x75e8b1ba
and dword [ebp + 0x20], 0xffffefff
mov edx, eax
or edx, ecx
jne 0x75e8b1ce
cmp dword [ebp + 0x1c], esi
jne 0x75e8b1ca
cmp dword [ebp + 0x18], esi
je 0x75e8b1ce
push 0x57
jmp 0x75e8b19e
push dword [ebp + 0x18]
mov dword [ebp - 0x224], esi
push ecx
push eax
call fcn.75e43201
mov ecx, eax
or ecx, edx
mov dword [ebp - 0x23c], eax
mov dword [ebp - 0x238], edx
je 0x75e8b245
mov cx, word [eax + 0x42]
mov edx, 0x3fff
and cx, dx
movzx ecx, cx
mov edx, 0x2a6
cmp cx, dx
jne 0x75e8b20e
cmp dword [ebp + 0x24], esi
jne 0x75e8b237
mov edx, 0x2a2
cmp cx, dx
jne 0x75e8b21d
cmp dword [ebp + 0x24], esi
je 0x75e8b22e
mov edx, 0x2a3
cmp cx, dx
jne 0x75e8b24a
cmp dword [ebp + 0x24], esi
jne 0x75e8b237
jmp 0x75e8b24a
mov eax, dword [eax + 0x128]
mov eax, dword [eax + 0x48]
mov eax, dword [eax + 0x128]
mov dword [ebp - 0x224], eax
jmp 0x75e8b254
cmp dword [ebp + 0x18], esi
je 0x75e8b254
push 0x588
call fcn.75e43a4f
cmp dword [ebp + 0x1c], esi
jge 0x75e8b264
cmp dword [ebp - 0x224], esi
je 0x75e8b264
mov dword [ebp + 0x1c], esi
mov eax, dword [ebp + 0x20]
and eax, 0x2000
push edi
mov dword [ebp - 0x22c], eax
cmp ebx, esi
je 0x75e8b400
push ebx
call dword [sym.imp.kernel32.dll_lstrlenW]
test eax, eax
jne 0x75e8b2a7
cmp dword [ebp - 0x228], ebx
je 0x75e8b298
mov dword [ebp - 0x228], 0x75ea0e78
mov dword [ebp - 0x234], 0x75ea0e70
jmp 0x75e8b400
cmp eax, 0x104
jg 0x75e8b3ac
push ebx
call sym.USER32.dll_CharUpperW
cmp word [ebx], 0
mov esi, 0x75ea0e7e
je 0x75e8b3c3
mov eax, ebx
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x75e8b2cc
sub eax, edx
push 0x2a
sar eax, 1
push ebx
mov edi, eax
call fcn.75e9a703
cmp eax, edi
jne 0x75e8b303
push 0x3f
push ebx
call fcn.75e9a703
cmp eax, edi
jne 0x75e8b303
push ebx
call dword [sym.imp.kernel32.dll_SetCurrentDirectoryW]
test eax, eax
jne 0x75e8b3c3
xor edx, edx
lea esi, [ebx + edi*2]
cmp word [esi - 2], 0x5c
sete dl
and dword [ebp - 0x220], 0
jmp 0x75e8b343
lea eax, [esi - 2]
movzx ecx, word [eax]
dec edi
cmp cx, 0x2a
je 0x75e8b32c
cmp cx, 0x3f
jne 0x75e8b32f
xor edx, edx
inc edx
cmp cx, 0x5c
je 0x75e8b358
cmp cx, 0x2f
je 0x75e8b358
cmp cx, 0x3a
je 0x75e8b358
mov esi, eax
test edi, edi
jne 0x75e8b319
dec edi
test edx, edx
jne 0x75e8b37e
push 0x589
call fcn.75e43a4f
jmp 0x75e8b3ac
test edi, edi
je 0x75e8b372
cmp word [esi - 4], 0x3a
je 0x75e8b372
cmp cx, 0x3a
je 0x75e8b372
and dword [ebp - 0x220], 0
jmp 0x75e8b348
mov dword [ebp - 0x220], 1
jmp 0x75e8b348
cmp dword [ebp - 0x220], 0
je 0x75e8b38b
inc esi
inc esi
jmp 0x75e8b38f
test edi, edi
jl 0x75e8b3c3
dec esi
dec esi
movzx edi, word [esi]
xor eax, eax
mov word [esi], ax
cmp word [ebx], ax
je 0x75e8b3b3
push ebx
call dword [sym.imp.kernel32.dll_SetCurrentDirectoryW]
test eax, eax
jne 0x75e8b3b3
mov word [esi], di
xor eax, eax
jmp 0x75e8b623
mov word [esi], di
inc esi
inc esi
cmp dword [ebp - 0x220], 0
je 0x75e8b3c3
dec esi
dec esi
cmp dword [ebp - 0x22c], 0
je 0x75e8b3ec
cmp dword [ebp - 0x228], ebx
je 0x75e8b3ec
push 0
push 0x7fffffff
lea eax, [ebp - 0x228]
push eax
push 0xffffffffffffffff
push esi
push 0
call sym.USER32.dll_WCSToMBEx
mov edx, ebx
mov eax, esi
sub edx, esi
movzx ecx, word [eax]
mov word [edx + eax], cx
inc eax
inc eax
test cx, cx
jne 0x75e8b3f2
lea eax, [ebp - 0x20e]
push eax
push 0x104
call dword [sym.imp.kernel32.dll_GetCurrentDirectoryW]
cmp dword [ebp + 0x1c], 0
je 0x75e8b44b
lea eax, [ebp - 0x20e]
push eax
call sym.USER32.dll_CharLowerW
mov esi, dword [ebp - 0x244]
lea eax, [ebp - 0x21c]
push eax
push dword [ebp + 0x1c]
push dword [ebp - 0x240]
push esi
call fcn.75e8afbc
push eax
push dword [ebp + 0x1c]
push dword [esi]
call sym.USER32.dll_SetDlgItemTextW
cmp dword [ebp + 0x18], 0
je 0x75e8b620
mov eax, dword [ebp - 0x23c]
or eax, dword [ebp - 0x238]
je 0x75e8b620
mov esi, dword [ebp + 0x24]
mov eax, dword [ebp - 0x23c]
mov ebx, dword [eax]
neg esi
sbb esi, esi
and esi, 0x39
xor edi, edi
add esi, 0x14b
mov dword [ebp - 0x220], ebx
cmp dword [ebp - 0x22c], edi
je 0x75e8b49a
push edi
push edi
push esi
push ebx
call sym.USER32.dll_PostMessageW
jmp 0x75e8b4d6
mov eax, dword [ebp - 0x224]
cmp eax, edi
je 0x75e8b4cd
test byte [eax + 0x5c], 4
je 0x75e8b529
push dword [eax + 0xc]
push dword [eax + 8]
call fcn.75e5f154
test eax, eax
je 0x75e8b529
push edi
push edi
push 0xb
push ebx
mov dword [ebp - 0x230], 1
call sym.USER32.dll_SendMessageW
push edi
push edi
push esi
push ebx
call sym.USER32.dll_SendMessageW
mov eax, dword [ebp + 0x24]
neg eax
sbb eax, eax
and eax, 0x48
add eax, 0x145
cmp dword [ebp + 0x20], 0x4000
mov dword [ebp - 0x224], eax
mov eax, 0xc000
jne 0x75e8b4fc
mov dword [ebp + 0x20], eax
mov ecx, dword [ebp - 0x23c]
movzx esi, byte [ecx + 0x2d]
mov ebx, 0x8000
and esi, 2
test dword [ebp + 0x20], ebx
je 0x75e8b53d
test esi, esi
je 0x75e8b531
test dword [ebp + 0x20], 0x4010
je 0x75e8b53d
or dword [ebp + 0x20], 0x1000
jmp 0x75e8b53d
mov dword [ebp - 0x230], edi
jmp 0x75e8b4cd
cmp dword [ebp + 0x20], eax
jne 0x75e8b53d
mov dword [ebp + 0x20], 0xd000
test dword [ebp + 0x20], 0x1000
mov edi, 0x6010
jne 0x75e8b5aa
mov eax, dword [ebp + 0x20]
and eax, 0xffffbfef
cmp dword [ebp - 0x22c], 0
je 0x75e8b576
push dword [ebp - 0x228]
push eax
push dword [ebp - 0x224]
push dword [ebp - 0x220]
call sym.USER32.dll_PostMessageW
jmp 0x75e8b58e
push dword [ebp - 0x234]
push eax
push dword [ebp - 0x224]
push dword [ebp - 0x220]
call sym.USER32.dll_SendMessageW
test esi, esi
jne 0x75e8b597
and dword [ebp + 0x20], edi
jmp 0x75e8b5aa
mov eax, dword [ebp + 0x20]
and eax, 0x27
or eax, edi
and eax, dword [ebp + 0x20]
or eax, 0x1000
mov dword [ebp + 0x20], eax
test dword [ebp + 0x20], edi
je 0x75e8b5f0
or dword [ebp + 0x20], ebx
cmp dword [ebp - 0x22c], 0
je 0x75e8b5d7
push dword [ebp - 0x228]
push dword [ebp + 0x20]
push dword [ebp - 0x224]
push dword [ebp - 0x220]
call sym.USER32.dll_PostMessageW
jmp 0x75e8b5f0
push 0x75ea0e7e
push dword [ebp + 0x20]
push dword [ebp - 0x224]
push dword [ebp - 0x220]
call sym.USER32.dll_SendMessageW
xor esi, esi
cmp dword [ebp - 0x22c], esi
jne 0x75e8b620
cmp dword [ebp - 0x230], esi
je 0x75e8b620
push esi
push 1
push 0xb
push dword [ebp - 0x220]
call sym.USER32.dll_SendMessageW
push 1
push esi
push dword [ebp - 0x220]
call sym.USER32.dll_InvalidateRect
xor eax, eax
inc eax
pop edi
mov ecx, dword [ebp - 4]
pop esi
xor ecx, ebp
pop ebx
call fcn.75e36120
leave
ret 0x20