Function at 0x4fd670
Capabilities:
Set current directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x57c540
mov eax, dword fs:[0]
push eax
sub esp, 0x754
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
lea eax, [ebp - 0x624]
mov esi, ecx
mov dword [ebp - method.CMHFile.virtual_0], vtable.CMHFile.0
call fcn.004061b0
xor eax, eax
xor edi, edi
push 0x104
mov dword [ebp - 0x740], eax
mov dword [ebp - 0x73c], eax
mov dword [ebp - 0x738], eax
mov word [ebp - 0x734], ax
lea eax, [ebp - 0x728]
push edi
push eax
mov dword [ebp - 0x754], edi
mov dword [ebp - 0x730], edi
mov dword [ebp - 0x744], edi
mov dword [ebp - 0x72c], edi
call sub.MSVCR100.dll_memset
add esp, 0xc
mov dword [ebp - 0x74c], edi
mov dword [ebp - 0x748], edi
mov dword [ebp - 4], edi
mov ebx, dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov edi, 4
cmp dword [0x6573f0], edi
je 0x4fd730
mov ecx, dword [0x6573b8]
push ecx
call ebx
mov dword [0x6573f0], edi
push 0x10
push esi
mov ecx, 0x587394
lea edi, [ebp - 0x758]
call fcn.00528720
test eax, eax
jne 0x4fd766
mov dword [ebp - method.CMHFile.virtual_0], vtable.CMHFile.0
mov esi, edi
mov dword [ebp - 4], 1
call fcn.00528910
xor eax, eax
jmp 0x4fdbaa
cmp dword [0x6573f0], 0
je 0x4fd782
mov edx, dword [0x6573a8]
push edx
call ebx
mov dword [0x6573f0], 0
lea eax, [ebp - 0x210]
xor edi, edi
push eax
lea esi, [ebp - 0x758]
mov dword [ebp - 0x75c], edi
call fcn.00528970
cmp eax, 0xffffffff
je 0x4fdb2a
mov al, byte [ebp - 0x210]
cmp al, 0x40
jne 0x4fd7c6
lea ecx, [ebp - 0x210]
push ecx
lea esi, [ebp - 0x758]
call fcn.00528df0
jmp 0x4fdb0f
cmp al, 0x7b
je 0x4fdb0f
cmp al, 0x7d
je 0x4fdb0f
xor eax, eax
jmp 0x4fd7e0
mov cl, byte [ebp + eax - 0x210]
mov byte [ebp + eax - 0x110], cl
inc eax
test cl, cl
jne 0x4fd7e0
mov ecx, str.MOTIONID
lea eax, [ebp - 0x110]
mov edi, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4fd820
test dl, dl
je 0x4fd81c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4fd820
add eax, 2
add ecx, 2
test dl, dl
jne 0x4fd800
xor eax, eax
jmp 0x4fd825
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4fd8da
push 0x69d3c8
lea esi, [ebp - 0x758]
call fcn.00528970
push 0x69d3c8
call dword [sym.imp.MSVCR100.dll_atoi]
mov ebx, eax
add esp, 4
mov esi, ebx
call fcn.004fd5d0
mov dword [ebp - 0x75c], eax
test eax, eax
jne 0x4fd8c3
push 0x5c
call dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_]
mov esi, eax
add esp, 4
mov dword [ebp - 0x75c], esi
mov byte [ebp - 4], 2
test esi, esi
je 0x4fd8af
push 0x4fd390
push 0x4fd370
push 7
push 0xc
lea edx, [esi + 8]
push edx
mov dword [esi], vtable.CMOTIONDESC.0
call fcn.00576426
mov byte [ebp - 4], 0
mov dword [esi + 4], 0
mov dword [ebp - 0x75c], esi
mov dword [esi + 4], ebx
jmp 0x4fdb0f
xor esi, esi
mov byte [ebp - 4], 0
mov dword [ebp - 0x75c], esi
mov dword [esi + 4], ebx
jmp 0x4fdb0f
xor ecx, ecx
push str.MotionManager.cpp
lea edx, [ecx + 0x79]
call fcn.0052cb10
add esp, 4
jmp 0x4fdb0f
mov ecx, str.STAND
lea eax, [ebp - 0x110]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4fd905
test dl, dl
je 0x4fd901
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4fd905
add eax, 2
add ecx, 2
test dl, dl
jne 0x4fd8e5
xor eax, eax
jmp 0x4fd90a
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4fd91c
mov ebx, dword [ebp - 0x75c]
add ebx, 8
jmp 0x4fdaa4
mov ecx, str.WALK
lea eax, [ebp - 0x110]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4fd947
test dl, dl
je 0x4fd943
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4fd947
add eax, 2
add ecx, 2
test dl, dl
jne 0x4fd927
xor eax, eax
jmp 0x4fd94c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4fd95e
mov ebx, dword [ebp - 0x75c]
add ebx, 0x14
jmp 0x4fdaa4
mov ecx, str.RUN
lea eax, [ebp - 0x110]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4fd990
test dl, dl
je 0x4fd98c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4fd990
add eax, 2
add ecx, 2
test dl, dl
jne 0x4fd970
xor eax, eax
jmp 0x4fd995
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4fd9a7
mov ebx, dword [ebp - 0x75c]
add ebx, 0x20
jmp 0x4fdaa4
mov ecx, str.ATTACK
lea eax, [ebp - 0x110]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4fd9d2
test dl, dl
je 0x4fd9ce
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4fd9d2
add eax, 2
add ecx, 2
test dl, dl
jne 0x4fd9b2
xor eax, eax
jmp 0x4fd9d7
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4fd9e9
mov ebx, dword [ebp - 0x75c]
add ebx, 0x2c
jmp 0x4fdaa4
mov ecx, str.DIE
lea eax, [ebp - 0x110]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4fda14
test dl, dl
je 0x4fda10
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4fda14
add eax, 2
add ecx, 2
test dl, dl
jne 0x4fd9f4
xor eax, eax
jmp 0x4fda19
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4fda28
mov ebx, dword [ebp - 0x75c]
add ebx, 0x38
jmp 0x4fdaa4
mov ecx, 0x593158
lea eax, [ebp - 0x110]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4fda53
test dl, dl
je 0x4fda4f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4fda53
add eax, 2
add ecx, 2
test dl, dl
jne 0x4fda33
xor eax, eax
jmp 0x4fda58
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4fda67
mov ebx, dword [ebp - 0x75c]
add ebx, 0x44
jmp 0x4fdaa4
mov ecx, str.REST
lea eax, [ebp - 0x110]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4fda92
test dl, dl
je 0x4fda8e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4fda92
add eax, 2
add ecx, 2
test dl, dl
jne 0x4fda72
xor eax, eax
jmp 0x4fda97
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4fdaba
mov ebx, dword [ebp - 0x75c]
add ebx, 0x50
lea esi, [ebp - 0x758]
call fcn.00528f40
mov esi, ebx
call fcn.004fd440
mov edi, ebx
jmp 0x4fdb0f
mov ecx, str.MOTION
lea eax, [ebp - 0x110]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4fdae5
test dl, dl
je 0x4fdae1
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4fdae5
add eax, 2
add ecx, 2
test dl, dl
jne 0x4fdac5
xor eax, eax
jmp 0x4fdaea
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4fdb0f
xor bl, bl
cmp byte [edi + 4], bl
jbe 0x4fdb0f
lea esi, [ebp - 0x758]
call fcn.00528f40
push eax
mov esi, edi
call fcn.004fd470
inc bl
cmp bl, byte [edi + 4]
jb 0x4fdaf5
lea eax, [ebp - 0x210]
push eax
lea esi, [ebp - 0x758]
call fcn.00528970
cmp eax, 0xffffffff
jne 0x4fd7a5
mov dword [ebp - method.CMHFile.virtual_0], vtable.CMHFile.0
mov dword [ebp - 4], 3
mov eax, dword [ebp - 0x754]
xor esi, esi
cmp eax, esi
je 0x4fdb57
push eax
call dword [sym.imp.MSVCR100.dll_fclose]
add esp, 4
mov dword [ebp - 0x754], esi
mov eax, dword [ebp - 0x730]
cmp eax, esi
je 0x4fdb71
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete___void__]
add esp, 4
mov dword [ebp - 0x730], esi
mov ecx, dword [ebp - 0x748]
mov dword [ebp - 0x744], esi
mov dword [ebp - 0x72c], esi
cmp ecx, esi
je 0x4fdba4
mov eax, dword [ebp - 0x74c]
mov edx, dword [eax]
push ecx
push eax
mov eax, dword [edx + 0x54]
call eax
mov eax, dword [ebp - 0x74c]
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x75c]
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