Function at 0x1019f68
Capabilities:
Get common file path

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x428
mov eax, dword [0x1023018]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 0x428], esi
mov dword [ebp - 0x418], ebx
cmp esi, ebx
jne 0x1019cbe
xor eax, eax
jmp 0x101a417
test dword [ebp + 0xc], 0xffffffe3
jne 0x1019cb7
push edi
mov edi, dword [ebp + 0x10]
cmp di, bx
jne 0x1019cda
test byte [ebp + 0xc], 0x10
jne 0x101a344
call fcn.010197d7
mov dword [0x10239c4], eax
movzx eax, al
and eax, 0x20
or eax, 2
push eax
push 0
push esi
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov dword [ebp - 0x414], eax
test eax, eax
je 0x101a344
test byte [0x10239c4], 0x20
jne 0x101a416
lea eax, [ebp - 0x418]
push eax
lea eax, [ebp - 0x410]
push eax
push 0x104
push 0
push esi
push 0
call dword [sym.imp.KERNEL32.dll_SearchPathW]
test eax, eax
je 0x101a338
mov eax, dword [ebp - 0x418]
test eax, eax
jne 0x1019d56
and dword [ebp - 0x41c], ebx
lea eax, [ebp - 0x410]
mov dword [ebp - 0x418], eax
jmp 0x1019d68
lea ecx, [ebp - 0x410]
mov dword [ebp - 0x41c], ecx
xor ecx, ecx
mov word [eax - 2], cx
push 0
push dword [ebp - 0x414]
call fcn.010196a2
test eax, eax
je 0x101a320
test di, di
jne 0x101a2f8
mov al, byte [0x10239c4]
test al, 4
je 0x101a107
call dword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
movzx eax, ax
mov ecx, 0x404
mov dword [ebp - 0x420], eax
cmp ax, cx
jne 0x1019dba
call fcn.01019916
movzx eax, ax
mov dword [ebp - 0x420], eax
mov eax, dword [ebp + 0xc]
and eax, 8
mov dword [ebp - 0x424], eax
cmp dword [ebp - 0x424], 0
je 0x1019e90
lea eax, [ebp - 0x15c]
push eax
push dword [ebp - 0x420]
lea edi, [ebp - 0x208]
lea esi, [ebp - 0xb0]
call fcn.01019afa
test eax, eax
je 0x101a384
push dword [ebp - 0x41c]
mov eax, dword [ebp - 0x418]
mov ecx, dword [ebp - 0x414]
mov edx, esi
call fcn.01019c25
mov ebx, eax
test ebx, ebx
jne 0x101a388
push dword [ebp - 0x41c]
mov eax, dword [ebp - 0x418]
mov ecx, dword [ebp - 0x414]
lea edx, [ebp - 0x15c]
call fcn.01019c25
mov ebx, eax
test ebx, ebx
jne 0x101a388
cmp word [ebp - 0x208], ax
je 0x1019e6f
push dword [ebp - 0x41c]
mov eax, dword [ebp - 0x418]
mov ecx, dword [ebp - 0x414]
mov edx, edi
call fcn.01019c25
mov ebx, eax
test ebx, ebx
jne 0x101a388
mov eax, 0xc04
cmp word [ebp - 0x420], ax
jne 0x101a03b
mov dword [ebp - 0x420], 0x404
jmp 0x1019dc6
movzx eax, word [ebp - 0x420]
push eax
push 0x1007fd4
lea eax, [ebp - 0xb0]
push 0x55
push eax
call fcn.01017c0e
mov eax, dword [ebp - 0x418]
mov ecx, dword [ebp - 0x414]
add esp, 0x10
push dword [ebp - 0x41c]
lea edx, [ebp - 0xb0]
call fcn.01019c25
mov ebx, eax
test ebx, ebx
jne 0x101a388
lea eax, [ebp - 0x15c]
push eax
push dword [ebp - 0x420]
xor edi, edi
lea esi, [ebp - 0xb0]
call fcn.01019afa
test eax, eax
je 0x1019f42
push 2
lea eax, [ebp - 0x15c]
push eax
call fcn.01019403
movzx eax, ax
test ax, ax
je 0x1019f42
movzx eax, ax
push eax
push 0x1007fd4
mov eax, esi
push 0x55
push eax
call fcn.01017c0e
mov eax, dword [ebp - 0x418]
mov ecx, dword [ebp - 0x414]
add esp, 0x10
push dword [ebp - 0x41c]
mov edx, esi
call fcn.01019c25
mov ebx, eax
test ebx, ebx
jne 0x101a388
mov eax, 0xc04
cmp word [ebp - 0x420], ax
je 0x1019e81
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultUILanguage]
movzx esi, ax
mov dword [ebp - 0x424], esi
cmp si, word [ebp - 0x420]
je 0x101a01f
movzx eax, si
push eax
push 0x1007fd4
lea eax, [ebp - 0xb0]
push 0x55
push eax
call fcn.01017c0e
mov eax, dword [ebp - 0x418]
mov ecx, dword [ebp - 0x414]
add esp, 0x10
push dword [ebp - 0x41c]
lea edx, [ebp - 0xb0]
call fcn.01019c25
mov ebx, eax
test ebx, ebx
jne 0x101a388
lea eax, [ebp - 0x15c]
push eax
push esi
xor edi, edi
lea esi, [ebp - 0xb0]
call fcn.01019afa
test eax, eax
je 0x101a019
push 2
lea eax, [ebp - 0x15c]
push eax
call fcn.01019403
movzx eax, ax
test ax, ax
je 0x101a019
movzx eax, ax
push eax
push 0x1007fd4
mov eax, esi
push 0x55
push eax
call fcn.01017c0e
mov eax, dword [ebp - 0x418]
mov ecx, dword [ebp - 0x414]
add esp, 0x10
push dword [ebp - 0x41c]
mov edx, esi
call fcn.01019c25
mov ebx, eax
test ebx, ebx
jne 0x101a388
mov esi, dword [ebp - 0x424]
mov eax, 0x409
mov ecx, eax
cmp cx, word [ebp - 0x420]
je 0x101a2d0
cmp ax, si
jmp 0x101a2a8
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultUILanguage]
movzx eax, ax
mov dword [ebp - 0x424], eax
cmp ax, word [ebp - 0x420]
je 0x101a0ee
lea ecx, [ebp - 0x15c]
push ecx
push eax
lea edi, [ebp - 0x208]
lea esi, [ebp - 0xb0]
call fcn.01019afa
test eax, eax
je 0x101a320
push dword [ebp - 0x41c]
mov eax, dword [ebp - 0x418]
mov ecx, dword [ebp - 0x414]
mov edx, esi
call fcn.01019c25
mov ebx, eax
test ebx, ebx
jne 0x101a388
push dword [ebp - 0x41c]
mov eax, dword [ebp - 0x418]
mov ecx, dword [ebp - 0x414]
lea edx, [ebp - 0x15c]
call fcn.01019c25
mov ebx, eax
test ebx, ebx
jne 0x101a388
cmp word [ebp - 0x208], ax
je 0x101a0ee
push dword [ebp - 0x41c]
mov eax, dword [ebp - 0x418]
mov ecx, dword [ebp - 0x414]
mov edx, edi
call fcn.01019c25
mov ebx, eax
test ebx, ebx
jne 0x101a388
mov eax, 0x409
mov ecx, eax
cmp cx, word [ebp - 0x420]
je 0x101a2d0
jmp 0x101a1c5
test al, 3
je 0x101a320
call fcn.0101997f
test byte [ebp + 0xc], 8
movzx eax, ax
mov dword [ebp - 0x424], eax
je 0x101a1ee
lea ecx, [ebp - 0x15c]
push ecx
push eax
lea edi, [ebp - 0x208]
lea esi, [ebp - 0xb0]
call fcn.01019afa
test eax, eax
je 0x101a320
push dword [ebp - 0x41c]
mov eax, dword [ebp - 0x418]
mov ecx, dword [ebp - 0x414]
mov edx, esi
call fcn.01019c25
mov ebx, eax
test ebx, ebx
jne 0x101a388
push dword [ebp - 0x41c]
mov eax, dword [ebp - 0x418]
mov ecx, dword [ebp - 0x414]
lea edx, [ebp - 0x15c]
call fcn.01019c25
mov ebx, eax
test ebx, ebx
jne 0x101a388
cmp word [ebp - 0x208], ax
je 0x101a1be
push dword [ebp - 0x41c]
mov eax, dword [ebp - 0x418]
mov ecx, dword [ebp - 0x414]
mov edx, edi
call fcn.01019c25
mov ebx, eax
test ebx, ebx
jne 0x101a388
mov eax, 0x409
mov ecx, eax
cmp cx, word [ebp - 0x424]
je 0x101a2d0
lea ecx, [ebp - 0x15c]
push ecx
push eax
xor edi, edi
lea esi, [ebp - 0xb0]
call fcn.01019afa
mov edx, esi
jmp 0x101a2af
movzx eax, ax
push eax
push 0x1007fd4
lea eax, [ebp - 0xb0]
push 0x55
push eax
call fcn.01017c0e
mov eax, dword [ebp - 0x418]
mov ecx, dword [ebp - 0x414]
add esp, 0x10
push dword [ebp - 0x41c]
lea edx, [ebp - 0xb0]
call fcn.01019c25
mov ebx, eax
test ebx, ebx
jne 0x101a388
lea eax, [ebp - 0x15c]
push eax
push dword [ebp - 0x424]
xor edi, edi
lea esi, [ebp - 0xb0]
call fcn.01019afa
test eax, eax
je 0x101a29c
push 2
lea eax, [ebp - 0x15c]
push eax
call fcn.01019403
movzx eax, ax
test ax, ax
je 0x101a29c
movzx eax, ax
push eax
push 0x1007fd4
mov eax, esi
push 0x55
push eax
call fcn.01017c0e
mov eax, dword [ebp - 0x418]
mov ecx, dword [ebp - 0x414]
add esp, 0x10
push dword [ebp - 0x41c]
mov edx, esi
call fcn.01019c25
mov ebx, eax
test ebx, ebx
jne 0x101a388
mov eax, 0x409
cmp ax, word [ebp - 0x424]
je 0x101a2d0
mov edx, 0x1007fc0
push dword [ebp - 0x41c]
mov eax, dword [ebp - 0x418]
mov ecx, dword [ebp - 0x414]
call fcn.01019c25
mov ebx, eax
test ebx, ebx
jne 0x101a388
push dword [ebp - 0x41c]
mov eax, dword [ebp - 0x418]
mov ecx, dword [ebp - 0x414]
xor edx, edx
call fcn.01019c25
mov ebx, eax
test ebx, ebx
jne 0x101a388
jmp 0x101a384
test byte [0x10239c4], 7
je 0x101a320
test byte [ebp + 0xc], 8
je 0x101a34b
lea eax, [ebp - 0x15c]
push eax
push edi
xor edi, edi
lea esi, [ebp - 0xb0]
call fcn.01019afa
test eax, eax
jne 0x101a365
test byte [ebp + 0xc], 0x10
je 0x101a398
push dword [ebp + 0x10]
push dword [ebp - 0x414]
call fcn.010196a2
test eax, eax
jne 0x101a398
push dword [ebp - 0x414]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
xor eax, eax
jmp 0x101a416
movzx eax, di
push eax
push 0x1007fd4
lea eax, [ebp - 0xb0]
push 0x55
push eax
call fcn.01017c0e
add esp, 0x10
push dword [ebp - 0x41c]
mov eax, dword [ebp - 0x418]
mov ecx, dword [ebp - 0x414]
lea edx, [ebp - 0xb0]
call fcn.01019c25
mov ebx, eax
test ebx, ebx
je 0x101a320
push dword [ebp - 0x414]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, ebx
jmp 0x101a416
test byte [ebp - 0x414], 1
je 0x101a410
push dword [ebp - 0x414]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
call fcn.010197d7
test al, 0x38
je 0x101a3ed
push dword [ebp - 0x418]
lea eax, [ebp - 0x410]
push dword [ebp - 0x41c]
push 0x1007fb4
push 0x104
push eax
call fcn.01017c0e
add esp, 0x14
push 0
push 1
lea eax, [ebp - 0x410]
push eax
call fcn.0101974a
jmp 0x101a40a
call fcn.010197d7
push 0
and eax, 0x26
pop eax
setne al
push eax
push 0
push dword [ebp - 0x428]
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov dword [ebp - 0x414], eax
mov eax, dword [ebp - 0x414]
pop edi
mov ecx, dword [ebp - 4]
pop esi
xor ecx, ebp
pop ebx
call fcn.0100b8c5
leave
ret 0xc