Function at 0x424c16
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push ecx
mov eax, dword [0x4a8540]
push ebx
mov ebx, 1
add eax, 0xffffffd0
push esi
push edi
mov byte [0x4a86ab], bl
mov byte [0x4a86b6], bl
cmp eax, 0x15
ja case.default.0x424579
jmp dword [eax*4 + 0x42506c]
mov eax, dword [0x4c5604]
fldz
cmp byte [eax + 0xf4], 0
mov esi, dword [sym.imp.USER32.dll_SetTimer]
jne 0x4245bb
mov byte [eax + 0xf4], bl
mov eax, dword [0x4c5604]
push 0
fstp dword [eax + 0x88]
mov ecx, dword [0x4b5978]
push 0x1e
push 0x472
push ecx
call esi
fldz
mov edx, dword [0x4b5be0]
cmp byte [edx + 0xf4], 0
jne 0x424625
mov eax, dword [0x4c5240]
fld1
fst dword [eax + 0x88]
push 0
mov ecx, dword [0x4c5160]
fstp dword [ecx + 0x88]
mov edx, dword [0x4b5be0]
mov byte [edx + 0xf4], bl
mov eax, dword [0x4b5be0]
fst dword [eax + 0x88]
mov ecx, dword [0x4c58dc]
mov byte [ecx + 0xf4], bl
mov edx, dword [0x4c58dc]
push 0x1e
fstp dword [edx + 0x88]
mov eax, dword [0x4b5978]
push 0x473
push eax
call esi
jmp 0x424627
fstp st(0)
xor eax, eax
lea esp, [esp]
cmp byte [eax + 0x4b54f8], 0
jne 0x424642
add eax, ebx
cmp eax, 5
jl 0x424630
jmp 0x424649
mov byte [0x4a86ab], 0
push 0
push 0
push 5
call fcn.00409510
push ebx
push ebx
push 6
call fcn.00409510
push ebx
push ebx
push 0x3c
call fcn.00409510
add esp, 0x24
cmp byte [0x4a86ab], 0
mov dword [0x4b54f0], ebx
je case.default.0x424579
mov ecx, dword [0x4b5978]
push 0
push 0x12c
push 0x470
push ecx
call esi
push str._PlayBgEvMov__NIGHT_1_TURTLE_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x4c5604]
fldz
cmp byte [eax + 0xf4], 0
mov esi, dword [sym.imp.USER32.dll_SetTimer]
jne 0x4246de
mov byte [eax + 0xf4], bl
mov edx, dword [0x4c5604]
push 0
fstp dword [edx + 0x88]
mov eax, dword [0x4b5978]
push 0x1e
push 0x472
push eax
call esi
fldz
mov ecx, dword [0x4b5be0]
cmp byte [ecx + 0xf4], 0
jne 0x424749
mov edx, dword [0x4c5240]
fld1
fst dword [edx + 0x88]
push 0
mov eax, dword [0x4c5160]
fstp dword [eax + 0x88]
mov ecx, dword [0x4b5be0]
mov byte [ecx + 0xf4], bl
mov edx, dword [0x4b5be0]
fst dword [edx + 0x88]
mov eax, dword [0x4c58dc]
mov byte [eax + 0xf4], bl
mov ecx, dword [0x4c58dc]
push 0x1e
fstp dword [ecx + 0x88]
mov edx, dword [0x4b5978]
push 0x473
push edx
call esi
jmp 0x42474b
fstp st(0)
push 0
push 0
push 5
call fcn.00409510
push ebx
push ebx
push 6
call fcn.00409510
add esp, 0x18
cmp byte [0x4a86ab], 0
mov dword [0x4b54f0], ebx
je case.default.0x424579
push str._PlayBgEvMov__JUST_NIGHT_1__n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x4c5604]
fldz
cmp byte [eax + 0xf4], 0
mov esi, dword [sym.imp.USER32.dll_SetTimer]
jne 0x4247c2
mov byte [eax + 0xf4], bl
mov eax, dword [0x4c5604]
push 0
fstp dword [eax + 0x88]
mov ecx, dword [0x4b5978]
push 0x1e
push 0x472
push ecx
call esi
fldz
mov edx, dword [0x4c5240]
cmp byte [edx + 0xf4], 0
jne 0x42482c
mov eax, dword [0x4b5be0]
fld1
fst dword [eax + 0x88]
push 0
mov ecx, dword [0x4c58dc]
fstp dword [ecx + 0x88]
mov edx, dword [0x4c5240]
mov byte [edx + 0xf4], bl
mov eax, dword [0x4c5240]
fst dword [eax + 0x88]
mov ecx, dword [0x4c5160]
mov byte [ecx + 0xf4], bl
mov edx, dword [0x4c5160]
push 0x1e
fstp dword [edx + 0x88]
mov eax, dword [0x4b5978]
push 0x474
push eax
call esi
jmp 0x42482e
fstp st(0)
xor eax, eax
cmp byte [eax + 0x4b54f8], 0
jne 0x424842
add eax, ebx
cmp eax, 5
jl 0x424830
jmp 0x424849
mov byte [0x4a86ab], 0
push 0
push 0
push 5
call fcn.00409510
push ebx
push ebx
push 6
call fcn.00409510
push ebx
push ebx
push 0x3c
call fcn.00409510
add esp, 0x24
cmp byte [0x4a86ab], 0
mov dword [0x4b54f0], ebx
je case.default.0x424579
mov ecx, dword [0x4b5978]
push 0
push 0x12c
push 0x470
push ecx
call esi
push str._PlayBgEvMov__NIGHT_2_TURTLE_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x4c5604]
fldz
cmp byte [eax + 0xf4], 0
mov esi, dword [sym.imp.USER32.dll_SetTimer]
jne 0x4248de
mov byte [eax + 0xf4], bl
mov edx, dword [0x4c5604]
push 0
fstp dword [edx + 0x88]
mov eax, dword [0x4b5978]
push 0x1e
push 0x472
push eax
call esi
fldz
mov ecx, dword [0x4c5240]
cmp byte [ecx + 0xf4], 0
jne 0x424949
mov edx, dword [0x4b5be0]
fld1
fst dword [edx + 0x88]
push 0
mov eax, dword [0x4c58dc]
fstp dword [eax + 0x88]
mov ecx, dword [0x4c5240]
mov byte [ecx + 0xf4], bl
mov edx, dword [0x4c5240]
fst dword [edx + 0x88]
mov eax, dword [0x4c5160]
mov byte [eax + 0xf4], bl
mov ecx, dword [0x4c5160]
push 0x1e
fstp dword [ecx + 0x88]
mov edx, dword [0x4b5978]
push 0x474
push edx
call esi
jmp 0x42494b
fstp st(0)
push 0
push 0
push 5
call fcn.00409510
push ebx
push ebx
push 6
call fcn.00409510
add esp, 0x18
cmp byte [0x4a86ab], 0
mov dword [0x4b54f0], ebx
je case.default.0x424579
push str._PlayBgEvMov__JUST_NIGHT_2_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [sym.imp.USER32.dll_SetTimer]
fld1
cmp dword [0x4b54f0], ebx
jne 0x4249be
mov eax, dword [0x4c5604]
cmp byte [eax + 0xf4], 0
je 0x4249be
push 0
fstp dword [eax + 0x88]
mov eax, dword [0x4b5978]
push 0x1e
push 0x490
push eax
call esi
fld1
mov ecx, dword [0x4b5be0]
cmp byte [ecx + 0xf4], 0
jne 0x425061
mov edx, dword [0x4c5240]
fst dword [edx + 0x88]
mov eax, dword [0x4c5160]
fstp dword [eax + 0x88]
mov ecx, dword [0x4b5be0]
fldz
mov byte [ecx + 0xf4], bl
mov edx, dword [0x4b5be0]
fst dword [edx + 0x88]
mov eax, dword [0x4c58dc]
push 0
mov byte [eax + 0xf4], bl
mov ecx, dword [0x4c58dc]
push 0
fstp dword [ecx + 0x88]
push 6
call fcn.00409510
push ebx
push ebx
push 5
call fcn.00409510
mov edx, dword [0x4b5978]
add esp, 0x18
push 0
push 0x1e
push 0x473
push edx
mov dword [0x4b54f0], 0
call esi
push str._PlayBgEvMov__DAY_1_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [sym.imp.USER32.dll_SetTimer]
fld1
cmp dword [0x4b54f0], ebx
jne 0x424a95
mov eax, dword [0x4c5604]
cmp byte [eax + 0xf4], 0
je 0x424a95
push 0
fstp dword [eax + 0x88]
mov eax, dword [0x4b5978]
push 0x1e
push 0x490
push eax
call esi
fld1
mov ecx, dword [0x4c5240]
cmp byte [ecx + 0xf4], 0
jne 0x425061
mov edx, dword [0x4b5be0]
fst dword [edx + 0x88]
mov eax, dword [0x4c58dc]
fstp dword [eax + 0x88]
mov ecx, dword [0x4c5240]
fldz
mov byte [ecx + 0xf4], bl
mov edx, dword [0x4c5240]
fst dword [edx + 0x88]
mov eax, dword [0x4c5160]
push 0
mov byte [eax + 0xf4], bl
mov ecx, dword [0x4c5160]
push 0
fstp dword [ecx + 0x88]
push 6
call fcn.00409510
push ebx
push ebx
push 5
call fcn.00409510
mov edx, dword [0x4b5978]
add esp, 0x18
push 0
push 0x1e
push 0x474
push edx
mov dword [0x4b54f0], 0
call esi
push str._PlayBgEvMov__DAY_2_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x4c5244]
cmp dword [eax + 0xa4], 0
je case.default.0x424579
push str._PlayBgEvMov__UI_0_n
mov dword [eax + 0xa4], 0
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x4c5244]
cmp dword [eax + 0xa4], ebx
je case.default.0x424579
push str._PlayBgEvMov__UI_1_n
mov dword [eax + 0xa4], ebx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x4c5244]
mov ecx, 2
cmp dword [eax + 0xa4], ecx
je case.default.0x424579
push str._PlayBgEvMov__UI_2_n
mov dword [eax + 0xa4], ecx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x4c5244]
mov ecx, 3
cmp dword [eax + 0xa4], ecx
je case.default.0x424579
push str._PlayBgEvMov__UI_3_n
mov dword [eax + 0xa4], ecx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x4c5244]
mov ecx, 4
cmp dword [eax + 0xa4], ecx
je case.default.0x424579
push str._PlayBgEvMov__UI_4_n
mov dword [eax + 0xa4], ecx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor eax, eax
jmp 0x424c20
cmp byte [eax + 0x4b5500], 0
jne case.default.0x424579
add eax, ebx
cmp eax, 5
jl 0x424c20
push ebx
push ebx
push 0x24
call fcn.00409510
mov eax, dword [0x4b5978]
add esp, 0xc
push 0
push 0x12c
push 0x478
push eax
call dword [sym.imp.USER32.dll_SetTimer]
push str._PlayBgEvMov__JELLYFISH_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [0x4b54f7], 0
jne case.default.0x424579
push ebx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 4], esp
push str.shark_1
mov byte [0x4b54f7], bl
call fcn.004154c0
mov ecx, dword [0x4b290c]
call fcn.004018e0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 4], esp
push str.shark_2
mov byte [0x4b5565], 0
mov byte [0x4b54fd], 0
call fcn.004154c0
mov ecx, dword [0x4b290c]
call fcn.004019c0
push ebx
push ebx
push 0x35
call fcn.00409510
add esp, 0xc
push str._PlayBgEvMov__SHARK_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
xor ecx, ecx
mov byte [0x4b289a], bl
mov word [0x4b289c], cx
call fcn.00424320
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [0x4b54fe], 0
jne case.default.0x424579
push ebx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 4], esp
push str.dra_door
mov byte [0x4b54fe], bl
call fcn.004154c0
mov ecx, dword [0x4b290c]
call fcn.004018e0
fild dword [0x4a7058]
sub esp, 0x24
mov ecx, esp
fmul qword [0x498f00]
fstp dword [ebp - 4]
fld dword [ebp - 4]
fstp dword [esp + 0x20]
fild dword [0x4a7054]
fmul qword [0x498840]
fstp dword [ebp - 4]
fld dword [ebp - 4]
mov dword [ebp - 4], esp
fstp dword [esp + 0x1c]
push str.dra_door
call fcn.004154c0
mov ecx, dword [0x4b290c]
call fcn.00401e50
push str.__PlayBgEvMov__DRAGON_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [0x4b54ff], 0
jne case.default.0x424579
push 6
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 4], esp
push str.Whale
mov byte [0x4b54ff], bl
call fcn.004154c0
mov ecx, dword [0x4b290c]
call fcn.004018e0
push ebx
push ebx
push 0x3d
call fcn.00409510
add esp, 0xc
push str.__PlayBgEvMov__WHALE_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
xor edx, edx
mov byte [0x4b289a], 2
mov word [0x4b289c], dx
call fcn.00424320
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [0x4b55c7], 0
jne case.default.0x424579
push 0
push ebx
push 0x34
mov byte [0x4b55c7], bl
mov dword [0x4a8630], 0xc8
call fcn.00409510
mov eax, dword [0x4b5978]
mov esi, dword [sym.imp.USER32.dll_KillTimer]
add esp, 0xc
push 0x46a
push eax
call esi
mov ecx, dword [0x4b5978]
mov edi, dword [sym.imp.USER32.dll_SetTimer]
push 0
push 0x1e
push 0x46a
push ecx
call edi
push str._PlayBgEvMov__SHAKE_CAM_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
cmp dword [0x4b2cc8], 0x3c
jge case.default.0x424579
cmp byte [0x4a8374], 0
je case.default.0x424579
mov edx, dword [0x4b5978]
push 0x49b
push edx
mov dword [0x4b2cc8], 0
call esi
mov eax, dword [0x4b5978]
push 0
push 0x1e
push 0x49b
push eax
call edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [0x4b5505], 0
jne case.default.0x424579
push 3
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 4], esp
push str.Apache
mov byte [0x4b5505], bl
call fcn.004154c0
mov ecx, dword [0x4b290c]
call fcn.004018e0
push ebx
push ebx
push 2
call fcn.00409510
add esp, 0xc
push str._PlayBgEvMov__APACHE_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor eax, eax
cmp byte [eax + 0x4b5508], 0
jne 0x424f2c
add eax, ebx
cmp eax, 7
jl 0x424ee5
mov ecx, dword [0x4b5978]
push 0
push 0x12c
push 0x479
push ecx
call dword [sym.imp.USER32.dll_SetTimer]
push ebx
push ebx
push 7
call fcn.00409510
add esp, 0xc
push str._PlayBgEvMov__BUBBLE_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov byte [0x4a86b6], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [0x4b5506], 0
jne case.default.0x424579
push ebx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 4], esp
push str.fish
mov byte [0x4b5506], bl
call fcn.004154c0
mov ecx, dword [0x4b290c]
call fcn.004018e0
push str._PlayBgEvMov__FISHES_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [0x4b2cd5], 0
jne case.default.0x424579
mov byte [0x4b2cd5], bl
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [0x4b5544], 0
jne case.default.0x424579
push ebx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 4], esp
push 0x4980c4
mov byte [0x4b5544], bl
call fcn.004154c0
mov ecx, dword [0x4b290c]
call fcn.004018e0
fld dword [0x4b10dc]
sub esp, 0x24
fstp dword [esp + 0x20]
mov ecx, esp
fld dword [0x4b10d8]
mov dword [ebp - 4], esp
fstp dword [esp + 0x1c]
push 0x4980c4
call fcn.004154c0
mov ecx, dword [0x4b290c]
call fcn.00401e50
push ebx
push ebx
push 8
call fcn.00409510
add esp, 0xc
push str._PlayBgEvMov__BIG_FISHES_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x4a87cc
push 0x4a87bc
mov dword [0x4b576c], 0
call fcn.00412d60
mov edx, dword [0x4b5978]
add esp, 8
push 0x4a3
push edx
call dword [sym.imp.USER32.dll_KillTimer]
mov eax, dword [0x4b5978]
push 0
push 0x1e
push 0x4a3
push eax
call dword [sym.imp.USER32.dll_SetTimer]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
fstp st(0)
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret