Function at 0x4574aa
Capabilities:
Set current directory

Disassembly:
mov eax, 0x4c8050
call fcn.004c2540
sub esp, 0x4a8
mov eax, dword [0x4e7384]
push ebx
mov ebx, ecx
test ebx, ebx
push esi
mov dword [ebp - 0x10], eax
push edi
je 0x45798e
cmp word [ebx], 0
je 0x45798e
and dword [ebp - 0x434], 0
lea eax, [ebp - 0x434]
push eax
lea eax, [ebp - 0x218]
push eax
push 0x104
push ebx
call dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
mov esi, dword [ebp + 8]
push dword [ebp - 0x434]
add esi, 0x10
mov eax, esi
call fcn.00402ec3
push 0x2e
call fcn.00402f30
cmp eax, 0xffffffff
je 0x457547
lea ecx, [ebp - 0x430]
push ecx
mov ecx, esi
call fcn.00408d64
mov edi, eax
mov eax, esi
call fcn.00402e80
mov eax, dword [ebp - 0x430]
add eax, 0xfffffff4
cmp eax, dword [0x4e9154]
je 0x457547
push eax
call fcn.004013aa
lea eax, [ebp - 0x218]
push 0x5c
push eax
call dword [sym.imp.MSVCRT.dll_wcsrchr]
test eax, eax
pop ecx
pop ecx
mov dword [ebp - 0x434], eax
je 0x457574
and word [eax + 2], 0
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
lea eax, [ebp - 0x484]
call fcn.0040dbcf
and dword [ebp - 4], 0
push 0x80
push 3
push 1
push SysReAllocString
push ebx
lea eax, [ebp - 0x484]
call fcn.0040dc07
test eax, eax
je 0x45797c
mov edi, dword [ebp - 0x458]
test edi, edi
je 0x4575b7
mov eax, dword [ebp - 0x45c]
jmp 0x4575c2
lea esi, [ebp - 0x484]
call fcn.0040da56
test edi, edi
lea esi, [edi + eax]
mov dword [ebp - 0x428], esi
je 0x45797c
test eax, eax
je 0x45797c
cmp dword [ebp + 0xc], 0xfde9
jne 0x457604
cmp eax, 3
jbe 0x45797c
push 3
push 0x4e914c
push edi
call sub.MSVCRT.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x457604
add edi, 3
lea eax, [ebp - 0x4b4]
push eax
call fcn.0048d6dc
cmp edi, esi
mov byte [ebp - 4], 1
jae 0x45794a
push dword [ebp - 0x428]
mov eax, edi
call fcn.0049b189
mov esi, eax
test esi, esi
pop ecx
jne 0x457636
mov esi, dword [ebp - 0x428]
mov eax, dword [0x4e9150]
mov ebx, eax
mov dword [ebp - 0x424], ebx
mov dword [ebp - 0x42c], eax
mov byte [ebp - 4], 3
cmp byte [edi], 0x23
mov dword [ebp - 0x430], 0xfffffffe
jne 0x45777d
push 8
push str.EXTINF:
push edi
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x45774a
lea ecx, [edi + 8]
lea eax, [esi - 1]
jmp 0x457687
cmp byte [eax], 0x2c
je 0x45768f
dec eax
cmp eax, ecx
jae 0x457681
xor edi, edi
jmp 0x457698
mov edi, eax
jmp 0x457698
cmp ecx, esi
jae 0x4576b8
inc ecx
cmp byte [ecx], 0x20
je 0x457693
cmp ecx, esi
jae 0x4576b8
test edi, edi
je 0x4576b8
push edi
call fcn.0049b1a1
imul eax, eax, 0x3e8
pop ecx
mov dword [ebp - 0x430], eax
mov eax, edi
inc edi
test eax, eax
je 0x4576f8
push dword [ebp + 0xc]
lea eax, [ebp - 0x444]
push edi
push eax
mov eax, esi
call fcn.0049998e
mov edi, eax
add esp, 0xc
lea eax, [ebp - 0x42c]
call fcn.00402e80
mov eax, dword [ebp - 0x444]
add eax, 0xfffffff4
cmp eax, dword [0x4e9154]
je 0x4576f8
push eax
call fcn.004013aa
mov edi, dword [ebp - 0x428]
push edi
mov eax, esi
call fcn.0049b1c3
mov edx, eax
cmp edx, edi
pop ecx
jae 0x457922
push edi
call fcn.0049b189
mov esi, eax
test esi, esi
pop ecx
jne 0x457720
mov esi, edi
push dword [ebp + 0xc]
lea eax, [ebp - 0x438]
push edx
push eax
mov eax, esi
call fcn.0049998e
mov edi, eax
add esp, 0xc
lea eax, [ebp - 0x424]
call fcn.00402e80
mov eax, dword [ebp - 0x438]
jmp 0x4577a5
push dword [ebp - 0x428]
mov eax, esi
call fcn.0049b1c3
mov edi, eax
mov eax, dword [ebp - 0x42c]
add eax, 0xfffffff4
cmp eax, dword [0x4e9154]
pop ecx
je 0x457771
push eax
call fcn.004013aa
mov byte [ebp - 4], 1
lea eax, [ebx - 0xc]
jmp 0x457906
push dword [ebp + 0xc]
lea eax, [ebp - 0x440]
push edi
push eax
mov eax, esi
call fcn.0049998e
mov edi, eax
add esp, 0xc
lea eax, [ebp - 0x424]
call fcn.00402e80
mov eax, dword [ebp - 0x440]
add eax, 0xfffffff4
cmp eax, dword [0x4e9154]
je 0x4577b6
push eax
call fcn.004013aa
push dword [ebp - 0x428]
mov eax, esi
call fcn.0049b1c3
mov edi, eax
xor ebx, ebx
pop ecx
lea eax, [ebp - 0x424]
mov dword [ebp - 0x43c], ebx
call fcn.0049be1b
test eax, eax
jne 0x457812
lea eax, [ebp - 0x43c]
push eax
lea eax, [ebp - 0x420]
push eax
push 0x104
push dword [ebp - 0x424]
call dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
test eax, eax
je 0x457812
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x424]
call fcn.00402ec3
push 0x2e
push dword [ebp - 0x424]
call dword [sym.imp.MSVCRT.dll_wcsrchr]
cmp eax, ebx
pop ecx
pop ecx
je 0x45789a
push str..cue
push eax
call dword [sym.imp.MSVCRT.dll__wcsicmp]
test eax, eax
pop ecx
pop ecx
jne 0x45789a
lea ecx, [ebp - 0x424]
lea esi, [ebp - 0x44c]
call fcn.00402de7
mov dword [ebp - 0x448], ebx
lea eax, [ebp - 0x424]
push eax
push eax
lea eax, [ebp - 0x44c]
push eax
lea eax, [ebp - 0x4b4]
push eax
mov byte [ebp - 4], 4
call fcn.004587a6
test al, al
jne 0x457881
lea eax, [ebp - 0x424]
push eax
push dword [ebp + 8]
call fcn.00453a92
mov eax, dword [ebp - 0x44c]
add eax, 0xfffffff4
cmp eax, dword [0x4e9154]
je 0x4578e2
push eax
call fcn.004013aa
jmp 0x4578e2
cmp dword [0x4eba08], ebx
je 0x4578c7
push 0x4cf940
xor ecx, ecx
lea esi, [ebp - 0x424]
call fcn.0040a923
test eax, eax
jg 0x4578c7
mov eax, dword [ebp - 0x424]
call fcn.00403c4e
test eax, eax
je 0x4578e2
push ebx
push dword [ebp - 0x430]
lea edx, [ebp - 0x42c]
push dword [ebp + 8]
lea ecx, [ebp - 0x424]
call fcn.00453a27
mov eax, dword [ebp - 0x42c]
add eax, 0xfffffff4
cmp eax, dword [0x4e9154]
je 0x4578f9
push eax
call fcn.004013aa
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x424]
add eax, 0xfffffff4
cmp eax, dword [0x4e9154]
je 0x457914
push eax
call fcn.004013aa
cmp edi, dword [ebp - 0x428]
jb 0x45761c
jmp 0x45794a
mov eax, dword [ebp - 0x42c]
add eax, 0xfffffff4
cmp eax, dword [0x4e9154]
je 0x457939
push eax
call fcn.004013aa
lea eax, [ebx - 0xc]
cmp eax, dword [0x4e9154]
je 0x45794a
push eax
call fcn.004013aa
mov esi, dword [ebp + 8]
call fcn.0045887c
mov edi, dword [esi + 4]
lea eax, [ebp - 0x4b4]
call fcn.00433709
lea esi, [ebp - 0x484]
call fcn.0040dc91
mov eax, esi
call fcn.0040da24
xor eax, eax
cmp eax, edi
sbb eax, eax
neg eax
jmp 0x457990
lea esi, [ebp - 0x484]
call fcn.0040dc91
mov eax, esi
call fcn.0040da24
xor eax, eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x10]
pop ebx
call fcn.004c2215
leave
ret 8