Function at 0x45a410
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x114
mov eax, dword [0x54d000]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 0x114], 0
mov esi, ecx
mov dword [ebp - 0x110], 0xff
cmp edi, 0xffffffff
je 0x45a4ba
push edi
lea eax, [ebp - 0x108]
push str.scene_thumb_02d.akb
push eax
call fcn.0045a740
mov eax, dword [esi]
lea ecx, [ebp - 0x108]
add esp, 0xc
push 0xffffffffffffffff
push 0xffffffffffffffff
push ebx
push 0xffffffffffffffff
push ebx
push dword [esi + 0xa4]
push ecx
mov ecx, esi
call dword [eax + 0xd0]
mov dword [esi + 0x138], edi
mov dword [esi + 0x13c], ebx
cmp dword [0x58dc78], 1
jne 0x45a497
call dword [sym.imp.KERNEL32.dll_GetTickCount]
jmp 0x45a49d
call dword [sym.imp.WINMM.dll_timeGetTime]
add eax, 0xfffffe0c
mov dword [esi + 0x140], eax
mov eax, dword [edi*4 + 0x5299f0]
mov dword [esi + 0x144], eax
jmp 0x45a582
cmp dword [0x58dc78], 1
mov edi, dword [sym.imp.WINMM.dll_timeGetTime]
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
jne 0x45a4d3
call ebx
jmp 0x45a4d5
call edi
sub eax, dword [esi + 0x140]
cmp eax, 0x3e8
jle 0x45a6ee
add eax, 0xfffffc18
mov dword [ebp - 0x10c], 0xff
imul ecx, eax, 0xff
mov eax, 0x10624dd3
imul ecx
lea eax, [ebp - 0x110]
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
lea edx, [ebp - 0x10c]
cmp ecx, 0xff
mov dword [ebp - 0x110], ecx
cmovge eax, edx
mov ecx, dword [eax]
mov eax, dword [esi + 0x13c]
mov dword [ebp - 0x114], eax
inc eax
cdq
idiv dword [esi + 0x144]
mov dword [ebp - 0x110], ecx
mov dword [ebp - 0x10c], edx
cmp ecx, 0xff
jne 0x45a580
mov dword [esi + 0x13c], edx
cmp dword [0x58dc78], 1
jne 0x45a570
call ebx
mov ebx, dword [ebp - 0x10c]
mov dword [esi + 0x140], eax
jmp 0x45a582
call edi
mov ebx, dword [ebp - 0x10c]
mov dword [esi + 0x140], eax
jmp 0x45a582
mov ebx, edx
mov eax, dword [esi + 0x98]
test eax, eax
je 0x45a594
lea edx, [eax + 0x120]
jmp 0x45a596
xor edx, edx
mov ecx, dword [esi + 0xac]
push 1
push 0
push 0x293
mov eax, dword [ecx + 0x120]
add ecx, 0x120
push edx
push 0x9e
push 0x114
push 0
push 0
call dword [eax + 0x48]
mov edi, dword [esi + 0xa4]
test edi, edi
je 0x45a5d5
add edi, 0x120
jmp 0x45a5d7
xor edi, edi
imul eax, dword [ebp - 0x114], 0x10e
mov ecx, dword [esi + 0xac]
push 1
push 0
add ecx, 0x120
push eax
push edi
push 0x98
mov edx, dword [ecx]
push 0x10e
push 3
push 3
call dword [edx + 0x48]
cmp dword [ebp - 0x114], ebx
je 0x45a657
mov eax, dword [esi + 0xa4]
test eax, eax
je 0x45a620
lea edi, [eax + 0x120]
jmp 0x45a622
xor edi, edi
mov eax, dword [ebp - 0x110]
mov ecx, dword [esi + 0xac]
push 0
movzx eax, al
add ecx, 0x120
push eax
push 0
imul eax, ebx, 0x10e
mov edx, dword [ecx]
push eax
push edi
push 0x98
push 0x10e
push 3
push 3
call dword [edx + 0x58]
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 0x138]
mov eax, dword [esi + 0x98]
je 0x45a682
test eax, eax
je 0x45a679
lea edx, [eax + 0x120]
push 0x9e
jmp 0x45a695
xor edx, edx
push 0x9e
jmp 0x45a695
test eax, eax
je 0x45a68e
lea edx, [eax + 0x120]
jmp 0x45a690
xor edx, edx
push 0x13c
mov ecx, dword [esi + 0xac]
push 0x293
push edx
push 0x9e
mov eax, dword [ecx + 0x120]
add ecx, 0x120
push 0x114
push 0
push 0
call dword [eax + 0x4c]
mov ecx, dword [esi + 0xac]
mov eax, dword [ecx]
call dword [eax + 0x2c]
mov ecx, dword [esi + 0xac]
test eax, eax
mov eax, dword [ecx]
je 0x45a6eb
call dword [eax + 0x38]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004d9d6a
mov esp, ebp
pop ebp
ret 4
call dword [eax + 0x30]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004d9d6a
mov esp, ebp
pop ebp
ret 4