Function at 0x41c110
Capabilities:
Get common file path

Disassembly:
push 0xffffffffffffffff
push 0x4ec5b1
mov eax, dword fs:[0]
push eax
sub esp, 0x22c
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x228], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [section..data]
xor eax, esp
push eax
lea eax, [esp + 0x240]
mov dword fs:[0], eax
mov ebp, edx
mov edi, ecx
mov ebx, dword [esp + 0x250]
mov ecx, ebx
push ebp
call fcn.00412850
mov ecx, ebp
call fcn.0041b7c0
mov esi, eax
test esi, esi
je 0x41c1f4
lea edi, [esi*2]
add edi, ebp
mov ecx, edi
call fcn.0041ba00
test al, al
jne 0x41c18a
mov al, 1
jmp 0x41c41b
xorps xmm0, xmm0
mov dword [esp + 0x2c], 0
push edi
lea ecx, [esp + 0x28]
movq qword [esp + 0x28], xmm0
call fcn.00412680
lea ecx, [esp + 0x24]
mov dword [esp + 0x248], 0
call fcn.0041b8a0
test al, al
je 0x41c1d9
cmp esi, dword [ebx + 4]
jae 0x41c1cd
mov eax, dword [ebx]
xor ecx, ecx
mov dword [ebx + 4], esi
mov word [eax + esi*2], cx
lea eax, [esp + 0x24]
mov ecx, ebx
push eax
call fcn.00412bd0
mov dword [esp + 0x248], 0xffffffff
push dword [esp + 0x24]
call fcn.004df97b
mov al, 1
jmp 0x41c418
xorps xmm0, xmm0
mov dword [esp + 0x20], 0
movq qword [esp + 0x18], xmm0
push 8
mov dword [esp + 0x1c], 0
call fcn.004df9b3
add esp, 4
test eax, eax
jne 0x41c22e
mov byte [esp + 0x17], al
lea eax, [esp + 0x17]
push 0x51c2c8
push eax
call fcn.004ea58e
xor ecx, ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 3
mov word [eax], cx
mov dword [esp + 0x248], 1
test edi, edi
je 0x41c262
push edi
lea ecx, [esp + 0x1c]
call fcn.00412850
jmp 0x41c2a4
xor ecx, ecx
mov dword [esp + 0x1c], 0
mov word [eax], cx
xor eax, eax
mov word [esp + 0x30], ax
lea eax, [esp + 0x30]
push eax
push 0x105
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov esi, eax
lea ecx, [esp + 0x18]
lea eax, [esp + 0x30]
push eax
call fcn.00412850
lea eax, [esi - 1]
cmp eax, 0x103
ja 0x41c3ff
lea ecx, [esp + 0x18]
call fcn.0041b210
mov esi, dword [esp + 0x18]
movzx eax, word [esi]
cmp eax, 0x5c
je 0x41c2be
cmp eax, 0x2f
jne 0x41c2f3
movzx ecx, word [esi + 2]
cmp ecx, 0x5c
je 0x41c2cc
cmp ecx, 0x2f
jne 0x41c2f3
cmp word [esi + 4], 0x3f
jne 0x41c2f3
movzx ecx, word [esi + 6]
cmp ecx, 0x5c
je 0x41c2e1
cmp ecx, 0x2f
jne 0x41c2f3
mov ecx, esi
call fcn.0041b740
mov edi, eax
test edi, edi
jne 0x41c358
jmp 0x41c403
cmp eax, 0x61
jb 0x41c2fd
cmp eax, 0x7a
jbe 0x41c307
cmp eax, 0x41
jb 0x41c323
cmp eax, 0x5a
ja 0x41c323
cmp word [esi + 2], 0x3a
jne 0x41c323
movzx ecx, word [esi + 4]
cmp ecx, 0x5c
je 0x41c31c
cmp ecx, 0x2f
jne 0x41c323
mov edi, 3
jmp 0x41c358
cmp eax, 0x5c
je 0x41c331
cmp eax, 0x2f
jne 0x41c403
movzx eax, word [esi + 2]
cmp eax, 0x5c
je 0x41c343
cmp eax, 0x2f
jne 0x41c403
lea ecx, [esi + 4]
call fcn.0041b680
mov edi, eax
test edi, edi
je 0x41c403
add edi, 2
xorps xmm0, xmm0
mov dword [esp + 0x2c], 0
lea ecx, [esp + 0x24]
movq qword [esp + 0x24], xmm0
call fcn.00412560
mov byte [esp + 0x248], 2
movzx eax, word [ebp]
cmp eax, 0x5c
je 0x41c3a1
cmp eax, 0x2f
je 0x41c3a1
lea eax, [esi + edi*2]
push eax
lea ecx, [esp + 0x28]
call fcn.00412b70
push ebp
lea ecx, [esp + 0x28]
call fcn.00412b70
jmp 0x41c3ae
lea eax, [ebp + 2]
push eax
lea ecx, [esp + 0x28]
call fcn.00412850
lea ecx, [esp + 0x24]
call fcn.0041b8a0
test al, al
jne 0x41c3bf
xor bl, bl
jmp 0x41c3e9
cmp edi, dword [esp + 0x1c]
jae 0x41c3cf
xor eax, eax
mov dword [esp + 0x1c], edi
mov word [esi + edi*2], ax
lea eax, [esp + 0x18]
mov ecx, ebx
push eax
call fcn.004128e0
lea eax, [esp + 0x24]
mov ecx, ebx
push eax
call fcn.00412bd0
mov bl, 1
mov byte [esp + 0x248], 1
push dword [esp + 0x24]
call fcn.004df97b
add esp, 4
jmp 0x41c405
mov esi, dword [esp + 0x18]
xor bl, bl
push esi
mov dword [esp + 0x24c], 0xffffffff
call fcn.004df97b
mov al, bl
add esp, 4
mov ecx, dword [esp + 0x240]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x228]
xor ecx, esp
call fcn.004df96c
add esp, 0x238
ret 4