Function at 0x484220
Capabilities:
Set current directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5802a0
mov eax, dword fs:[0]
push eax
sub esp, 0x58
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 edi, ecx
mov ecx, dword [eax + 0x40c]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x44], edi
test ecx, ecx
je 0x484267
add eax, 0x623
jmp 0x48426c
add eax, 0x601
movzx esi, word [eax]
mov ecx, 0x683418
mov dword [ebp - 0x4c], eax
call fcn.00530d10
mov ebx, eax
mov dword [ebp - 0x48], ebx
test ebx, ebx
jne 0x48428c
xor eax, eax
jmp 0x484bbc
mov ecx, dword [ebp - 0x4c]
movzx edx, word [ecx + 2]
imul edx, edx, 0x68
lea eax, [edx + ebx - 0xc]
test eax, eax
je 0x484285
movzx ecx, word [eax + 0x10]
mov dword [ebp - 0x40], ecx
fild dword [ebp - 0x40]
fmul dword [eax + 0xc]
call fcn.00577600
mov esi, dword [ebp - 0x50]
mov ecx, dword [esi + 0x320]
mov dword [ecx + 0x22c], eax
add ebx, 0x15
cmp dword [edi + 0x14], 0
mov dword [edi + 0x2c], 0
jne 0x4842d6
mov dword [edi + 0x24], 1
mov edx, dword [edi]
mov eax, dword [edx + 4]
mov ecx, edi
call eax
mov dword [edi + 0x10], esi
mov byte [edi + 0x28], 0
mov dword [edi + 0x18], 0
mov dword [esi + 4], 0xa
mov esi, 0xf
cmp dword [0x6573f0], esi
je 0x484314
mov ecx, dword [0x6573e4]
push ecx
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov dword [0x6573f0], esi
mov eax, dword [0x65fadc]
mov edx, dword [eax]
push ebx
push eax
mov eax, dword [edx + 0x188]
call eax
push edi
xor ecx, ecx
call fcn.0054af90
mov esi, eax
mov dword [edi + 0x14], esi
test esi, esi
jne 0x484392
push 0x5948e0
push str.._Log_MissedObjectList.txt
call dword [sym.imp.MSVCR100.dll_fopen]
mov esi, eax
add esp, 8
test esi, esi
je 0x484369
push ebx
push 0x596998
push esi
call dword [sym.imp.MSVCR100.dll_fprintf]
add esp, 0xc
push esi
call dword [sym.imp.MSVCR100.dll_fclose]
add esp, 4
cmp dword [0x6573f0], 0
je 0x484421
mov ecx, dword [0x6573a8]
push ecx
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov dword [0x6573f0], 0
jmp 0x484421
call fcn.00549110
test eax, eax
jne 0x4843a7
mov edx, esi
mov edi, ebx
call fcn.00549280
mov edi, dword [ebp - 0x44]
mov dword [edi + 0x3c], eax
cmp dword [0x6573f0], 0
je 0x4843ca
mov edx, dword [0x6573a8]
push edx
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov dword [0x6573f0], 0
cmp dword [edi + 0x24], 0xffffffff
jne 0x4843de
push 1
mov ecx, 1
mov esi, edi
call fcn.0054a4a0
cmp dword [edi + 0x14], 0
je 0x484421
mov ecx, dword [edi + 0x24]
mov edx, dword [edi + 0x3c]
call fcn.00548ff0
mov ecx, dword [0x65fadc]
mov dword [edi + 0x38], eax
movzx eax, word [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edi + 0x14]
push eax
push ecx
mov ecx, dword [edx + 0x44]
call ecx
mov ecx, dword [edi + 0x38]
movzx ecx, word [ecx + 2]
mov eax, dword [0x65fadc]
mov edx, dword [eax]
mov edx, dword [edx + 0x40]
push ecx
mov ecx, dword [edi + 0x14]
push ecx
push eax
call edx
push str.NULL.MOD
push 1
mov ebx, edi
call fcn.0054a570
push str.NULL.MOD
push 5
call fcn.0054a570
mov eax, dword [ebp - 0x4c]
cmp dword [eax + 6], 0
jne 0x4845d9
push 0x98
call dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
mov dword [ebp - 0x40], eax
mov dword [ebp - 4], 0
test eax, eax
je 0x48446e
push eax
call fcn.00549be0
mov esi, eax
jmp 0x484470
xor esi, esi
mov dword [ebp - 4], 0xffffffff
mov ebx, dword [ebp - 0x48]
xor edi, edi
add ebx, 0x36
mov dword [esi + 0x2c], edi
cmp dword [esi + 0x14], edi
jne 0x48448e
mov dword [esi + 0x24], 1
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
mov dword [esi + 0x18], edi
mov dword [esi + 0x10], edi
mov edi, 0xf
mov byte [esi + 0x28], 0
cmp dword [0x6573f0], edi
je 0x4844c1
mov ecx, dword [0x6573e4]
push ecx
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov dword [0x6573f0], edi
mov eax, dword [0x65fadc]
mov edx, dword [eax]
push ebx
push eax
mov eax, dword [edx + 0x188]
call eax
push esi
xor ecx, ecx
call fcn.0054af90
mov edi, eax
mov dword [esi + 0x14], edi
test edi, edi
jne 0x48453f
push 0x5948e0
push str.._Log_MissedObjectList.txt
call dword [sym.imp.MSVCR100.dll_fopen]
mov edi, eax
add esp, 8
test edi, edi
je 0x484516
push ebx
push 0x596998
push edi
call dword [sym.imp.MSVCR100.dll_fprintf]
add esp, 0xc
push edi
call dword [sym.imp.MSVCR100.dll_fclose]
add esp, 4
cmp dword [0x6573f0], 0
je 0x4845c9
mov ecx, dword [0x6573a8]
push ecx
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov dword [0x6573f0], 0
jmp 0x4845c9
call fcn.00549110
test eax, eax
jne 0x484551
mov edx, edi
mov edi, ebx
call fcn.00549280
mov dword [esi + 0x3c], eax
cmp dword [0x6573f0], 0
je 0x484574
mov edx, dword [0x6573a8]
push edx
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov dword [0x6573f0], 0
cmp dword [esi + 0x24], 0xffffffff
jne 0x484586
push 1
mov ecx, 1
call fcn.0054a4a0
cmp dword [esi + 0x14], 0
je 0x4845c9
mov ecx, dword [esi + 0x24]
mov edx, dword [esi + 0x3c]
call fcn.00548ff0
mov ecx, dword [0x65fadc]
mov dword [esi + 0x38], eax
movzx eax, word [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [esi + 0x14]
push eax
push ecx
mov ecx, dword [edx + 0x44]
call ecx
mov ecx, dword [esi + 0x38]
movzx ecx, word [ecx + 2]
mov eax, dword [0x65fadc]
mov edx, dword [eax]
mov edx, dword [edx + 0x40]
push ecx
mov ecx, dword [esi + 0x14]
push ecx
push eax
call edx
mov eax, dword [ebp - 0x44]
push eax
mov ebx, str.Bip01_Head
mov edi, esi
call fcn.0054ad60
xor esi, esi
mov dword [ebp - 0x40], esi
mov ecx, dword [ebp - 0x4c]
mov ecx, dword [ecx + esi*4 + 6]
test ecx, ecx
je 0x484a8d
xor edx, edx
mov eax, ecx
div dword [0x67ddb8]
mov eax, dword [0x67ddbc]
mov eax, dword [eax + edx*4]
test eax, eax
je 0x484a8d
cmp dword [eax], ecx
je 0x484617
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x484607
jmp 0x484a8d
mov eax, dword [eax + 4]
test eax, eax
je 0x484a8d
movzx ecx, word [eax + 0x7c]
movzx edi, word [eax + 0x7e]
cmp ecx, 0xffffffff
je 0x484a8d
test esi, esi
jne 0x4848b9
mov edx, dword [0x698150]
mov eax, dword [edx + edi*4]
mov ebx, dword [ebp - 0x44]
push eax
push ecx
call fcn.0054a570
xor ebx, ebx
xor eax, eax
mov dword [ebp - 0x2f], eax
mov dword [ebp - 0x2b], eax
mov dword [ebp - 0x27], eax
mov dword [ebp - 0x23], eax
mov dword [ebp - 0x1f], eax
mov dword [ebp - 0x1b], eax
mov dword [ebp - 0x17], eax
mov byte [ebp - 0x13], al
mov eax, dword [0x698150]
mov byte [ebp - 0x30], bl
mov ecx, dword [eax + edi*4]
mov eax, ecx
lea esi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x484680
sub eax, esi
lea esi, [eax + 1]
lea edi, [ebp - 0x30]
call fcn.0052ccd0
mov ecx, edi
push str._h02_
push ecx
call dword [sym.imp.MSVCR100.dll_strstr]
mov ecx, edi
add esp, 8
lea esi, [ecx + 1]
lea ebx, [ebx]
mov dl, byte [ecx]
inc ecx
cmp dl, bl
jne 0x4846b0
sub ecx, esi
lea esi, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x4846c0
sub eax, esi
lea edx, [ebp - 0x2d]
sub edx, eax
push 0x98
mov byte [edx + ecx], 0x31
call dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
mov dword [ebp - 0x48], eax
mov edi, 1
mov dword [ebp - 4], edi
cmp eax, ebx
je 0x4846fc
push eax
call fcn.00549be0
mov esi, eax
mov dword [ebp - 0x48], esi
jmp 0x484701
mov dword [ebp - 0x48], ebx
mov esi, ebx
mov dword [ebp - 4], 0xffffffff
mov dword [esi + 0x2c], ebx
cmp dword [esi + 0x14], ebx
jne 0x484713
mov dword [esi + 0x24], edi
mov eax, dword [esi]
mov edx, dword [eax + 4]
mov ecx, esi
call edx
mov edi, 0xf
mov byte [esi + 0x28], bl
mov dword [esi + 0x18], ebx
mov dword [esi + 0x10], ebx
cmp dword [0x6573f0], edi
je 0x484744
mov eax, dword [0x6573e4]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov dword [0x6573f0], edi
mov eax, dword [0x65fadc]
mov ecx, dword [eax]
lea edx, [ebp - 0x30]
push edx
push eax
mov eax, dword [ecx + 0x188]
call eax
push esi
xor ecx, ecx
lea ebx, [ebp - 0x30]
call fcn.0054af90
mov edi, eax
mov dword [esi + 0x14], edi
test edi, edi
jne 0x4847ca
push 0x5948e0
push str.._Log_MissedObjectList.txt
call dword [sym.imp.MSVCR100.dll_fopen]
mov edi, eax
add esp, 8
test edi, edi
je 0x4847a1
mov ecx, ebx
push ecx
push 0x596998
push edi
call dword [sym.imp.MSVCR100.dll_fprintf]
add esp, 0xc
push edi
call dword [sym.imp.MSVCR100.dll_fclose]
add esp, 4
cmp dword [0x6573f0], 0
je 0x4848a1
mov edx, dword [0x6573a8]
push edx
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov dword [0x6573f0], 0
jmp 0x4848a1
lea ebx, [ebp - 0x30]
call fcn.00549110
test eax, eax
je 0x4847da
mov ebx, eax
jmp 0x484827
mov eax, dword [0x65fadc]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x4c]
push 0
push edi
push eax
call edx
push 8
mov edi, eax
call dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
mov dword [ebp - 0x54], eax
mov dword [ebp - 4], 2
test eax, eax
je 0x484815
mov ecx, edi
mov esi, eax
call fcn.00548f40
mov esi, dword [ebp - 0x48]
mov ebx, eax
jmp 0x484817
xor ebx, ebx
push ebx
lea edi, [ebp - 0x30]
mov dword [ebp - 4], 0xffffffff
call fcn.00549190
mov dword [esi + 0x3c], ebx
cmp dword [0x6573f0], 0
je 0x484849
mov eax, dword [0x6573a8]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov dword [0x6573f0], 0
cmp dword [esi + 0x24], 0xffffffff
jne 0x48485e
push 1
mov ecx, 1
call fcn.0054a4a0
mov esi, dword [ebp - 0x48]
cmp dword [esi + 0x14], 0
je 0x4848a1
mov ecx, dword [esi + 0x24]
mov edx, dword [esi + 0x3c]
call fcn.00548ff0
mov ecx, dword [0x65fadc]
mov dword [esi + 0x38], eax
movzx eax, word [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [esi + 0x14]
push eax
push ecx
mov ecx, dword [edx + 0x44]
call ecx
mov ecx, dword [esi + 0x38]
movzx ecx, word [ecx + 2]
mov eax, dword [0x65fadc]
mov edx, dword [eax]
mov edx, dword [edx + 0x40]
push ecx
mov ecx, dword [esi + 0x14]
push ecx
push eax
call edx
mov eax, dword [ebp - 0x44]
push eax
mov ebx, str.Bip01_Head
mov edi, esi
call fcn.0054ad60
mov esi, dword [ebp - 0x40]
jmp 0x484a8d
cmp esi, 4
jne 0x4848cf
mov ecx, dword [0x698150]
mov edx, dword [ecx + edi*4]
push edx
push 5
jmp 0x484a85
cmp esi, 5
jne 0x484a75
push 0x98
call dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
mov dword [ebp - 0x54], eax
mov dword [ebp - 4], 3
test eax, eax
je 0x4848fe
push eax
call fcn.00549be0
mov esi, eax
jmp 0x484900
xor esi, esi
mov dword [ebp - 4], 0xffffffff
cmp dword [esi + 0x14], 0
mov eax, dword [0x698150]
mov ebx, dword [eax + edi*4]
mov dword [esi + 0x2c], 0
jne 0x484923
mov dword [esi + 0x24], 1
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
xor eax, eax
mov edi, 0xf
mov byte [esi + 0x28], 0
mov dword [esi + 0x18], eax
mov dword [esi + 0x10], eax
cmp dword [0x6573f0], edi
je 0x484958
mov ecx, dword [0x6573e4]
push ecx
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov dword [0x6573f0], edi
mov eax, dword [0x65fadc]
mov edx, dword [eax]
push ebx
push eax
mov eax, dword [edx + 0x188]
call eax
push esi
xor ecx, ecx
call fcn.0054af90
mov edi, eax
mov dword [esi + 0x14], edi
test edi, edi
jne 0x4849d6
push 0x5948e0
push str.._Log_MissedObjectList.txt
call dword [sym.imp.MSVCR100.dll_fopen]
mov edi, eax
add esp, 8
test edi, edi
je 0x4849ad
push ebx
push 0x596998
push edi
call dword [sym.imp.MSVCR100.dll_fprintf]
add esp, 0xc
push edi
call dword [sym.imp.MSVCR100.dll_fclose]
add esp, 4
cmp dword [0x6573f0], 0
je 0x484a60
mov ecx, dword [0x6573a8]
push ecx
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov dword [0x6573f0], 0
jmp 0x484a60
call fcn.00549110
test eax, eax
jne 0x4849e8
mov edx, edi
mov edi, ebx
call fcn.00549280
mov dword [esi + 0x3c], eax
cmp dword [0x6573f0], 0
je 0x484a0b
mov edx, dword [0x6573a8]
push edx
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov dword [0x6573f0], 0
cmp dword [esi + 0x24], 0xffffffff
jne 0x484a1d
push 1
mov ecx, 1
call fcn.0054a4a0
cmp dword [esi + 0x14], 0
je 0x484a60
mov ecx, dword [esi + 0x24]
mov edx, dword [esi + 0x3c]
call fcn.00548ff0
mov ecx, dword [0x65fadc]
mov dword [esi + 0x38], eax
movzx eax, word [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [esi + 0x14]
push eax
push ecx
mov ecx, dword [edx + 0x44]
call ecx
mov ecx, dword [esi + 0x38]
movzx ecx, word [ecx + 2]
mov eax, dword [0x65fadc]
mov edx, dword [eax]
mov edx, dword [edx + 0x40]
push ecx
mov ecx, dword [esi + 0x14]
push ecx
push eax
call edx
mov eax, dword [ebp - 0x44]
push eax
mov ebx, str.Bone_Forearm
mov edi, esi
call fcn.0054ad60
mov esi, dword [ebp - 0x40]
jmp 0x484a8d
cmp ecx, 5
je 0x484a8d
mov edx, dword [0x698150]
mov eax, dword [edx + edi*4]
push eax
push ecx
mov ebx, dword [ebp - 0x44]
call fcn.0054a570
inc esi
mov dword [ebp - 0x40], esi
cmp esi, 7
jl 0x4845de
mov edi, dword [ebp - 0x50]
mov al, byte [edi + 0x147]
cmp al, 3
je 0x484ab9
cmp al, 8
je 0x484ab9
mov esi, dword [ebp - 0x44]
mov edx, esi
mov ecx, edi
call fcn.00485d30
jmp 0x484abc
mov esi, dword [ebp - 0x44]
mov eax, dword [ebp - 0x4c]
movzx ecx, word [eax + 4]
cmp ecx, 0x5f
jbe 0x484ad3
mov ecx, 0x5f
mov word [eax + 4], cx
jmp 0x484ae1
cmp ecx, 0x55
jae 0x484ae1
mov edx, 0x55
mov word [eax + 4], dx
movzx eax, word [eax + 4]
mov dword [ebp - 0x40], eax
fild dword [ebp - 0x40]
fmul qword [0x598dd0]
fstp dword [ebp - 0x40]
fld dword [ebp - 0x40]
fstp dword [ebp - 0x40]
fld dword [ebp - 0x40]
fst dword [ebp - 0x60]
mov ecx, dword [ebp - 0x60]
fst dword [ebp - 0x5c]
mov edx, dword [ebp - 0x5c]
fstp dword [ebp - 0x58]
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x34], eax
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], edx
test eax, eax
je 0x484b35
mov ecx, dword [0x65fadc]
mov edx, dword [ecx]
lea ebx, [ebp - 0x3c]
push ebx
push eax
mov eax, dword [edx + 0x8c]
push ecx
call eax
mov eax, dword [esi + 0x14]
test eax, eax
je 0x484b5e
cmp dword [0x65fae8], 0
mov dword [esi + 0xc], 1
jne 0x484b5e
mov ecx, dword [0x65fadc]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x98]
push ecx
call eax
mov edx, dword [edi]
mov edx, dword [edx + 0x84]
lea eax, [edi + 0x14c]
push eax
mov ecx, edi
call edx
fld dword [edi + 0x24c]
fdiv qword [0x598de0]
mov eax, dword [edi]
mov edx, dword [eax + 0x8c]
push ecx
mov ecx, edi
fmul qword [0x598dd8]
fstp dword [ebp - 0x40]
fld dword [ebp - 0x40]
fstp dword [esp]
call edx
mov eax, dword [edi + 0x129]
cmp eax, dword [0x65fab0]
jne 0x484bb2
lea ecx, [edi + 0x284]
call fcn.0054a8f0
call fcn.004b5470
mov eax, 1
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 4