Function at 0x45a4bc
Capabilities:
Set current directory

Disassembly:
mov eax, 0x4cd32a
call fcn.004c7e20
sub esp, 0x4a8
mov eax, dword [0x4ed384]
push ebx
mov ebx, ecx
test ebx, ebx
push esi
mov dword [ebp - 0x10], eax
push edi
je 0x45a9a0
cmp word [ebx], 0
je 0x45a9a0
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.00402fb6
push 0x2e
call fcn.00403023
cmp eax, 0xffffffff
je 0x45a559
lea ecx, [ebp - 0x430]
push ecx
mov ecx, esi
call fcn.00408bad
mov edi, eax
mov eax, esi
call fcn.00402f73
mov eax, dword [ebp - 0x430]
add eax, 0xfffffff4
cmp eax, dword [0x4f0984]
je 0x45a559
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 0x45a586
and word [eax + 2], 0
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
lea eax, [ebp - 0x484]
call fcn.0040dae0
and dword [ebp - 4], 0
push 0x80
push 3
push 1
push SysReAllocStringLen
push ebx
lea eax, [ebp - 0x484]
call fcn.0040db18
test eax, eax
je 0x45a98e
mov edi, dword [ebp - 0x458]
test edi, edi
je 0x45a5c9
mov eax, dword [ebp - 0x45c]
jmp 0x45a5d4
lea esi, [ebp - 0x484]
call fcn.0040d967
test edi, edi
lea esi, [edi + eax]
mov dword [ebp - 0x428], esi
je 0x45a98e
test eax, eax
je 0x45a98e
cmp dword [ebp + 0xc], 0xfde9
jne 0x45a616
cmp eax, 3
jbe 0x45a98e
push 3
push 0x4f097c
push edi
call sub.MSVCRT.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x45a616
add edi, 3
lea eax, [ebp - 0x4b4]
push eax
call fcn.00456970
cmp edi, esi
mov byte [ebp - 4], 1
jae 0x45a95c
push dword [ebp - 0x428]
mov eax, edi
call fcn.0049dc4c
mov esi, eax
test esi, esi
pop ecx
jne 0x45a648
mov esi, dword [ebp - 0x428]
mov eax, dword [0x4f0980]
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 0x45a78f
push 8
push str.EXTINF:
push edi
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x45a75c
lea ecx, [edi + 8]
lea eax, [esi - 1]
jmp 0x45a699
cmp byte [eax], 0x2c
je 0x45a6a1
dec eax
cmp eax, ecx
jae 0x45a693
xor edi, edi
jmp 0x45a6aa
mov edi, eax
jmp 0x45a6aa
cmp ecx, esi
jae 0x45a6ca
inc ecx
cmp byte [ecx], 0x20
je 0x45a6a5
cmp ecx, esi
jae 0x45a6ca
test edi, edi
je 0x45a6ca
push edi
call fcn.0049dc64
imul eax, eax, 0x3e8
pop ecx
mov dword [ebp - 0x430], eax
mov eax, edi
inc edi
test eax, eax
je 0x45a70a
push dword [ebp + 0xc]
lea eax, [ebp - 0x444]
push edi
push eax
mov eax, esi
call fcn.0045a45e
mov edi, eax
add esp, 0xc
lea eax, [ebp - 0x42c]
call fcn.00402f73
mov eax, dword [ebp - 0x444]
add eax, 0xfffffff4
cmp eax, dword [0x4f0984]
je 0x45a70a
push eax
call fcn.004013aa
mov edi, dword [ebp - 0x428]
push edi
mov eax, esi
call fcn.0049dc86
mov edx, eax
cmp edx, edi
pop ecx
jae 0x45a934
push edi
call fcn.0049dc4c
mov esi, eax
test esi, esi
pop ecx
jne 0x45a732
mov esi, edi
push dword [ebp + 0xc]
lea eax, [ebp - 0x438]
push edx
push eax
mov eax, esi
call fcn.0045a45e
mov edi, eax
add esp, 0xc
lea eax, [ebp - 0x424]
call fcn.00402f73
mov eax, dword [ebp - 0x438]
jmp 0x45a7b7
push dword [ebp - 0x428]
mov eax, esi
call fcn.0049dc86
mov edi, eax
mov eax, dword [ebp - 0x42c]
add eax, 0xfffffff4
cmp eax, dword [0x4f0984]
pop ecx
je 0x45a783
push eax
call fcn.004013aa
mov byte [ebp - 4], 1
lea eax, [ebx - 0xc]
jmp 0x45a918
push dword [ebp + 0xc]
lea eax, [ebp - 0x440]
push edi
push eax
mov eax, esi
call fcn.0045a45e
mov edi, eax
add esp, 0xc
lea eax, [ebp - 0x424]
call fcn.00402f73
mov eax, dword [ebp - 0x440]
add eax, 0xfffffff4
cmp eax, dword [0x4f0984]
je 0x45a7c8
push eax
call fcn.004013aa
push dword [ebp - 0x428]
mov eax, esi
call fcn.0049dc86
mov edi, eax
xor ebx, ebx
pop ecx
lea eax, [ebp - 0x424]
mov dword [ebp - 0x43c], ebx
call fcn.0049e8fe
test eax, eax
jne 0x45a824
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 0x45a824
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x424]
call fcn.00402fb6
push 0x2e
push dword [ebp - 0x424]
call dword [sym.imp.MSVCRT.dll_wcsrchr]
cmp eax, ebx
pop ecx
pop ecx
je 0x45a8ac
push 0x4d34cc
push eax
call dword [sym.imp.MSVCRT.dll__wcsicmp]
test eax, eax
pop ecx
pop ecx
jne 0x45a8ac
lea ecx, [ebp - 0x424]
lea esi, [ebp - 0x44c]
call fcn.00402eaa
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.0045b840
test al, al
jne 0x45a893
lea eax, [ebp - 0x424]
push eax
push dword [ebp + 8]
call fcn.00456a62
mov eax, dword [ebp - 0x44c]
add eax, 0xfffffff4
cmp eax, dword [0x4f0984]
je 0x45a8f4
push eax
call fcn.004013aa
jmp 0x45a8f4
cmp dword [0x4f32a8], ebx
je 0x45a8d9
push 0x4d4c90
xor ecx, ecx
lea esi, [ebp - 0x424]
call fcn.0040a781
test eax, eax
jg 0x45a8d9
mov eax, dword [ebp - 0x424]
call fcn.00403dd0
test eax, eax
je 0x45a8f4
push ebx
push dword [ebp - 0x430]
lea edx, [ebp - 0x42c]
push dword [ebp + 8]
lea ecx, [ebp - 0x424]
call fcn.004569f7
mov eax, dword [ebp - 0x42c]
add eax, 0xfffffff4
cmp eax, dword [0x4f0984]
je 0x45a90b
push eax
call fcn.004013aa
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x424]
add eax, 0xfffffff4
cmp eax, dword [0x4f0984]
je 0x45a926
push eax
call fcn.004013aa
cmp edi, dword [ebp - 0x428]
jb 0x45a62e
jmp 0x45a95c
mov eax, dword [ebp - 0x42c]
add eax, 0xfffffff4
cmp eax, dword [0x4f0984]
je 0x45a94b
push eax
call fcn.004013aa
lea eax, [ebx - 0xc]
cmp eax, dword [0x4f0984]
je 0x45a95c
push eax
call fcn.004013aa
mov esi, dword [ebp + 8]
call fcn.004ab264
mov edi, dword [esi + 4]
lea eax, [ebp - 0x4b4]
call fcn.00433392
lea esi, [ebp - 0x484]
call fcn.0040dba2
mov eax, esi
call fcn.0040d935
xor eax, eax
cmp eax, edi
sbb eax, eax
neg eax
jmp 0x45a9a2
lea esi, [ebp - 0x484]
call fcn.0040dba2
mov eax, esi
call fcn.0040d935
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.004c7b01
leave
ret 8