Function at 0x4100e4
Capabilities:
Get common file path

Disassembly:
mov eax, 0x41b42b
call fcn.00403df8
sub esp, 0x4c
push ebx
push esi
push edi
mov edi, ecx
xor edx, edx
mov dword [ebp - 0x10], edi
mov dword [edi], edx
mov dword [edi + 4], edx
mov dword [edi + 8], edx
mov dword [ebp - 4], edx
push 0xf
pop ecx
mov dword [edi + 0x3c], ecx
mov dword [edi + 0x38], edx
mov byte [edi + 0x28], dl
mov byte [ebp - 4], 1
lea ebx, [edi + 0x40]
xor eax, eax
mov dword [ebx + 0x14], 7
mov dword [ebx + 0x10], edx
mov word [ebx], ax
mov byte [ebp - 4], 2
mov dword [edi + 0x6c], ecx
mov dword [edi + 0x68], edx
mov byte [edi + 0x58], dl
mov byte [ebp - 4], 3
xor ecx, ecx
mov dword [edi + 0x84], 7
mov dword [edi + 0x80], edx
mov word [edi + 0x70], cx
mov byte [ebp - 4], 4
mov esi, dword [ebp + 8]
push 0x14
mov eax, dword [esi + 0x14]
mov dword [edi + 0x2e8], eax
pop eax
call fcn.0040171b
push esp
push 0x41d5bc
call fcn.0040f0d0
pop ecx
pop ecx
push eax
call dword [0x62fcec]
mov dword [edi + 0x2ec], eax
mov eax, dword [esi + 0x2c]
mov dword [edi + 0x2e4], eax
mov eax, dword [esi + 0x14]
mov dword [edi + 0x2d8], eax
mov eax, dword [esi + 0xc]
sub esp, 0x18
mov dword [edi + 0x2e0], eax
mov eax, dword [esi + 0x10]
mov ecx, esp
mov dword [ebp + 8], esp
push dword [ebp + 0xc]
mov dword [edi + 0x2dc], eax
call fcn.004047e0
mov byte [ebp - 4], 5
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x40]
call fcn.0040fc51
add esp, 0x18
mov esi, eax
mov byte [ebp - 4], 6
cmp ebx, esi
je 0x4101e5
push 0
push 1
mov ecx, ebx
call fcn.004048f0
push esi
mov ecx, ebx
call fcn.00404884
mov byte [ebp - 4], 4
push 0
push 1
lea ecx, [ebp - 0x40]
call fcn.004048f0
mov edx, ebx
lea ecx, [ebp - 0x40]
call fcn.0040ec14
mov byte [ebp - 4], 7
push eax
lea ecx, [edi + 0x28]
call fcn.00410d71
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x40]
call fcn.004047bf
mov esi, dword [ebp + 0x10]
xor ebx, ebx
cmp word [esi], bx
jne 0x410226
mov eax, ebx
jmp 0x41022d
push esi
call fcn.004016dd
pop ecx
push eax
push esi
lea ecx, [edi + 0x70]
call fcn.004049ac
lea edx, [edi + 0x70]
lea ecx, [ebp - 0x40]
call fcn.0040ec14
mov byte [ebp - 4], 8
push eax
lea ecx, [edi + 0x58]
call fcn.00410d71
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x40]
call fcn.004047bf
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [edi + 0x2d4], eax
lea eax, [edi + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
push ebx
push edi
push 0x62e108
call dword [sym.imp.KERNEL32.dll_InterlockedCompareExchange]
test eax, eax
jne 0x410713
push dword [ebp + 0xc]
lea ecx, [ebp - 0x40]
call fcn.004047e0
mov byte [ebp - 4], 9
lea edx, [ebp - 0x40]
lea ecx, [ebp - 0x28]
call fcn.00411c45
mov byte [ebp - 4], 0xb
push ebx
push 1
lea ecx, [ebp - 0x40]
call fcn.004048f0
push 0x421750
lea ecx, [ebp - 0x58]
call fcn.004047e0
mov byte [ebp - 4], 0xc
jmp 0x41030a
push ecx
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x28]
call fcn.00410e45
lea ecx, [esi - 1]
cmp eax, ecx
jne 0x410311
cmp dword [ebp - 0x14], 8
mov ecx, dword [ebp - 0x28]
mov eax, ecx
jae 0x4102e4
lea eax, [ebp - 0x28]
lea eax, [eax + esi*2]
add eax, 0xfffffffe
cmp dword [ebp - 0x14], 8
jae 0x4102f3
lea ecx, [ebp - 0x28]
test eax, eax
jne 0x4102fb
mov eax, ebx
jmp 0x4102ff
sub eax, ecx
sar eax, 1
push 1
push eax
lea ecx, [ebp - 0x28]
call fcn.00404e4e
mov esi, dword [ebp - 0x18]
test esi, esi
jne 0x4102c2
push ebx
call dword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
mov dword [edi + 0xc], eax
lea eax, [edi + 0x88]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov esi, dword [0x62e108]
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x421758
add esi, 0x2f0
call fcn.0040f312
add esp, 4
mov edx, 0x40fcfb
push esi
mov ecx, eax
call fcn.0040500a
mov esi, dword [0x62e108]
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x421770
add esi, 0x2f4
call fcn.0040f312
add esp, 0xc
mov edx, 0x40fd0c
push esi
mov ecx, eax
call fcn.0040500a
mov esi, dword [0x62e108]
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x421788
add esi, 0x2f8
call fcn.0040f312
add esp, 0xc
mov edx, 0x40fd1d
push esi
mov ecx, eax
call fcn.0040500a
mov esi, dword [0x62e108]
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x4217a0
add esi, 0x2fc
call fcn.0040f312
add esp, 0xc
mov edx, 0x40fd3d
push esi
mov ecx, eax
call fcn.0040500a
mov esi, dword [0x62e108]
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x4217b8
add esi, 0x300
call fcn.0040f312
add esp, 0xc
mov edx, 0x40fd5d
push esi
mov ecx, eax
call fcn.0040500a
mov esi, dword [0x62e108]
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x4217d4
add esi, 0x304
call fcn.0040f312
add esp, 0xc
mov edx, 0x40fdb9
push esi
mov ecx, eax
call fcn.0040500a
mov esi, dword [0x62e108]
add esi, 0x308
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x4217f0
call fcn.0040f312
add esp, 0xc
mov edx, 0x40fe15
push esi
mov ecx, eax
call fcn.0040500a
mov esi, dword [0x62e108]
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x42180c
add esi, 0x30c
call fcn.0040f312
add esp, 0xc
mov edx, 0x40fe7c
push esi
mov ecx, eax
call fcn.0040500a
mov esi, dword [0x62e108]
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x421828
add esi, 0x310
call fcn.0040f312
add esp, 0xc
mov edx, 0x40fee3
push esi
mov ecx, eax
call fcn.0040500a
mov esi, dword [0x62e108]
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x421844
add esi, 0x314
call fcn.0040f312
add esp, 0xc
mov edx, 0x40fee3
push esi
mov ecx, eax
call fcn.0040500a
mov esi, dword [0x62e108]
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x421860
add esi, 0x318
call fcn.0040f312
add esp, 0xc
mov edx, 0x40fee6
push esi
mov ecx, eax
call fcn.0040500a
mov esi, dword [0x62e108]
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x421874
add esi, 0x31c
call fcn.0040f312
add esp, 0xc
mov edx, 0x40ff09
push esi
mov ecx, eax
call fcn.0040500a
mov esi, dword [0x62e108]
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x42188c
add esi, 0x320
call fcn.0040f312
add esp, 0xc
mov edx, 0x40ff43
push esi
mov ecx, eax
call fcn.0040500a
mov esi, dword [0x62e108]
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x4218a0
add esi, 0x324
call fcn.0040f312
add esp, 0xc
mov edx, 0x40ff7a
push esi
mov ecx, eax
call fcn.0040500a
mov esi, dword [0x62e108]
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x4218b4
add esi, 0x328
call fcn.0040f312
add esp, 0xc
mov edx, 0x40fffb
push esi
mov ecx, eax
call fcn.0040500a
mov esi, dword [0x62e108]
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x4218d8
add esi, 0x32c
call fcn.0040f312
add esp, 0xc
mov edx, 0x410000
push esi
mov ecx, eax
call fcn.0040500a
mov esi, dword [0x62e108]
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x4218ec
add esi, 0x330
call fcn.0040f312
add esp, 0xc
mov edx, 0x410022
push esi
mov ecx, eax
call fcn.0040500a
mov esi, dword [0x62e108]
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x421904
add esi, 0x334
call fcn.0040f312
add esp, 0xc
mov edx, 0x410044
push esi
mov ecx, eax
call fcn.0040500a
mov esi, dword [0x62e108]
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x42191c
add esi, 0x338
call fcn.0040f312
add esp, 0xc
mov edx, 0x41006a
push esi
mov ecx, eax
call fcn.0040500a
mov esi, dword [0x62e108]
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x421934
add esi, 0x33c
call fcn.0040f312
add esp, 0xc
push esi
mov edx, 0x410090
mov ecx, eax
call fcn.0040500a
mov esi, dword [0x62e108]
mov ecx, dword [edi + 0x2ec]
push ebx
push ebx
mov edx, 0x42194c
add esi, 0x340
call fcn.0040f312
add esp, 0xc
mov edx, 0x4100ba
push esi
mov ecx, eax
call fcn.0040500a
pop ecx
pop ecx
mov byte [ebp - 4], 0xb
push ebx
push 1
lea ecx, [ebp - 0x58]
call fcn.004048f0
mov byte [ebp - 4], 4
push ebx
push 1
lea ecx, [ebp - 0x28]
call fcn.004048f0
or dword [ebp - 4], 0xffffffff
mov eax, edi
lea esp, [ebp - 0x64]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
leave
ret 0x10