Function at 0x4018a0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x45a9b7
mov eax, dword fs:[0]
push eax
sub esp, 0x1a4
mov eax, dword [0x46c400]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
lea eax, [ebp - 0x114]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea ecx, [ebp - 0x144]
call fcn.00401660
lea eax, [ebp - 0x114]
mov dword [ebp - 4], 0
push eax
lea ecx, [ebp - 0x1b0]
call fcn.00402270
mov ecx, eax
mov byte [ebp - 4], 1
mov esi, dword [ecx + 0x14]
mov eax, esi
mov edx, dword [ecx + 0x10]
sub eax, edx
cmp eax, 1
jb 0x40192f
lea eax, [edx + 1]
mov dword [ecx + 0x10], eax
mov eax, ecx
cmp esi, 0xf
jbe 0x401927
mov eax, dword [ecx]
mov word [eax + edx], 0x5c
jmp 0x40194c
push 1
push 0x4695b8
mov byte [ebp - 0x160], 0
push dword [ebp - 0x160]
push 1
call fcn.00402870
mov ecx, eax
mov dword [ebp - 0x188], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x198], xmm0
mov dword [ebp - 0x184], 0
movups xmm0, xmmword [ecx]
movups xmmword [ebp - 0x198], xmm0
movq xmm0, qword [ecx + 0x10]
movq qword [ebp - 0x188], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov byte [ecx], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x144]
cmp dword [ebp - 0x130], 0xf
mov esi, dword [ebp - 0x184]
mov eax, esi
cmova ecx, dword [ebp - 0x144]
mov edi, dword [ebp - 0x134]
mov edx, dword [ebp - 0x188]
sub eax, edx
push edi
push ecx
cmp edi, eax
ja 0x4019f7
lea eax, [edi + edx]
cmp esi, 0xf
mov dword [ebp - 0x188], eax
lea eax, [ebp - 0x198]
cmova eax, dword [ebp - 0x198]
lea esi, [eax + edx]
push esi
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [esi + edi], 0
lea eax, [ebp - 0x198]
jmp 0x401a10
mov byte [ebp - 0x160], 0
lea ecx, [ebp - 0x198]
push dword [ebp - 0x160]
push edi
call fcn.00402870
mov dword [ebp - 0x170], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x180], xmm0
mov dword [ebp - 0x16c], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x180], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x170], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x16c]
mov eax, edx
mov ecx, dword [ebp - 0x170]
sub eax, ecx
cmp eax, 4
jb 0x401a9c
lea eax, [ecx + 4]
cmp edx, 0xf
mov dword [ebp - 0x170], eax
lea eax, [ebp - 0x180]
cmova eax, dword [ebp - 0x180]
mov dword [eax + ecx], 0x6c6c642e
mov byte [eax + ecx + 4], 0
lea eax, [ebp - 0x180]
jmp 0x401abd
push 4
push str..dll
mov byte [ebp - 0x160], 0
lea ecx, [ebp - 0x180]
push dword [ebp - 0x160]
push 4
call fcn.00402870
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x15c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x14c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x16c]
cmp ecx, 0xf
jbe 0x401b23
mov edx, dword [ebp - 0x180]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x401b19
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x401bc3
push ecx
push edx
call fcn.0045987f
add esp, 8
mov dword [ebp - 0x170], 0
mov dword [ebp - 0x16c], 0xf
mov byte [ebp - 0x180], 0
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x184]
cmp ecx, 0xf
jbe 0x401b78
mov edx, dword [ebp - 0x198]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x401b6e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x401bc3
push ecx
push edx
call fcn.0045987f
add esp, 8
mov dword [ebp - 0x188], 0
mov dword [ebp - 0x184], 0xf
mov byte [ebp - 0x198], 0
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x19c]
cmp ecx, 0xf
jbe 0x401bd3
mov edx, dword [ebp - 0x1b0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x401bc9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x401bc9
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.0045987f
add esp, 8
mov ecx, dword [ebp - 0x134]
mov eax, closesocket
sub eax, ecx
mov dword [ebp - 0x1a0], 0
mov dword [ebp - 0x19c], 0xf
mov byte [ebp - 0x1b0], 0
mov dword [ebp - 0x164], ecx
cmp eax, 4
jb 0x401e46
cmp dword [ebp - 0x130], 0xf
lea eax, [ebp - 0x144]
lea edx, [ecx + 4]
mov dword [ebp - 0x11c], 0
cmova eax, dword [ebp - 0x144]
lea edi, [ebp - 0x12c]
mov esi, 0xf
mov dword [ebp - 0x168], eax
mov dword [ebp - 0x118], 0
xorps xmm0, xmm0
mov dword [ebp - 0x160], edx
movups xmmword [ebp - 0x12c], xmm0
cmp edx, esi
jbe 0x401ce0
mov esi, edx
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x401c94
mov ecx, closesocket
mov esi, closesocket
add ecx, 0x23
push ecx
call fcn.004595fe
add esp, 4
test eax, eax
je 0x401e16
lea edi, [eax + 0x23]
and edi, 0xffffffe0
mov dword [edi - 4], eax
jmp 0x401cc8
mov eax, 0x16
cmp esi, eax
cmovb esi, eax
lea eax, [esi + 1]
test eax, eax
jne 0x401ca9
xor edi, edi
jmp 0x401cd4
cmp eax, 0x1000
jb 0x401cbd
lea ecx, [eax + 0x23]
cmp ecx, eax
jbe 0x401e4b
jmp 0x401c78
push eax
call fcn.004595fe
add esp, 4
mov edi, eax
mov edx, dword [ebp - 0x160]
mov ecx, dword [ebp - 0x164]
mov eax, dword [ebp - 0x168]
mov dword [ebp - 0x12c], edi
push ecx
push eax
push edi
mov dword [ebp - 0x11c], edx
mov dword [ebp - 0x118], esi
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [ebp - 0x164]
add esp, 0xc
mov dword [edi + eax], 0x6c6c642e
mov byte [edi + eax + 4], 0
mov byte [ebp - 4], 8
lea eax, [ebp - 0x12c]
cmp dword [ebp - 0x118], 0xf
push dword [ebp - 0x11c]
cmova eax, dword [ebp - 0x12c]
push eax
call fcn.00402380
cmp dword [ebp - 0x148], 0xf
lea eax, [ebp - 0x15c]
mov esi, dword [ebp - 0x15c]
lea ecx, [ebp - 0x15c]
mov edi, dword [ebp - 0x14c]
cmova eax, esi
cmova ecx, esi
add edi, eax
cmp ecx, edi
je 0x401d6a
mov edx, 0x46c478
sub edx, ecx
nop
mov al, byte [ecx]
mov byte [edx + ecx], al
inc ecx
cmp ecx, edi
jne 0x401d60
mov eax, dword [ebp - 0x14c]
cmp eax, 0x104
jae 0x401e41
mov ecx, dword [ebp - 0x118]
mov byte [eax + 0x46c478], 0
cmp ecx, 0xf
jbe 0x401db8
mov edx, dword [ebp - 0x12c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x401dae
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x401e16
push ecx
push edx
call fcn.0045987f
add esp, 8
mov eax, dword [ebp - 0x148]
cmp eax, 0xf
jbe 0x401dea
lea ecx, [eax + 1]
mov eax, esi
cmp ecx, 0x1000
jb 0x401de0
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x401e16
push ecx
push esi
call fcn.0045987f
add esp, 8
mov ecx, dword [ebp - 0x130]
cmp ecx, 0xf
jbe 0x401e26
mov edx, dword [ebp - 0x144]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x401e1c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x401e1c
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.0045987f
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004593f0
mov esp, ebp
pop ebp
ret
call fcn.00459521
call fcn.004011a0
call fcn.00401100
int3