Function at 0x456f18
Capabilities:
Set current directory

Disassembly:
mov eax, 0x4c524c
call fcn.004bf97c
sub esp, 0x29c
push ebx
mov ebx, ecx
test ebx, ebx
push esi
push edi
je 0x457347
cmp byte [ebx], 0
je 0x457347
and dword [ebp - 0x20], 0
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x1a4]
push eax
push 0x104
push ebx
call dword [sym.imp.KERNEL32.dll_GetFullPathNameA]
mov esi, dword [ebp + 8]
push dword [ebp - 0x20]
add esi, 0x10
mov eax, esi
call fcn.0040305d
mov cl, 0x2e
call fcn.004030c8
cmp eax, 0xffffffff
je 0x456f9d
lea ecx, [ebp - 0x1c]
push ecx
mov ecx, esi
call fcn.0040888d
mov edi, eax
mov eax, esi
call fcn.0040301a
mov eax, dword [ebp - 0x1c]
add eax, 0xfffffff4
cmp eax, dword [0x4e4154]
je 0x456f9d
push eax
call fcn.00401377
lea eax, [ebp - 0x1a4]
push 0x5c
push eax
call dword [sym.imp.MSVCRT.dll__mbsrchr]
test eax, eax
pop ecx
pop ecx
mov dword [ebp - 0x20], eax
je 0x456fc6
mov byte [eax + 1], 0
lea eax, [ebp - 0x1a4]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
lea eax, [ebp - 0x70]
call fcn.0040d427
and dword [ebp - 4], 0
push 0x80
push 3
push 1
push Ordinal_2
push ebx
lea eax, [ebp - 0x70]
call fcn.0040d45f
test eax, eax
je 0x457338
mov edi, dword [ebp - 0x44]
test edi, edi
je 0x456ffd
mov eax, dword [ebp - 0x48]
jmp 0x457005
lea esi, [ebp - 0x70]
call fcn.0040d2ae
test edi, edi
lea esi, [edi + eax]
mov dword [ebp - 0x14], esi
je 0x457338
test eax, eax
je 0x457338
cmp dword [ebp + 0xc], 0xfde9
jne 0x457044
cmp eax, 3
jbe 0x457338
push 3
push 0x4e414c
push edi
call sub.MSVCRT.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x457044
add edi, 3
lea eax, [ebp - 0xa0]
push eax
call fcn.0048b2f3
cmp edi, esi
mov byte [ebp - 4], 1
jae 0x457309
push dword [ebp - 0x14]
mov eax, edi
call fcn.004583f0
mov esi, eax
test esi, esi
pop ecx
jne 0x457070
mov esi, dword [ebp - 0x14]
mov eax, dword [0x4e4150]
mov ebx, eax
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 3
cmp byte [edi], 0x23
mov dword [ebp - 0x1c], 0xfffffffe
jne 0x45718c
push 8
push str.EXTINF:
push edi
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x45715f
lea ecx, [edi + 8]
lea eax, [esi - 1]
jmp 0x4570b8
cmp byte [eax], 0x2c
je 0x4570c0
dec eax
cmp eax, ecx
jae 0x4570b2
xor edi, edi
jmp 0x4570c9
mov edi, eax
jmp 0x4570c9
cmp ecx, esi
jae 0x4570e6
inc ecx
cmp byte [ecx], 0x20
je 0x4570c4
cmp ecx, esi
jae 0x4570e6
test edi, edi
je 0x4570e6
push edi
call fcn.00458408
imul eax, eax, 0x3e8
pop ecx
mov dword [ebp - 0x1c], eax
mov eax, edi
inc edi
test eax, eax
je 0x45711b
push dword [ebp + 0xc]
mov eax, esi
push edi
lea ecx, [ebp - 0x34]
call fcn.00456e58
pop ecx
mov edi, eax
pop ecx
lea eax, [ebp - 0x18]
call fcn.0040301a
mov eax, dword [ebp - 0x34]
add eax, 0xfffffff4
cmp eax, dword [0x4e4154]
je 0x45711b
push eax
call fcn.00401377
mov edi, dword [ebp - 0x14]
push edi
mov eax, esi
call fcn.004b649c
mov edx, eax
cmp edx, edi
pop ecx
jae 0x4572e4
push edi
call fcn.004583f0
mov esi, eax
test esi, esi
pop ecx
jne 0x457140
mov esi, edi
push dword [ebp + 0xc]
mov eax, esi
push edx
lea ecx, [ebp - 0x24]
call fcn.00456e58
pop ecx
mov edi, eax
pop ecx
lea eax, [ebp - 0x10]
call fcn.0040301a
mov eax, dword [ebp - 0x24]
jmp 0x4571a9
push dword [ebp - 0x14]
mov eax, esi
call fcn.004b649c
mov edi, eax
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff4
cmp eax, dword [0x4e4154]
pop ecx
je 0x457180
push eax
call fcn.00401377
mov byte [ebp - 4], 1
lea eax, [ebx - 0xc]
jmp 0x4572cb
push dword [ebp + 0xc]
mov eax, esi
push edi
lea ecx, [ebp - 0x38]
call fcn.00456e58
pop ecx
mov edi, eax
pop ecx
lea eax, [ebp - 0x10]
call fcn.0040301a
mov eax, dword [ebp - 0x38]
add eax, 0xfffffff4
cmp eax, dword [0x4e4154]
je 0x4571ba
push eax
call fcn.00401377
push dword [ebp - 0x14]
mov eax, esi
call fcn.004b649c
mov edi, eax
xor ebx, ebx
pop ecx
lea eax, [ebp - 0x10]
mov dword [ebp - 0x30], ebx
call fcn.00499c11
test eax, eax
jne 0x457204
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x2a8]
push eax
push 0x104
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_GetFullPathNameA]
test eax, eax
je 0x457204
lea eax, [ebp - 0x2a8]
push eax
lea eax, [ebp - 0x10]
call fcn.0040305d
push 0x2e
push dword [ebp - 0x10]
call dword [sym.imp.MSVCRT.dll__mbsrchr]
cmp eax, ebx
pop ecx
pop ecx
je 0x457274
push 0x4caf50
push eax
call dword [sym.imp.MSVCRT.dll__mbsicmp]
test eax, eax
pop ecx
pop ecx
jne 0x457274
lea ecx, [ebp - 0x10]
lea esi, [ebp - 0x2c]
call fcn.00402f86
mov dword [ebp - 0x28], ebx
lea eax, [ebp - 0x10]
push eax
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0xa0]
push eax
mov byte [ebp - 4], 4
call fcn.00457fed
test al, al
jne 0x45725e
lea eax, [ebp - 0x10]
push eax
push dword [ebp + 8]
call fcn.004533da
mov eax, dword [ebp - 0x2c]
add eax, 0xfffffff4
cmp eax, dword [0x4e4154]
je 0x4572ad
push eax
call fcn.00401377
jmp 0x4572ad
cmp dword [0x4e60f0], ebx
je 0x45729b
push 0x4cbe04
xor ecx, ecx
lea esi, [ebp - 0x10]
call fcn.00408904
test eax, eax
jg 0x45729b
mov eax, dword [ebp - 0x10]
call fcn.00403d43
test eax, eax
je 0x4572ad
push ebx
push dword [ebp - 0x1c]
lea edx, [ebp - 0x18]
push dword [ebp + 8]
lea ecx, [ebp - 0x10]
call fcn.0045336f
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff4
cmp eax, dword [0x4e4154]
je 0x4572c1
push eax
call fcn.00401377
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff4
cmp eax, dword [0x4e4154]
je 0x4572d9
push eax
call fcn.00401377
cmp edi, dword [ebp - 0x14]
jb 0x45705c
jmp 0x457309
mov eax, dword [ebp - 0x18]
add eax, 0xfffffff4
cmp eax, dword [0x4e4154]
je 0x4572f8
push eax
call fcn.00401377
lea eax, [ebx - 0xc]
cmp eax, dword [0x4e4154]
je 0x457309
push eax
call fcn.00401377
mov esi, dword [ebp + 8]
call fcn.00451cbf
mov edi, dword [esi + 4]
lea eax, [ebp - 0xa0]
call fcn.0043281c
lea esi, [ebp - 0x70]
call fcn.0040d4e9
mov eax, esi
call fcn.0040d27c
xor eax, eax
cmp eax, edi
sbb eax, eax
neg eax
jmp 0x457349
lea esi, [ebp - 0x70]
call fcn.0040d4e9
mov eax, esi
call fcn.0040d27c
xor eax, eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 8