Function at 0x482660
Capabilities:
Set current directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x579f08
mov eax, dword fs:[0]
push eax
push ebx
push esi
push edi
mov eax, dword [0x5b107c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
mov al, byte [edi + 0x4fe]
test al, al
je 0x482c00
mov eax, dword [ebp + 0x10]
cmp byte [eax], 0
mov ebx, dword [ebp + 0xc]
jne 0x4826a8
push str.NULLHAIR_M.MOD
jmp 0x4826ad
push str.NULLHAIR_W.MOD
push 0
call fcn.0054a570
push 0x98
call dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
mov dword [ebp + 8], eax
xor ebx, ebx
mov dword [ebp - 4], ebx
cmp eax, ebx
je 0x4826db
push eax
call fcn.00549be0
mov esi, eax
mov dword [ebp + 8], esi
jmp 0x4826e0
mov dword [ebp + 8], ebx
mov esi, ebx
mov dword [ebp - 4], 0xffffffff
mov al, byte [edi + 0x4fe]
mov ecx, 1
cmp al, cl
jne 0x48294f
cmp byte [edi + 0x428], bl
mov dword [esi + 0x2c], ebx
jne 0x482845
cmp dword [esi + 0x14], ebx
jne 0x482711
mov dword [esi + 0x24], ecx
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
mov edi, 6
mov byte [esi + 0x28], bl
mov dword [esi + 0x18], ebx
mov dword [esi + 0x10], ebx
cmp dword [0x6573f0], edi
je 0x482743
mov ecx, dword [0x6573c0]
push ecx
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov dword [0x6573f0], edi
mov eax, dword [0x65fadc]
mov edx, dword [eax]
push str.M_mandoo.MOD
push eax
mov eax, dword [edx + 0x188]
call eax
push esi
xor ecx, ecx
mov ebx, str.M_mandoo.MOD
call fcn.0054af90
mov edi, eax
mov dword [esi + 0x14], edi
test edi, edi
jne 0x4827ca
push 0x5948e0
push str.._Log_MissedObjectList.txt
call dword [sym.imp.MSVCR100.dll_fopen]
mov edi, eax
add esp, 8
test edi, edi
je 0x4827a1
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 0x482ba5
mov ecx, dword [0x6573a8]
push ecx
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov dword [0x6573f0], 0
jmp 0x482ba5
mov ebx, str.M_mandoo.MOD
call fcn.00549110
test eax, eax
jne 0x482829
mov eax, dword [0x65fadc]
mov edx, dword [eax]
push 0
push edi
push eax
mov eax, dword [edx + 0x4c]
call eax
push 8
mov esi, eax
call dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
mov dword [ebp + 0x10], eax
mov dword [ebp - 4], 1
test eax, eax
je 0x482810
mov ecx, esi
mov esi, eax
call fcn.00548f40
mov esi, eax
jmp 0x482812
xor esi, esi
push esi
mov edi, str.M_mandoo.MOD
mov dword [ebp - 4], 0xffffffff
call fcn.00549190
mov eax, esi
mov esi, dword [ebp + 8]
mov dword [esi + 0x3c], eax
cmp dword [0x6573f0], 0
je 0x482b50
mov ecx, dword [0x6573a8]
push ecx
jmp 0x482b40
cmp dword [esi + 0x14], ebx
jne 0x48284d
mov dword [esi + 0x24], ecx
mov eax, dword [esi]
mov edx, dword [eax + 4]
mov ecx, esi
call edx
mov edi, 6
mov byte [esi + 0x28], bl
mov dword [esi + 0x18], ebx
mov dword [esi + 0x10], ebx
cmp dword [0x6573f0], edi
je 0x48287e
mov eax, dword [0x6573c0]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov dword [0x6573f0], edi
mov eax, dword [0x65fadc]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x188]
push str.W_mandoo.MOD
push eax
call edx
push esi
xor ecx, ecx
mov ebx, str.W_mandoo.MOD
call fcn.0054af90
mov edi, eax
mov dword [esi + 0x14], edi
test edi, edi
jne 0x4828f4
push 0x5948e0
push str.._Log_MissedObjectList.txt
call dword [sym.imp.MSVCR100.dll_fopen]
mov edi, eax
add esp, 8
test edi, edi
je 0x4828dc
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 0x482ba5
mov eax, dword [0x6573a8]
push eax
jmp 0x4827b5
mov ebx, str.W_mandoo.MOD
call fcn.00549110
test eax, eax
jne 0x482b2e
mov eax, dword [0x65fadc]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x4c]
push 0
push edi
push eax
call edx
push 8
mov esi, eax
call dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
mov dword [ebp + 0x10], eax
mov dword [ebp - 4], 2
test eax, eax
je 0x482943
mov ecx, esi
mov esi, eax
call fcn.00548f40
mov esi, eax
mov edi, ebx
jmp 0x482b1c
xor esi, esi
mov edi, str.W_mandoo.MOD
jmp 0x482b1c
cmp al, 2
jne 0x482ba7
cmp byte [edi + 0x428], bl
mov dword [esi + 0x2c], ebx
jne 0x482a48
cmp dword [esi + 0x14], ebx
jne 0x48296e
mov dword [esi + 0x24], ecx
mov eax, dword [esi]
mov edx, dword [eax + 4]
mov ecx, esi
call edx
mov edi, 6
mov byte [esi + 0x28], bl
mov dword [esi + 0x18], ebx
mov dword [esi + 0x10], ebx
cmp dword [0x6573f0], edi
je 0x48299f
mov eax, dword [0x6573c0]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov dword [0x6573f0], edi
mov eax, dword [0x65fadc]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x188]
push str.M_wb.MOD
push eax
call edx
push esi
xor ecx, ecx
mov ebx, str.M_wb.MOD
call fcn.0054af90
mov edi, eax
mov dword [esi + 0x14], edi
test edi, edi
jne 0x4829ed
push 0x5948e0
push str.._Log_MissedObjectList.txt
call dword [sym.imp.MSVCR100.dll_fopen]
mov edi, eax
add esp, 8
test edi, edi
je 0x4828dc
push ebx
jmp 0x4828c3
mov ebx, str.M_wb.MOD
call fcn.00549110
test eax, eax
jne 0x482b2e
mov eax, dword [0x65fadc]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x4c]
push 0
push edi
push eax
call edx
push 8
mov esi, eax
call dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
mov dword [ebp + 0x10], eax
mov dword [ebp - 4], 3
test eax, eax
je 0x482a3c
mov ecx, esi
mov esi, eax
call fcn.00548f40
mov esi, eax
mov edi, ebx
jmp 0x482b1c
xor esi, esi
mov edi, str.M_wb.MOD
jmp 0x482b1c
cmp dword [esi + 0x14], ebx
jne 0x482a50
mov dword [esi + 0x24], ecx
mov eax, dword [esi]
mov edx, dword [eax + 4]
mov ecx, esi
call edx
mov edi, 6
mov byte [esi + 0x28], bl
mov dword [esi + 0x18], ebx
mov dword [esi + 0x10], ebx
cmp dword [0x6573f0], edi
je 0x482a81
mov eax, dword [0x6573c0]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov dword [0x6573f0], edi
mov eax, dword [0x65fadc]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x188]
push str.W_wb.MOD
push eax
call edx
push esi
xor ecx, ecx
mov ebx, str.W_wb.MOD
call fcn.0054af90
mov edi, eax
mov dword [esi + 0x14], edi
test edi, edi
jne 0x482acf
push 0x5948e0
push str.._Log_MissedObjectList.txt
call dword [sym.imp.MSVCR100.dll_fopen]
mov edi, eax
add esp, 8
test edi, edi
je 0x4828dc
push ebx
jmp 0x4828c3
mov ebx, str.W_wb.MOD
call fcn.00549110
test eax, eax
jne 0x482b2e
mov eax, dword [0x65fadc]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x4c]
push 0
push edi
push eax
call edx
push 8
mov esi, eax
call dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
mov dword [ebp + 0x10], eax
mov dword [ebp - 4], 4
test eax, eax
je 0x482b15
mov ecx, esi
mov esi, eax
call fcn.00548f40
mov esi, eax
jmp 0x482b17
xor esi, esi
mov edi, str.W_wb.MOD
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.00549190
mov eax, esi
mov esi, dword [ebp + 8]
mov dword [esi + 0x3c], eax
cmp dword [0x6573f0], 0
je 0x482b50
mov eax, dword [0x6573a8]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov dword [0x6573f0], 0
cmp dword [esi + 0x24], 0xffffffff
jne 0x482b62
push 1
mov ecx, 1
call fcn.0054a4a0
cmp dword [esi + 0x14], 0
je 0x482ba5
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
xor ebx, ebx
mov edx, dword [esi + 0x14]
cmp edx, ebx
je 0x482eeb
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x14]
cmp eax, ebx
je 0x482eeb
mov ecx, dword [0x65fadc]
mov edi, dword [ecx]
push str.Bip01_Head
push eax
push edx
push ecx
mov ecx, dword [edi + 0xcc]
call ecx
cmp eax, ebx
je 0x482eeb
mov ecx, dword [ebp + 0xc]
push esi
add ecx, 0x5c
call fcn.005745a0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov esi, dword [ebp + 0x10]
mov edx, dword [esi + 4]
mov ecx, dword [edx]
xor edx, edx
mov eax, ecx
div dword [0x67ddb8]
mov eax, dword [0x67ddbc]
xor edi, edi
mov eax, dword [eax + edx*4]
test eax, eax
je 0x482c36
cmp dword [eax], ecx
je 0x482c2d
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x482c20
jmp 0x482c36
mov eax, dword [eax + 4]
test eax, eax
je 0x482c36
mov edi, dword [eax]
mov ebx, dword [esi + 0x14]
cmp dword [ebx + 0x34], 0
je 0x482eeb
mov ecx, dword [ebp + 8]
mov esi, dword [ecx + 0x59e]
mov ecx, 0x6980b0
call fcn.0056e550
test eax, eax
je 0x482c92
mov cl, byte [eax + 1]
cmp cl, 3
je 0x482c67
cmp cl, 4
jne 0x482c92
cmp dword [eax + 0x36], 0
jne 0x482d20
test esi, esi
je 0x482d20
cmp dword [ebx + 0xc], 0
ja 0x482d20
cmp dword [ebx + 0x10], 0
jbe 0x482eeb
jmp 0x482d20
mov ecx, edi
call fcn.00482210
test eax, eax
je 0x482d20
cmp dword [eax + 4], 0
jne 0x482d20
mov esi, dword [ebx + 0x18]
test esi, esi
je 0x482cf9
mov ecx, 0x6980b0
call fcn.0056e550
test eax, eax
je 0x482d20
cmp dword [eax + 2], 0
je 0x482d20
cmp dword [ebx], 0
jne 0x482d20
mov edx, dword [ebp + 8]
cmp dword [edx + 0x59a], 0
jne 0x482d20
cmp dword [ebx + 0xc], 0
jne 0x482d20
cmp dword [ebx + 0x10], 0
jne 0x482d20
cmp dword [ebx + 4], 0
jne 0x482d20
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp dword [ebx], 0
jne 0x482d20
mov eax, dword [ebp + 8]
cmp dword [eax + 0x59a], 0
jne 0x482d20
cmp dword [ebx + 0xc], 0
jne 0x482d20
cmp dword [ebx + 0x10], 0
jne 0x482d20
cmp dword [ebx + 4], 0
je 0x482eeb
push 0x98
call dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
mov dword [ebp + 8], eax
mov dword [ebp - 4], 5
test eax, eax
je 0x482d46
push eax
call fcn.00549be0
mov esi, eax
jmp 0x482d48
xor esi, esi
mov dword [ebp - 4], 0xffffffff
mov edi, dword [ebp + 0x10]
movzx edx, byte [edi + 2]
mov ecx, dword [edi + 0xc]
cmp dword [ecx], edx
ja 0x482d71
push str.AppearanceManager.cpp
xor ecx, ecx
mov edx, 0x1dd
call fcn.0052cb10
add esp, 4
movzx ecx, byte [edi + 2]
mov eax, dword [edi + 0xc]
cmp dword [eax], ecx
ja 0x482d80
mov byte [edi + 2], 0
cmp dword [esi + 0x14], 0
movzx edx, byte [edi + 2]
mov eax, dword [eax + 4]
mov ebx, dword [eax + edx*4]
mov dword [esi + 0x2c], 0
jne 0x482d9e
mov dword [esi + 0x24], 1
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
xor eax, eax
mov edi, 6
mov byte [esi + 0x28], 0
mov dword [esi + 0x18], eax
mov dword [esi + 0x10], eax
cmp dword [0x6573f0], edi
je 0x482dd3
mov ecx, dword [0x6573c0]
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 0x482e51
push 0x5948e0
push str.._Log_MissedObjectList.txt
call dword [sym.imp.MSVCR100.dll_fopen]
mov edi, eax
add esp, 8
test edi, edi
je 0x482e28
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 0x482edb
mov ecx, dword [0x6573a8]
push ecx
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov dword [0x6573f0], 0
jmp 0x482edb
call fcn.00549110
test eax, eax
jne 0x482e63
mov edx, edi
mov edi, ebx
call fcn.00549280
mov dword [esi + 0x3c], eax
cmp dword [0x6573f0], 0
je 0x482e86
mov edx, dword [0x6573a8]
push edx
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov dword [0x6573f0], 0
cmp dword [esi + 0x24], 0xffffffff
jne 0x482e98
push 1
mov ecx, 1
call fcn.0054a4a0
cmp dword [esi + 0x14], 0
je 0x482edb
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 + 0xc]
push eax
mov ebx, str.Bip01_Head
mov edi, esi
call fcn.0054ad60
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc