Function at 0x454990
Capabilities:
Set current directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x57d371
mov eax, dword fs:[0]
push eax
sub esp, 0x69c
mov eax, dword [0x5b107c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov esi, 0xb
mov dword [ebp - 0x6a0], eax
cmp dword [0x6573f0], esi
je 0x4549e7
mov ecx, dword [0x6573d4]
push ecx
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov dword [0x6573f0], esi
mov esi, vtable.CMHFile.0
lea eax, [ebp - 0x564]
mov dword [ebp - 0x698], esi
call fcn.004061b0
xor ebx, ebx
push 0x104
xor eax, eax
lea edx, [ebp - 0x668]
push ebx
push edx
mov dword [ebp - 0x694], ebx
mov dword [ebp - 0x680], eax
mov dword [ebp - 0x67c], eax
mov dword [ebp - 0x678], eax
mov word [ebp - 0x674], bx
mov dword [ebp - 0x670], ebx
mov dword [ebp - 0x684], ebx
mov dword [ebp - 0x66c], ebx
call sub.MSVCR100.dll_memset
add esp, 0xc
mov dword [ebp - 0x68c], ebx
mov dword [ebp - 0x688], ebx
movzx eax, word [ebp + 0xc]
push eax
lea ecx, [ebp - 0x50]
push str.Minimap_d.bin
push ecx
mov dword [ebp - 4], ebx
call dword [sym.imp.MSVCR100.dll_sprintf]
add esp, 0xc
push 0x10
lea edx, [ebp - 0x50]
push edx
mov ecx, 0x587394
lea edi, [ebp - 0x698]
call fcn.00528720
mov eax, dword [ebp - 0x690]
sub eax, ebx
je 0x454af1
dec eax
je 0x454ae7
dec eax
jne 0x454aa7
push str.MHFile.cpp
xor ecx, ecx
mov edx, 0x268
call fcn.0052cb10
add esp, 4
mov dword [ebp - 0x69c], ebx
lea ecx, [ecx]
lea ecx, [ebp - 0x150]
push ecx
lea esi, [ebp - 0x698]
call fcn.00528970
mov eax, dword [ebp - 0x690]
sub eax, ebx
je 0x454b37
dec eax
jne 0x454c05
mov edx, dword [ebp - 0x678]
cmp edx, dword [ebp - 0x684]
je 0x454c1c
jmp 0x454b53
xor eax, eax
cmp dword [ebp - 0x66c], ebx
jmp 0x454af9
xor eax, eax
cmp dword [ebp - 0x694], ebx
setne al
cmp eax, ebx
jne 0x454aa7
cmp dword [0x6573f0], ebx
je 0x454b1a
mov eax, dword [0x6573a8]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov dword [0x6573f0], ebx
mov dword [ebp - 0x698], esi
lea esi, [ebp - 0x698]
mov dword [ebp - 4], 1
call fcn.00528910
jmp 0x454d1d
mov eax, dword [ebp - 0x694]
push eax
call dword [sym.imp.MSVCR100.dll_feof]
add esp, 4
neg eax
sbb eax, eax
neg eax
jne 0x454c1c
push 0x69d3c8
lea esi, [ebp - 0x698]
call fcn.00528970
mov edi, dword [sym.imp.MSVCR100.dll_atoi]
push 0x69d3c8
call edi
add esp, 4
push 0x69d3c8
call fcn.00528970
push 0x69d3c8
call edi
add esp, 4
cmp dword [ebp - 0x69c], ebx
jne 0x454bed
mov esi, dword [ebp - 0x6a0]
add esi, 0x560
lea edi, [ebp - 0x150]
call fcn.0043f400
xor eax, eax
mov dword [esi + 8], eax
xor ecx, ecx
mov edx, 0x200
mov dword [esi + 0xc], ecx
mov edi, edx
mov dword [esi + 0x10], edx
mov dword [esi + 0x14], edi
cmp dword [esi + 8], ebx
jge 0x454bc5
mov dword [esi + 8], ebx
cmp dword [esi + 0xc], ebx
jge 0x454bcd
mov dword [esi + 0xc], ebx
fld dword [esi + 0x18]
call fcn.00577600
cmp dword [esi + 0x10], eax
jle 0x454bdd
mov dword [esi + 0x10], eax
fld dword [esi + 0x1c]
call fcn.00577600
cmp dword [esi + 0x14], eax
jle 0x454bed
mov dword [esi + 0x14], eax
mov eax, dword [ebp - 0x69c]
inc eax
mov dword [ebp - 0x69c], eax
cmp eax, 2
jl 0x454ab0
jmp 0x454c1c
dec eax
jne 0x454c1c
push str.MHFile.cpp
xor ecx, ecx
mov edx, 0x258
call fcn.0052cb10
add esp, 4
mov eax, dword [ebp - 0x694]
mov esi, dword [sym.imp.MSVCR100.dll_fclose]
cmp eax, ebx
je 0x454c38
push eax
call esi
add esp, 4
mov dword [ebp - 0x694], ebx
mov eax, dword [ebp - 0x670]
mov edi, dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete___void__]
cmp eax, ebx
je 0x454c54
push eax
call edi
add esp, 4
mov dword [ebp - 0x670], ebx
mov ecx, dword [ebp - 0x688]
mov dword [ebp - 0x684], ebx
mov dword [ebp - 0x66c], ebx
cmp ecx, ebx
je 0x454c93
mov eax, dword [ebp - 0x68c]
mov edx, dword [eax]
push ecx
push eax
mov eax, dword [edx + 0x54]
call eax
mov eax, dword [ebp - 0x68c]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [ebp - 0x688], ebx
mov dword [ebp - 0x68c], ebx
cmp dword [0x6573f0], ebx
je 0x454cad
mov eax, dword [0x6573a8]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov dword [0x6573f0], ebx
mov dword [ebp - method.CMHFile.virtual_0], vtable.CMHFile.0
mov dword [ebp - 4], 2
mov eax, dword [ebp - 0x694]
cmp eax, ebx
je 0x454cd4
push eax
call esi
add esp, 4
mov dword [ebp - 0x694], ebx
mov eax, dword [ebp - 0x670]
cmp eax, ebx
je 0x454cea
push eax
call edi
add esp, 4
mov dword [ebp - 0x670], ebx
mov ecx, dword [ebp - 0x688]
mov dword [ebp - 0x684], ebx
mov dword [ebp - 0x66c], ebx
cmp ecx, ebx
je 0x454d1d
mov eax, dword [ebp - 0x68c]
mov edx, dword [eax]
push ecx
push eax
mov eax, dword [edx + 0x54]
call eax
mov eax, dword [ebp - 0x68c]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005762ee
mov esp, ebp
pop ebp
ret 8