Function at 0x4251b2
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [0x4a9efc]
sub esp, 0xc
push ebx
mov ebx, 1
add eax, 0xffffffd0
mov byte [0x4aa04b], bl
mov byte [0x4aa128], bl
cmp eax, 0x17
ja case.0x424a99.68
jmp dword [eax*4 + 0x4256e0]
call fcn.0040aba0
call fcn.00418b70
cmp byte [0x4acb53], 0
jne 0x424b15
push 0xffffffffffffffff
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 8], esp
push str.BGNight
mov byte [0x4acb53], bl
call fcn.00417780
mov ecx, dword [0x4ac6d8]
call fcn.00401dc0
fld dword [0x493570]
sub esp, 0x24
fstp dword [esp + 0x20]
mov ecx, esp
fild dword [0x4a1054]
mov dword [ebp - 8], esp
fdiv qword [0x493568]
fstp dword [ebp - 4]
fld dword [ebp - 4]
fstp dword [esp + 0x1c]
push str.BGNight
call fcn.00417780
mov ecx, dword [0x4ac6d8]
call fcn.00402380
mov eax, dword [0x4be824]
cmp byte [eax + 0xf4], 0
jne 0x424b29
mov byte [eax + 0xf4], bl
cmp byte [0x4af46e], 0
jne 0x424b90
push 0xffffffffffffffff
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 8], esp
push str.BottomBgA
mov byte [0x4af46e], bl
call fcn.00417780
mov ecx, dword [0x4ac6d8]
call fcn.00401dc0
fild dword [0x4a1058]
sub esp, 0x24
mov ecx, esp
fsub qword [0x493560]
mov dword [ebp - 8], esp
fstp dword [ebp - 4]
fld dword [ebp - 4]
fstp dword [esp + 0x20]
fldz
fstp dword [esp + 0x1c]
push str.BottomBgA
call fcn.00417780
mov ecx, dword [0x4ac6d8]
call fcn.00402290
cmp byte [0x4af47a], 0
mov dword [0x4af718], 0
jne 0x424bdd
push ebx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 8], esp
push str.GoldEagleA
mov byte [0x4af47a], bl
call fcn.00417780
mov ecx, dword [0x4ac6d8]
call fcn.00401dc0
push ebx
push ebx
push 0x20
call fcn.00409d80
push 0
push ebx
push 0x1f
call fcn.00409d80
add esp, 0x18
push 0
push 0
push 5
call fcn.00409d80
push ebx
push ebx
push 6
call fcn.00409d80
add esp, 0x18
mov dword [0x4af468], ebx
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.0040aba0
call fcn.00418b70
cmp byte [0x4acb53], 0
jne 0x424c74
push 0xffffffffffffffff
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 8], esp
push str.BGNight
mov byte [0x4acb53], bl
call fcn.00417780
mov ecx, dword [0x4ac6d8]
call fcn.00401dc0
fld dword [0x493570]
sub esp, 0x24
fstp dword [esp + 0x20]
mov ecx, esp
fild dword [0x4a1054]
mov dword [ebp - 8], esp
fdiv qword [0x493568]
fstp dword [ebp - 4]
fld dword [ebp - 4]
fstp dword [esp + 0x1c]
push str.BGNight
call fcn.00417780
mov ecx, dword [0x4ac6d8]
call fcn.00402380
mov eax, dword [0x4be824]
cmp byte [eax + 0xf4], 0
jne 0x424c88
mov byte [eax + 0xf4], bl
cmp byte [0x4af46e], 0
jne 0x424cef
push 0xffffffffffffffff
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 8], esp
push str.BottomBgA
mov byte [0x4af46e], bl
call fcn.00417780
mov ecx, dword [0x4ac6d8]
call fcn.00401dc0
fild dword [0x4a1058]
sub esp, 0x24
mov ecx, esp
fsub qword [0x493560]
mov dword [ebp - 8], esp
fstp dword [ebp - 4]
fld dword [ebp - 4]
fstp dword [esp + 0x20]
fldz
fstp dword [esp + 0x1c]
push str.BottomBgA
call fcn.00417780
mov ecx, dword [0x4ac6d8]
call fcn.00402290
push 0
push 0
push 5
call fcn.00409d80
push ebx
push ebx
push 6
call fcn.00409d80
add esp, 0x18
mov dword [0x4af468], ebx
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00418b70
cmp byte [0x4acb52], 0
jne 0x424d81
push 0xffffffffffffffff
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 8], esp
push str.BGMain
mov byte [0x4acb52], bl
call fcn.00417780
mov ecx, dword [0x4ac6d8]
call fcn.00401dc0
fld dword [0x493570]
sub esp, 0x24
fstp dword [esp + 0x20]
mov ecx, esp
fild dword [0x4a1054]
mov dword [ebp - 8], esp
fdiv qword [0x493568]
fstp dword [ebp - 4]
fld dword [ebp - 4]
fstp dword [esp + 0x1c]
push str.BGMain
call fcn.00417780
mov ecx, dword [0x4ac6d8]
call fcn.00402380
mov eax, dword [0x4be824]
cmp byte [eax + 0xf4], 0
je 0x424d96
mov byte [eax + 0xf4], 0
cmp byte [0x4af46e], 0
jne 0x424dfd
push 0xffffffffffffffff
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 8], esp
push str.BottomBgA
mov byte [0x4af46e], bl
call fcn.00417780
mov ecx, dword [0x4ac6d8]
call fcn.00401dc0
fild dword [0x4a1058]
sub esp, 0x24
mov ecx, esp
fsub qword [0x493560]
mov dword [ebp - 8], esp
fstp dword [ebp - 4]
fld dword [ebp - 4]
fstp dword [esp + 0x20]
fldz
fstp dword [esp + 0x1c]
push str.BottomBgA
call fcn.00417780
mov ecx, dword [0x4ac6d8]
call fcn.00402290
push 0
push 0
push 6
call fcn.00409d80
push ebx
push ebx
push 5
call fcn.00409d80
add esp, 0x18
mov dword [0x4af468], 0
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x4be4b0]
cmp dword [eax + 0xa4], 0
je case.0x424a99.68
push str._PlayBgEvMov__UI_0_n
mov dword [eax + 0xa4], 0
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x4be4b0]
cmp dword [eax + 0xa4], ebx
je case.0x424a99.68
push str._PlayBgEvMov__UI_1_n
mov dword [eax + 0xa4], ebx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x4be4b0]
mov ecx, 2
cmp dword [eax + 0xa4], ecx
je case.0x424a99.68
push str._PlayBgEvMov__UI_2_n
mov dword [eax + 0xa4], ecx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x4be4b0]
mov ecx, 3
cmp dword [eax + 0xa4], ecx
je case.0x424a99.68
push str._PlayBgEvMov__UI_3_n
mov dword [eax + 0xa4], ecx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x4be4b0]
mov ecx, 4
cmp dword [eax + 0xa4], ecx
je case.0x424a99.68
push str._PlayBgEvMov__UI_4_n
mov dword [eax + 0xa4], ecx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.0040aba0
cmp dword [0x4af468], 0
push 0
push 0
jne 0x424f10
push 5
jmp 0x424f12
push 6
call fcn.00409d80
add esp, 0xc
call fcn.00424a30
cmp byte [0x4af478], 0
jne case.0x424a99.68
push ebx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 8], esp
push str.sdn2nd
mov byte [0x4af478], bl
call fcn.00417780
mov ecx, dword [0x4ac6d8]
call fcn.00401dc0
fld dword [0x492c88]
sub esp, 0x24
fst dword [esp + 0x20]
mov ecx, esp
fstp dword [esp + 0x1c]
mov dword [ebp - 8], esp
push str.sdn2nd
call fcn.00417780
mov ecx, dword [0x4ac6d8]
call fcn.00402380
push 0
push ebx
push 0x2d
call fcn.00409d80
add esp, 0xc
push str._PlayBgEvMov__sdn2nd_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.0040aba0
cmp dword [0x4af468], 0
push 0
push 0
jne 0x424fae
push 5
jmp 0x424fb0
push 6
call fcn.00409d80
add esp, 0xc
call fcn.00424a30
cmp byte [0x4af46d], 0
jne 0x424feb
push 0xffffffffffffffff
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 8], esp
push str.BgSt34
mov byte [0x4af46d], bl
call fcn.00417780
mov ecx, dword [0x4ac6d8]
call fcn.00401dc0
cmp byte [0x4af486], 0
jne case.0x424a99.68
push ebx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 8], esp
push str.st3rd
mov byte [0x4af486], bl
call fcn.00417780
mov ecx, dword [0x4ac6d8]
call fcn.00401dc0
fld dword [0x492c88]
sub esp, 0x24
fst dword [esp + 0x20]
mov ecx, esp
fstp dword [esp + 0x1c]
mov dword [ebp - 8], esp
push str.st3rd
call fcn.00417780
mov ecx, dword [0x4ac6d8]
call fcn.00402380
push ebx
push ebx
push 0x12
call fcn.00409d80
xor eax, eax
add esp, 0xc
mov byte [0x4ac662], bl
mov word [0x4ac664], ax
call fcn.00424810
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.0040aba0
cmp dword [0x4af468], 0
push 0
push 0
jne 0x425081
push 5
jmp 0x425083
push 6
call fcn.00409d80
add esp, 0xc
call fcn.00424a30
cmp byte [0x4af46f], 0
jne case.0x424a99.68
push ebx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 8], esp
push 0x492dd0
mov byte [0x4af46f], bl
call fcn.00417780
mov ecx, dword [0x4ac6d8]
call fcn.00401dc0
push ebx
push ebx
push 0x18
mov dword [0x4af730], 0
call fcn.00409d80
add esp, 0xc
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.0040aba0
cmp dword [0x4af468], 0
push 0
push 0
jne 0x4250f2
push 5
jmp 0x4250f4
push 6
call fcn.00409d80
add esp, 0xc
call fcn.00424a30
cmp byte [0x4af46d], 0
jne 0x42512f
push 0xffffffffffffffff
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 8], esp
push str.BgSt34
mov byte [0x4af46d], bl
call fcn.00417780
mov ecx, dword [0x4ac6d8]
call fcn.00401dc0
cmp byte [0x4af487], 0
jne case.0x424a99.68
push ebx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 8], esp
push str.st4th
mov byte [0x4af487], bl
call fcn.00417780
mov ecx, dword [0x4ac6d8]
call fcn.00401dc0
fld dword [0x492c88]
sub esp, 0x24
fst dword [esp + 0x20]
mov ecx, esp
fstp dword [esp + 0x1c]
mov dword [ebp - 8], esp
push str.st4th
call fcn.00417780
mov ecx, dword [0x4ac6d8]
call fcn.00402380
push 0
push ebx
push 0x13
call fcn.00409d80
xor ecx, ecx
add esp, 0xc
mov byte [0x4ac662], 2
mov word [0x4ac664], cx
call fcn.00424810
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [0x4af507], 0
jne case.0x424a99.68
push 0
push ebx
push 0x30
mov byte [0x4af507], bl
mov dword [0x4a9ff0], 0x64
call fcn.00409d80
mov edx, dword [0x4acc30]
add esp, 0xc
push 0x46a
push edx
call dword [sym.imp.USER32.dll_KillTimer]
mov eax, dword [0x4acc30]
push 0
push 0x1e
push 0x46a
push eax
call dword [sym.imp.USER32.dll_SetTimer]
push str._PlayBgEvMov__SHAKE_CAM_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.0040aba0
cmp dword [0x4af468], 0
push 0
push 0
jne 0x425229
push 5
jmp 0x42522b
push 6
call fcn.00409d80
add esp, 0xc
call fcn.00424a30
cmp byte [0x4af475], 0
jne case.0x424a99.68
push ebx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 8], esp
push str.st1st
mov byte [0x4af475], bl
call fcn.00417780
mov ecx, dword [0x4ac6d8]
call fcn.00401dc0
fld dword [0x493430]
sub esp, 0x24
fstp dword [esp + 0x20]
mov ecx, esp
fld dword [0x492c00]
mov dword [ebp - 8], esp
fstp dword [esp + 0x1c]
push str.st1st
call fcn.00417780
mov ecx, dword [0x4ac6d8]
call fcn.00402380
push 0
push ebx
push 0x33
call fcn.00409d80
add esp, 0xc
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.0040aba0
cmp dword [0x4af468], 0
push 0
push 0
jne 0x4252c2
push 5
jmp 0x4252c4
push 6
call fcn.00409d80
add esp, 0xc
call fcn.00424a30
cmp byte [0x4af476], 0
jne case.0x424a99.68
push ebx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 8], esp
push str.st2nd
mov byte [0x4af476], bl
call fcn.00417780
mov ecx, dword [0x4ac6d8]
call fcn.00401dc0
fld dword [0x493430]
sub esp, 0x24
fstp dword [esp + 0x20]
mov ecx, esp
fld dword [0x492c00]
mov dword [ebp - 8], esp
fstp dword [esp + 0x1c]
push str.st2nd
call fcn.00417780
mov ecx, dword [0x4ac6d8]
call fcn.00402380
push ebx
push ebx
push 2
call fcn.00409d80
add esp, 0xc
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.0040aba0
cmp dword [0x4af468], 0
push 0
push 0
jne 0x42535a
push 5
jmp 0x42535c
push 6
call fcn.00409d80
add esp, 0xc
call fcn.00424a30
cmp byte [0x4af479], 0
jne 0x4253ae
push ebx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 8], esp
push str.sdn1st
mov byte [0x4af479], bl
call fcn.00417780
mov ecx, dword [0x4ac6d8]
call fcn.00401dc0
push 0
push ebx
push 0x2c
call fcn.00409d80
add esp, 0xc
push str._PlayBgEvMov__sdn1st_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
cmp byte [0x4af46c], 0
jne case.0x424a99.68
push 0xffffffffffffffff
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 8], esp
push str.BgSky
mov byte [0x4af46c], bl
call fcn.00417780
mov ecx, dword [0x4ac6d8]
call fcn.00401dc0
fld dword [0x4930b0]
sub esp, 0x24
fstp dword [esp + 0x20]
mov ecx, esp
fld1
mov dword [ebp - 8], esp
fstp dword [esp + 0x1c]
push str.BgSky
call fcn.00417780
mov ecx, dword [0x4ac6d8]
call fcn.00402380
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [0x4af468], 0
push 0
push 0
jne 0x425423
push 5
jmp 0x425425
push 6
call fcn.00409d80
add esp, 0xc
push 0x4aa164
push 0x4aa154
mov dword [0x4af6a4], 0
call fcn.004149f0
mov ecx, dword [0x4acc30]
add esp, 8
push 0x4a3
push ecx
call dword [sym.imp.USER32.dll_KillTimer]
mov edx, dword [0x4acc30]
push 0
push 0x1e
push 0x4a3
push edx
call dword [sym.imp.USER32.dll_SetTimer]
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.0040aba0
cmp dword [0x4af468], 0
push 0
push 0
jne 0x42548c
push 5
jmp 0x42548e
push 6
call fcn.00409d80
add esp, 0xc
cmp byte [0x4af47a], 0
mov dword [0x4af718], 0
jne case.0x424a99.68
push ebx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 8], esp
push str.GoldEagleA
mov byte [0x4af47a], bl
call fcn.00417780
mov ecx, dword [0x4ac6d8]
call fcn.00401dc0
push ebx
push ebx
push 0x20
call fcn.00409d80
push 0
push ebx
push 0x1f
call fcn.00409d80
add esp, 0x18
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.0040aba0
cmp byte [0x4af47b], 0
jne case.0x424a99.68
push ebx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 8], esp
push str.GoldEagleB
mov byte [0x4af47b], bl
call fcn.00417780
mov ecx, dword [0x4ac6d8]
call fcn.00401dc0
fld dword [0x492a40]
sub esp, 0x24
fstp dword [esp + 0x20]
mov ecx, esp
fldz
mov dword [ebp - 8], esp
fstp dword [esp + 0x1c]
push str.GoldEagleB
call fcn.00417780
mov ecx, dword [0x4ac6d8]
call fcn.00402290
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.0040aba0
cmp byte [0x4af47c], 0
jne case.0x424a99.68
push ebx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 8], esp
push str.GoldEagleC
mov byte [0x4af47c], bl
call fcn.00417780
mov ecx, dword [0x4ac6d8]
call fcn.00401dc0
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [0x4af738], 0
jne case.0x424a99.68
mov eax, dword [0x4acc30]
fld dword [0x4932bc]
push 0x47b
fstp dword [0x4aaf10]
push eax
mov byte [0x4af738], bl
mov byte [0x4af739], 0
mov byte [0x4aa12b], bl
mov dword [0x4af71c], 0
call dword [sym.imp.USER32.dll_KillTimer]
mov ecx, dword [0x4acc30]
push 0
push 0x1e
push 0x47b
push ecx
call dword [sym.imp.USER32.dll_SetTimer]
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [0x4af739], 0
jne case.0x424a99.68
mov edx, dword [0x4acc30]
fld dword [0x4932bc]
push 0x47b
fstp dword [0x4aaf10]
push edx
mov byte [0x4af738], 0
mov byte [0x4af739], bl
mov byte [0x4aa12b], bl
mov dword [0x4af71c], 0
call dword [sym.imp.USER32.dll_KillTimer]
mov eax, dword [0x4acc30]
push 0
push 0x1e
push 0x47b
push eax
call dword [sym.imp.USER32.dll_SetTimer]
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [0x4af728], 0
mov byte [0x4aa18c], bl
mov dword [0x4af72c], 0
call fcn.0045dc7c
mov edx, dword [0x4af964]
mov dword [ebp - 4], eax
fild dword [ebp - 4]
push 0x4b6
fnstcw word [ebp - 2]
movzx eax, word [ebp - 2]
fadd st(0), st(0)
or eax, 0xc00
mov dword [ebp - 8], eax
fmul qword [0x492588]
fldcw word [ebp - 8]
fistp qword [ebp - 0xc]
mov ecx, dword [ebp - 0xc]
add ecx, 2
mov dword [0x4aa188], ecx
fldcw word [ebp - 2]
mov dword [edx + 0xa4], 0
mov eax, dword [0x4acc30]
push eax
call dword [sym.imp.USER32.dll_KillTimer]
mov ecx, dword [0x4acc30]
push 0
push 0x1e
push 0x4b6
push ecx
call dword [sym.imp.USER32.dll_SetTimer]
pop ebx
mov esp, ebp
pop ebp
ret