Function at 0x471c60
Capabilities:
Get common file path

Disassembly:
sub esp, 0x41c
mov eax, dword [0x4951c0]
xor eax, esp
mov dword [esp + 0x418], eax
push ebx
push esi
push edi
mov esi, ecx
mov edi, edx
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], edi
call fcn.0046ebf0
xor ebx, ebx
mov dword [esi + 0x51c], ebx
mov ecx, 0x47d5ba
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x471cb7
cmp dl, bl
je 0x471cb3
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x471cb7
add eax, 2
add ecx, 2
cmp dl, bl
jne 0x471c97
xor eax, eax
jmp 0x471cbc
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x471cca
mov eax, 1
jmp 0x471f59
sub esi, edi
mov eax, edi
lea edx, [esi + 0x52c]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
cmp cl, bl
jne 0x471cd4
push ebx
push edi
call fcn.00408562
add esp, 8
test eax, eax
je 0x471d61
lea edx, [esp + 0x20]
mov eax, edi
sub edx, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
cmp cl, bl
jne 0x471cf4
lea eax, [esp + 0x20]
push eax
call fcn.00474a50
add esp, 4
test eax, eax
jne 0x471d43
cmp dword [0x58fe3c], ebx
jne 0x471cc0
mov edx, dword [0x49a31c]
lea ecx, [esp + 0x20]
push ecx
push 0x48ac0c
push edx
call fcn.004081b3
mov eax, dword [0x49a31c]
add esp, 0xc
push eax
push 0x48ac28
call fcn.00458fe0
add esp, 8
mov dword [0x58f958], 1
xor eax, eax
nop
mov cl, byte [esp + eax + 0x20]
mov byte [eax + 0x49aa68], cl
inc eax
cmp cl, bl
jne 0x471d50
jmp 0x471dce
cmp byte [edi + 1], 0x3a
je 0x471dce
lea ecx, [esp + 0x20]
push ecx
push 0x100
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
cmp byte [esp + 0x23], bl
je 0x471d98
lea edi, [esp + 0x20]
dec edi
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x471d82
mov dx, word [0x48ac38]
mov word [edi], dx
mov edi, dword [esp + 0xc]
mov eax, edi
mov edx, edi
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x471da0
lea edi, [esp + 0x20]
sub eax, edx
dec edi
mov edi, edi
mov cl, byte [edi + 1]
inc edi
cmp cl, bl
jne 0x471db0
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [0x58f958], ebx
mov cl, byte [esp + 0x20]
xor eax, eax
cmp cl, 0x2e
je 0x471df1
lea esp, [esp]
cmp cl, bl
je 0x471df0
mov cl, byte [esp + eax + 0x21]
inc eax
cmp cl, 0x2e
jne 0x471de0
jmp 0x471df1
dec eax
lea eax, [esp + eax + 0x21]
lea edx, [esp + 0x120]
sub edx, eax
mov edi, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
cmp cl, bl
jne 0x471e00
mov ecx, 0x48ac3c
lea eax, [esp + 0x120]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x471e36
cmp dl, bl
je 0x471e32
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x471e36
add eax, 2
add ecx, 2
cmp dl, bl
jne 0x471e16
xor eax, eax
jmp 0x471e3b
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x471ef3
mov edi, dword [0x539fc0]
xor esi, esi
cmp edi, ebx
jle 0x471eba
nop
mov edx, dword [esi*4 + 0x63e608]
mov cl, byte [edx]
xor eax, eax
jmp 0x471e60
mov byte [esp + eax + 0x220], cl
mov cl, byte [edx + eax + 1]
inc eax
cmp cl, 0x7c
jne 0x471e60
mov byte [esp + eax + 0x220], bl
lea ecx, [edx + eax + 1]
lea eax, [esp + 0x120]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x471ea3
cmp dl, bl
je 0x471e9f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x471ea3
add eax, 2
add ecx, 2
cmp dl, bl
jne 0x471e83
xor eax, eax
jmp 0x471ea8
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x471f73
inc esi
cmp esi, edi
jl 0x471e50
cmp esi, 0xffffffff
je 0x471ef3
cmp dword [0x58fe3c], ebx
jne 0x471cc0
mov eax, dword [esp + 0xc]
mov ecx, dword [0x49a31c]
push eax
push 0x48ac5c
push ecx
call fcn.004081b3
mov edx, dword [0x49a31c]
add esp, 0xc
push edx
push 0x48ac78
call fcn.00458fe0
add esp, 8
mov edi, dword [esp + 0x10]
mov esi, dword [sym.imp.WINMM.dll_mciSendCommandA]
lea ecx, [edi + 0x500]
push ecx
push 0x202
push 0x803
lea eax, [esp + 0x2c]
push ebx
mov dword [edi + 0x508], ebx
mov dword [edi + 0x50c], eax
call esi
test eax, eax
jne 0x471f8a
mov eax, dword [edi + 0x504]
lea edx, [esp + 0x14]
push edx
push 0x402
push 0x80d
push eax
mov dword [esp + 0x28], ebx
call esi
test eax, eax
jne 0x471f8a
mov ecx, dword [esp + 0x42c]
mov esi, edi
mov dword [edi + 0x51c], ecx
call fcn.0046ec80
mov ecx, dword [esp + 0x424]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00407f40
add esp, 0x41c
ret 4
push 0x48ac40
lea eax, [esp + 0x224]
call fcn.00401050
mov esi, eax
cmp esi, ebx
jne 0x471f8e
xor eax, eax
jmp 0x471f59
mov eax, dword [0x49a31c]
push str.NScrtmp.mid
push 0x49a218
push 0x48ac54
push eax
call fcn.004081b3
mov ecx, dword [0x49a31c]
add esp, 0x10
push ecx
lea edx, [esp + 0x24]
push edx
call esi
cmp dword [0x58f958], ebx
je 0x471fce
push 0x49aa68
call fcn.004087dd
add esp, 4
mov eax, dword [0x49a31c]
lea esi, [esp + 0x20]
mov ecx, eax
sub esi, eax
jmp 0x471fe0
mov dl, byte [ecx]
mov byte [esi + ecx], dl
inc ecx
cmp dl, bl
jne 0x471fe0
mov edx, 0x49aa68
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
cmp cl, bl
jne 0x471ff1
mov dword [0x58f958], 1
jmp 0x471ef3