Function at 0x4614c0
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x120
mov eax, dword [0x4b1240]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
lea ebx, [ecx + 0xc]
push esi
mov esi, dword [ebx]
mov dword [ebp - 0x11c], eax
mov eax, dword [ebx + 4]
push edi
mov dword [ebp - 0x114], ecx
cmp esi, eax
je 0x461515
mov ecx, eax
sub ecx, eax
sar ecx, 2
lea edi, [ecx*4]
push edi
push eax
push esi
call fcn.00463120
mov ecx, dword [ebp - 0x114]
add esp, 0xc
add edi, esi
mov dword [ebx + 4], edi
mov eax, dword [ecx + 0x20]
mov esi, dword [eax]
cmp esi, eax
je 0x46158c
mov edi, edi
mov edi, dword [esi + 0x10]
test edi, edi
je 0x461545
mov ecx, edi
call fcn.00461c20
mov edx, dword [edi]
mov eax, dword [edx]
push 1
mov ecx, edi
call eax
mov ecx, dword [ebp - 0x114]
mov dword [esi + 0x10], 0
cmp byte [esi + 0x15], 0
jne 0x461587
mov eax, dword [esi + 8]
cmp byte [eax + 0x15], 0
jne 0x46156c
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0x15], 0
jne 0x461587
mov edi, edi
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0x15], 0
je 0x461560
jmp 0x461587
mov eax, dword [esi + 4]
cmp byte [eax + 0x15], 0
jne 0x461585
cmp esi, dword [eax + 8]
jne 0x461585
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0x15], 0
je 0x461575
mov esi, eax
cmp esi, dword [ecx + 0x20]
jne 0x461520
xor eax, eax
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x110], eax
cmp dword [ebp + 8], eax
jle 0x4617c3
fldz
fsub qword [0x49d8d0]
fmul qword [0x49d8e8]
fsub qword [0x497c58]
fstp dword [ebp - 0x108]
fld dword [ebp - 0x108]
call fcn.00463ab0
mov dword [ebp - 0x10c], eax
mov edi, edi
mov eax, dword [ebx + 4]
lea ecx, [ebp - 0x10c]
cmp ecx, eax
jae 0x461643
mov edx, dword [ebx]
cmp edx, ecx
ja 0x461643
mov esi, ecx
mov ecx, dword [ebx + 8]
sub esi, edx
sar esi, 2
cmp eax, ecx
jne 0x46162e
sub eax, edx
sar eax, 2
cmp eax, 0x3ffffffe
ja 0x4617d6
sub ecx, edx
inc eax
sar ecx, 2
cmp eax, ecx
jbe 0x46162e
mov edx, ecx
shr edx, 1
mov edi, 0x3fffffff
sub edi, edx
cmp edi, ecx
jae 0x46161e
xor ecx, ecx
jmp 0x461620
add ecx, edx
cmp ecx, eax
jae 0x461626
mov ecx, eax
push ecx
mov ecx, ebx
call fcn.00460b90
mov edx, dword [ebx]
mov ecx, dword [ebx + 4]
lea eax, [edx + esi*4]
push eax
push ecx
lea edx, [ebx + 0xc]
push edx
call fcn.00460940
jmp 0x46169d
mov ecx, dword [ebx + 8]
cmp eax, ecx
jne 0x461689
mov edx, dword [ebx]
sub eax, edx
sar eax, 2
cmp eax, 0x3ffffffe
ja 0x4617d6
sub ecx, edx
inc eax
sar ecx, 2
cmp eax, ecx
jbe 0x461689
mov edx, ecx
shr edx, 1
mov esi, 0x3fffffff
sub esi, edx
cmp esi, ecx
jae 0x461679
xor ecx, ecx
jmp 0x46167b
add ecx, edx
cmp ecx, eax
jae 0x461681
mov ecx, eax
push ecx
mov ecx, ebx
call fcn.00460b90
mov ecx, dword [ebx + 4]
lea eax, [ebp - 0x10c]
push eax
push ecx
lea edx, [ebx + 0xc]
push edx
call fcn.00460940
add dword [ebx + 4], 4
add esp, 0xc
lea eax, [ebp - 0x104]
push eax
push 0x100
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea eax, [ebp - 0x104]
dec eax
lea ecx, [ecx]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x4616c0
mov ecx, dword [str.Data_sounds_]
mov edx, dword [0x49d8dc]
mov dword [eax], ecx
mov ecx, dword [0x49d8e0]
mov dword [eax + 4], edx
mov dx, word [0x49d8e4]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x110]
mov word [eax + 0xc], dx
mov eax, dword [ebp - 0x11c]
mov eax, dword [eax + ecx*4]
mov ecx, eax
mov edi, edi
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x461700
lea edi, [ebp - 0x104]
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x461712
mov edx, dword [0x4a3d80]
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
push 1
mov ecx, eax
sub esp, 0x10
mov eax, esp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [0x4a3d84]
mov esi, dword [ebp - 0x114]
mov dword [eax], edx
mov edx, dword [0x4a3d88]
mov dword [eax + 4], ecx
mov ecx, dword [0x4a3d8c]
mov dword [eax + 8], edx
push 0
mov dword [eax + 0xc], ecx
mov ecx, dword [esi + 8]
lea edx, [ebp - 0x104]
push edx
lea eax, [ebp - 0x108]
push eax
mov dword [ebp - 0x108], 0
call fcn.00462800
cmp dword [ebp - 0x108], 0
je 0x4617ad
mov eax, dword [ebp - 0x118]
lea ecx, [ebp - 0x120]
mov dword [ebp - 0x120], eax
inc eax
push ecx
lea ecx, [esi + 0x1c]
mov dword [ebp - 0x118], eax
call fcn.00461440
mov edx, dword [ebp - 0x108]
mov dword [eax], edx
mov eax, dword [ebp - 0x110]
inc eax
mov dword [ebp - 0x110], eax
cmp eax, dword [ebp + 8]
jl 0x4615d0
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00463931
mov esp, ebp
pop ebp
ret 8
push 0x497ae0
call fcn.00462ad3
int3