Function at 0x42eca0
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x210
mov eax, dword [0x4ab000]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
call fcn.00419ec0
call fcn.0042e530
call fcn.0042e5c0
call fcn.0041a050
call fcn.0042e6b0
call fcn.0041a290
call fcn.0041a4b0
call fcn.00420980
call fcn.00421b60
call fcn.004211b0
call fcn.004222b0
call fcn.004233e0
call fcn.00425b40
call fcn.00423f60
call fcn.004261b0
xor ebx, ebx
mov esi, 0xf
cmp byte [0x4af4b2], bl
je 0x42eda2
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x208], esp
push 9
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.ResultEff
mov byte [ecx], bl
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00402190
cmp eax, 1
je 0x42ed72
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x208], esp
push 9
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.ResultEff
mov byte [ecx], bl
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00401f90
cmp eax, 1
jne 0x42eda2
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x208], esp
mov byte [0x4af4b2], bl
push 9
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.ResultEff
mov byte [ecx], bl
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00401eb0
cmp byte [0x4af496], bl
je 0x42ee5e
cmp byte [0x4af4a0], bl
jne 0x42edc6
cmp byte [0x4af4a1], bl
jne 0x42edc6
cmp byte [0x4af4a2], bl
je 0x42edcb
call fcn.0040aba0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x208], esp
push 0xc
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.LastFirework
mov byte [ecx], bl
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00401f90
cmp eax, 1
jne 0x42ee5e
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x208], esp
mov byte [0x4af496], bl
push 0xc
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.LastFirework
mov byte [ecx], bl
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00401eb0
mov eax, dword [0x4acc30]
mov edi, dword [sym.imp.USER32.dll_KillTimer]
push 0x49d
push eax
mov dword [0x4a31f4], 0x64
call edi
mov ecx, dword [0x4acc30]
push ebx
push 0x32
push 0x49d
push ecx
call dword [sym.imp.USER32.dll_SetTimer]
jmp 0x42ee64
mov edi, dword [sym.imp.USER32.dll_KillTimer]
cmp byte [0x4af4b4], bl
je 0x42f0d2
cmp byte [0x4af4a0], bl
jne 0x42ee88
cmp byte [0x4af4a1], bl
jne 0x42ee88
cmp byte [0x4af4a2], bl
je 0x42ee8d
call fcn.0040aba0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x208], esp
push 9
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.FireworkA
mov byte [ecx], bl
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00401f90
cmp eax, 1
jne 0x42f0d2
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x208], esp
mov byte [0x4af4b4], bl
push 9
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.FireworkA
mov byte [ecx], bl
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00401eb0
cmp byte [0x4af4b4], bl
jne 0x42f0d2
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x208], esp
mov byte [0x4af4b4], 1
push 9
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.FireworkA
mov byte [ecx], bl
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00401dc0
call fcn.0045dc7c
mov dword [ebp - 0x210], eax
fild dword [ebp - 0x210]
fnstcw word [ebp - 0x20e]
movzx eax, word [ebp - 0x20e]
fmul qword [0x492a50]
or eax, 0xc00
mov dword [ebp - 0x208], eax
fmul qword [0x492588]
fldcw word [ebp - 0x208]
fistp qword [ebp - 0x20c]
mov edx, dword [ebp - 0x20c]
fldcw word [ebp - 0x20e]
fild dword [ebp - 0x20c]
test edx, edx
jns 0x42ef8c
fadd dword [0x47bff8]
fadd qword [0x492a98]
push ecx
fstp dword [ebp - 0x208]
fld dword [ebp - 0x208]
fstp dword [esp]
call fcn.0045dc7c
mov dword [ebp - 0x208], eax
fild dword [ebp - 0x208]
fnstcw word [ebp - 0x20e]
movzx eax, word [ebp - 0x20e]
fmul qword [0x492a50]
or eax, 0xc00
mov dword [ebp - 0x208], eax
fmul qword [0x492588]
fldcw word [ebp - 0x208]
fistp qword [ebp - 0x20c]
mov eax, dword [ebp - 0x20c]
fldcw word [ebp - 0x20e]
fild dword [ebp - 0x20c]
test eax, eax
jns 0x42efff
fadd dword [0x47bff8]
sub esp, 0x20
mov ecx, esp
fstp dword [esp + 0x1c]
mov dword [ebp - 0x208], esp
push 9
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.FireworkA
mov byte [ecx], bl
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00402290
call fcn.0045dc7c
fnstcw word [ebp - 0x20e]
mov dword [ebp - 0x208], eax
fild dword [ebp - 0x208]
movzx eax, word [ebp - 0x20e]
or eax, 0xc00
mov dword [ebp - 0x208], eax
fmul qword [0x492580]
fmul qword [0x492588]
fldcw word [ebp - 0x208]
fistp qword [ebp - 0x20c]
mov ecx, dword [ebp - 0x20c]
fldcw word [ebp - 0x20e]
fild dword [ebp - 0x20c]
test ecx, ecx
jns 0x42f08a
fadd dword [0x47bff8]
fld qword [0x47c008]
sub esp, 0x24
fmul st(1), st(0)
mov ecx, esp
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
faddp st(1)
mov byte [ecx], bl
fstp dword [ebp - 0x208]
fld dword [ebp - 0x208]
mov dword [ebp - 0x208], esp
fst dword [esp + 0x20]
fstp dword [esp + 0x1c]
push 9
push str.FireworkA
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00402380
cmp byte [0x4af4b5], bl
je 0x42f323
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x208], esp
push 9
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.FireworkB
mov byte [ecx], bl
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00401f90
cmp eax, 1
jne 0x42f323
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x208], esp
mov byte [0x4af4b5], bl
push 9
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.FireworkB
mov byte [ecx], bl
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00401eb0
cmp byte [0x4af4b5], bl
jne 0x42f323
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x208], esp
mov byte [0x4af4b5], 1
push 9
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.FireworkB
mov byte [ecx], bl
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00401dc0
call fcn.0045dc7c
fnstcw word [ebp - 0x20e]
mov dword [ebp - 0x208], eax
fild dword [ebp - 0x208]
movzx eax, word [ebp - 0x20e]
or eax, 0xc00
mov dword [ebp - 0x208], eax
fmul qword [0x492a50]
fmul qword [0x492588]
fldcw word [ebp - 0x208]
fistp qword [ebp - 0x20c]
mov edx, dword [ebp - 0x20c]
fldcw word [ebp - 0x20e]
fild dword [ebp - 0x20c]
test edx, edx
jns 0x42f1dd
fadd dword [0x47bff8]
fadd qword [0x492a98]
push ecx
fstp dword [ebp - 0x208]
fld dword [ebp - 0x208]
fstp dword [esp]
call fcn.0045dc7c
mov dword [ebp - 0x208], eax
fild dword [ebp - 0x208]
fnstcw word [ebp - 0x20e]
movzx eax, word [ebp - 0x20e]
fmul qword [0x492a50]
or eax, 0xc00
mov dword [ebp - 0x208], eax
fmul qword [0x492588]
fldcw word [ebp - 0x208]
fistp qword [ebp - 0x20c]
mov eax, dword [ebp - 0x20c]
fldcw word [ebp - 0x20e]
fild dword [ebp - 0x20c]
test eax, eax
jns 0x42f250
fadd dword [0x47bff8]
sub esp, 0x20
mov ecx, esp
fstp dword [esp + 0x1c]
mov dword [ebp - 0x208], esp
push 9
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.FireworkB
mov byte [ecx], bl
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00402290
call fcn.0045dc7c
fnstcw word [ebp - 0x20e]
mov dword [ebp - 0x208], eax
fild dword [ebp - 0x208]
movzx eax, word [ebp - 0x20e]
or eax, 0xc00
mov dword [ebp - 0x208], eax
fmul qword [0x492580]
fmul qword [0x492588]
fldcw word [ebp - 0x208]
fistp qword [ebp - 0x20c]
mov ecx, dword [ebp - 0x20c]
fldcw word [ebp - 0x20e]
fild dword [ebp - 0x20c]
test ecx, ecx
jns 0x42f2db
fadd dword [0x47bff8]
fld qword [0x47c008]
sub esp, 0x24
fmul st(1), st(0)
mov ecx, esp
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
faddp st(1)
mov byte [ecx], bl
fstp dword [ebp - 0x208]
fld dword [ebp - 0x208]
mov dword [ebp - 0x208], esp
fst dword [esp + 0x20]
fstp dword [esp + 0x1c]
push 9
push str.FireworkB
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00402380
cmp byte [0x4af4b6], bl
je 0x42f574
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x208], esp
push 9
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.FireworkC
mov byte [ecx], bl
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00401f90
cmp eax, 1
jne 0x42f574
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x208], esp
mov byte [0x4af4b6], bl
push 9
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.FireworkC
mov byte [ecx], bl
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00401eb0
cmp byte [0x4af4b6], bl
jne 0x42f574
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x208], esp
mov byte [0x4af4b6], 1
push 9
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.FireworkC
mov byte [ecx], bl
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00401dc0
call fcn.0045dc7c
fnstcw word [ebp - 0x20e]
mov dword [ebp - 0x208], eax
fild dword [ebp - 0x208]
movzx eax, word [ebp - 0x20e]
or eax, 0xc00
mov dword [ebp - 0x208], eax
fmul qword [0x492a50]
fmul qword [0x492588]
fldcw word [ebp - 0x208]
fistp qword [ebp - 0x20c]
mov edx, dword [ebp - 0x20c]
fldcw word [ebp - 0x20e]
fild dword [ebp - 0x20c]
test edx, edx
jns 0x42f42e
fadd dword [0x47bff8]
fadd qword [0x492a98]
push ecx
fstp dword [ebp - 0x208]
fld dword [ebp - 0x208]
fstp dword [esp]
call fcn.0045dc7c
mov dword [ebp - 0x208], eax
fild dword [ebp - 0x208]
fnstcw word [ebp - 0x20e]
movzx eax, word [ebp - 0x20e]
fmul qword [0x492a50]
or eax, 0xc00
mov dword [ebp - 0x208], eax
fmul qword [0x492588]
fldcw word [ebp - 0x208]
fistp qword [ebp - 0x20c]
mov eax, dword [ebp - 0x20c]
fldcw word [ebp - 0x20e]
fild dword [ebp - 0x20c]
test eax, eax
jns 0x42f4a1
fadd dword [0x47bff8]
sub esp, 0x20
mov ecx, esp
fstp dword [esp + 0x1c]
mov dword [ebp - 0x208], esp
push 9
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.FireworkC
mov byte [ecx], bl
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00402290
call fcn.0045dc7c
fnstcw word [ebp - 0x20e]
mov dword [ebp - 0x208], eax
fild dword [ebp - 0x208]
movzx eax, word [ebp - 0x20e]
or eax, 0xc00
mov dword [ebp - 0x208], eax
fmul qword [0x492580]
fmul qword [0x492588]
fldcw word [ebp - 0x208]
fistp qword [ebp - 0x20c]
mov ecx, dword [ebp - 0x20c]
fldcw word [ebp - 0x20e]
fild dword [ebp - 0x20c]
test ecx, ecx
jns 0x42f52c
fadd dword [0x47bff8]
fld qword [0x47c008]
sub esp, 0x24
fmul st(1), st(0)
mov ecx, esp
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
faddp st(1)
mov byte [ecx], bl
fstp dword [ebp - 0x208]
fld dword [ebp - 0x208]
mov dword [ebp - 0x208], esp
fst dword [esp + 0x20]
fstp dword [esp + 0x1c]
push 9
push str.FireworkC
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00402380
cmp byte [0x4af4a0], bl
je 0x42f64d
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x208], esp
push 0xb
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.lightning_a
mov byte [ecx], bl
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00401f90
cmp eax, 1
jne 0x42f64d
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x208], esp
mov byte [0x4af4a0], bl
push 0xb
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.lightning_a
mov byte [ecx], bl
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00401eb0
push ebx
push ebx
push 0x27
call fcn.00409d80
mov eax, dword [0x4af6a4]
inc eax
add esp, 0xc
mov dword [0x4af6a4], eax
push 0x4a3
cmp eax, 4
jae 0x42f635
mov edx, dword [0x4acc30]
push edx
call edi
mov eax, dword [0x4af6a4]
mov ecx, dword [eax*4 + 0x4aa154]
mov edx, dword [0x4acc30]
imul ecx, ecx, 0x3e8
push ebx
push ecx
push 0x4a3
push edx
call dword [sym.imp.USER32.dll_SetTimer]
jmp 0x42f64d
mov eax, dword [0x4acc30]
push eax
mov dword [0x4af6a4], 4
call edi
mov byte [0x4af6a1], bl
cmp byte [0x4af480], bl
je 0x42f67f
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x208], esp
push 9
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.BgManIdle
mov byte [ecx], bl
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00402090
mov edi, 5
cmp byte [0x4af47e], bl
je 0x42fd1c
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x208], esp
push 0xc
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.BgManAttackA
mov byte [ecx], bl
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00402090
cmp eax, 0xd
jl 0x42f940
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x208], esp
push 0xc
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.BgManAttackA
mov byte [ecx], bl
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00402090
cmp eax, 0x12
jge 0x42f940
cmp byte [0x4af482], bl
jne 0x42f83f
fldz
sub esp, 0x24
fst dword [ebp - 0x20c]
mov byte [0x4af481], bl
mov ecx, dword [ebp - 0x20c]
fst dword [ebp - 0x208]
mov edx, dword [ebp - 0x208]
fst dword [esp + 0x20]
mov dword [0x4af790], ecx
fstp dword [esp + 0x1c]
mov ecx, esp
mov dword [ebp - 0x208], esp
push str.GlassBroken
mov byte [0x4af482], 1
mov dword [0x4af794], edx
call fcn.00417780
mov ecx, dword [0x4ac6d8]
call fcn.00402290
fld dword [0x4aa1e4]
sub esp, 0x24
fst dword [esp + 0x20]
mov ecx, esp
fstp dword [esp + 0x1c]
mov dword [ebp - 0x208], esp
push str.GlassBroken
call fcn.00417780
mov ecx, dword [0x4ac6d8]
call fcn.00402380
fld dword [0x492a38]
sub esp, 0x20
fstp dword [esp + 0x1c]
mov ecx, esp
mov dword [ebp - 0x208], esp
push str.GlassBroken
call fcn.00417780
mov ecx, dword [0x4ac6d8]
call fcn.00402470
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x208], esp
push str.GlassBroken
call fcn.00417780
mov ecx, dword [0x4ac6d8]
call fcn.00401dc0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x208], esp
push str.GlassBroken
call fcn.00417780
mov ecx, dword [0x4ac6d8]
call fcn.00401cb0
cmp byte [0x4af507], bl
jne 0x42f83f
mov eax, dword [0x4acc30]
push 0x46a
push eax
mov byte [0x4af507], 1
mov dword [0x4a9ff0], edi
call dword [sym.imp.USER32.dll_KillTimer]
mov ecx, dword [0x4acc30]
push ebx
push 0x1e
push 0x46a
push ecx
call dword [sym.imp.USER32.dll_SetTimer]
push ebx
push 1
push 0x1e
call fcn.00409d80
add esp, 0xc
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x208], esp
push 0xc
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.BgManAttackA
mov byte [ecx], bl
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00402090
mov edx, 0x12
sub edx, eax
mov dword [ebp - 0x208], edx
fild dword [ebp - 0x208]
sub esp, 0x24
mov ecx, esp
fmul qword [0x492ae8]
mov dword [ebp - 0x208], esp
fadd qword [0x47c010]
fstp dword [0x4aa1e4]
fld dword [0x4aa1e4]
mov dword [ecx + 0x14], esi
fst dword [esp + 0x20]
mov dword [ecx + 0x10], ebx
fstp dword [esp + 0x1c]
push 0xb
push str.GlassBroken
mov byte [ecx], bl
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00402380
fld dword [0x4aa1e4]
fld1
sub esp, 0x24
fsubrp st(1)
mov ecx, esp
fild dword [0x4a1058]
fld qword [0x47c008]
fmul st(1), st(0)
fxch st(1)
fmul st(2)
fadd dword [0x4af794]
fstp dword [ebp - 0x208]
fld dword [ebp - 0x208]
fstp dword [esp + 0x20]
fimul dword [0x4a1054]
fmulp st(1)
fadd dword [0x4af790]
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
mov byte [ecx], bl
fstp dword [ebp - 0x208]
fld dword [ebp - 0x208]
mov dword [ebp - 0x208], esp
fstp dword [esp + 0x1c]
push 0xb
push str.GlassBroken
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00402290
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x208], esp
push 0xc
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.BgManAttackA
mov byte [ecx], bl
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00402090
cmp eax, 0x4b
jl 0x42faef
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x208], esp
push 0xc
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.BgManAttackA
mov byte [ecx], bl
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00402090
cmp eax, 0x50
jge 0x42faef
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x208], esp
push 0xc
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.BgManAttackA
mov byte [ecx], bl
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00402090
mov ecx, 0x50
sub ecx, eax
mov dword [ebp - 0x208], ecx
fild dword [ebp - 0x208]
sub esp, 0x24
mov ecx, esp
fmul qword [0x492ae8]
mov dword [ebp - 0x208], esp
fadd qword [0x47c010]
fstp dword [0x4aa1e4]
fld dword [0x4aa1e4]
mov dword [ecx + 0x14], esi
fst dword [esp + 0x20]
mov dword [ecx + 0x10], ebx
fstp dword [esp + 0x1c]
push 0xb
push str.GlassBroken
mov byte [ecx], bl
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00402380
fld dword [0x4aa1e4]
fld1
sub esp, 0x24
fsubrp st(1)
mov ecx, esp
fild dword [0x4a1058]
fld qword [0x47c008]
fmul st(1), st(0)
fxch st(1)
fmul st(2)
fadd dword [0x4af794]
fstp dword [ebp - 0x208]
fld dword [ebp - 0x208]
fstp dword [esp + 0x20]
fimul dword [0x4a1054]
fmulp st(1)
fadd dword [0x4af790]
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
mov byte [ecx], bl
fstp dword [ebp - 0x208]
fld dword [ebp - 0x208]
mov dword [ebp - 0x208], esp
fstp dword [esp + 0x1c]
push 0xb
push str.GlassBroken
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00402290
cmp byte [0x4af507], bl
jne 0x42faef
mov edx, dword [0x4acc30]
push 0x46a
push edx
mov byte [0x4af507], 1
mov dword [0x4a9ff0], edi
call dword [sym.imp.USER32.dll_KillTimer]
mov eax, dword [0x4acc30]
push ebx
push 0x1e
push 0x46a
push eax
call dword [sym.imp.USER32.dll_SetTimer]
push ebx
push 1
push 0x1e
call fcn.00409d80
add esp, 0xc
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x208], esp
push 0xc
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.BgManAttackA
mov byte [ecx], bl
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00402090
cmp eax, 0x70
jl 0x42fc00
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x208], esp
push 0xc
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.BgManAttackA
mov byte [ecx], bl
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00402090
cmp eax, 0x74
jge 0x42fc00
cmp byte [0x4af73a], bl
jne 0x42fc00
push ebx
push 1
push 8
call fcn.00409d80
add esp, 0xc
mov byte [0x4af73a], 1
cmp byte [0x4af738], bl
je 0x42fbcb
cmp byte [0x4af482], bl
je 0x42fb8b
mov byte [0x4af482], bl
cmp byte [0x4af481], bl
jne 0x42fc00
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x208], esp
push str.GlassBroken
mov byte [0x4af481], 1
call fcn.00417780
mov ecx, dword [0x4ac6d8]
call fcn.00401dc0
push ebx
push 1
push 0x1d
call fcn.00409d80
add esp, 0xc
jmp 0x42fc00
cmp byte [0x4af739], bl
je 0x42fc00
mov ecx, dword [0x4acc30]
push 0x48b
push ecx
mov dword [0x4af744], ebx
call dword [sym.imp.USER32.dll_KillTimer]
mov edx, dword [0x4acc30]
push ebx
push 0x1e
push 0x48b
push edx
call dword [sym.imp.USER32.dll_SetTimer]
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x208], esp
push 0xc
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.BgManAttackA
mov byte [ecx], bl
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00402090
cmp eax, 0x97
jl 0x42fd1c
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x208], esp
mov byte [0x4af47e], bl
push 0xc
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.BgManAttackA
mov byte [ecx], bl
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00401eb0
mov byte [0x4af73a], bl
cmp byte [0x4af480], bl
jne 0x42fd10
push 0xffffffffffffffff
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x208], esp
mov byte [0x4af480], 1
push 9
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.BgManIdle
mov byte [ecx], bl
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00401dc0
mov eax, dword [0x4a1058]
add eax, 0xfffffcae
mov dword [ebp - 0x208], eax
fild dword [ebp - 0x208]
sub esp, 0x24
mov ecx, esp
fmul qword [0x47c008]
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
mov byte [ecx], bl
fsub qword [0x492c78]
fstp dword [ebp - 0x208]
fld dword [ebp - 0x208]
mov dword [ebp - 0x208], esp
fstp dword [esp + 0x20]
fld dword [0x493084]
fstp dword [esp + 0x1c]
push 9
push str.BgManIdle
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00402290
mov byte [0x4af738], bl
mov byte [0x4af739], bl
cmp byte [0x4af47f], bl
je 0x43000a
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x208], esp
push 0xc
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.BgManAttackB
mov byte [ecx], bl
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00402090
cmp eax, 0xa
jl 0x42fef0
cmp byte [0x4af73a], bl
jne 0x42fef0
movzx ecx, byte [0x4af739]
movzx edx, byte [0x4af738]
push ecx
push edx
push 1
lea eax, [ebp - 0x204]
push str.g_bSetBgManAttack:_d__g_bSetBgManAttackSuccess:_d__g_bSetBgManAttackFail:_d_n
push eax
mov byte [0x4af73a], 1
call fcn.00409dc0
add esp, 0x14
lea ecx, [ebp - 0x204]
push ecx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
cmp byte [0x4af738], bl
je 0x42fdf6
cmp byte [0x4af482], bl
je 0x42fdb7
mov byte [0x4af482], bl
cmp byte [0x4af481], bl
jne 0x42fef0
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x208], esp
push str.GlassBroken
mov byte [0x4af481], 1
call fcn.00417780
mov ecx, dword [0x4ac6d8]
call fcn.00401dc0
push ebx
push 1
push 0x1d
jmp 0x42fee8
cmp byte [0x4af739], bl
je 0x42fef0
mov edx, dword [0x4acc30]
push 0x48b
push edx
mov dword [0x4af744], ebx
call dword [sym.imp.USER32.dll_KillTimer]
mov eax, dword [0x4acc30]
push ebx
push 0x1e
push 0x48b
push eax
call dword [sym.imp.USER32.dll_SetTimer]
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x208], esp
push str.GlassBroken
mov byte [0x4af481], bl
mov byte [0x4af482], 1
call fcn.00417780
mov ecx, dword [0x4ac6d8]
call fcn.00401dc0
fld dword [0x492a38]
sub esp, 0x20
fstp dword [esp + 0x1c]
mov ecx, esp
mov dword [ebp - 0x208], esp
push str.GlassBroken
call fcn.00417780
mov ecx, dword [0x4ac6d8]
call fcn.00402470
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x208], esp
push str.GlassBroken
call fcn.00417780
mov ecx, dword [0x4ac6d8]
call fcn.00401cb0
cmp byte [0x4af507], bl
jne 0x42fef0
mov ecx, dword [0x4acc30]
push 0x46a
push ecx
mov byte [0x4af507], 1
mov dword [0x4a9ff0], edi
call dword [sym.imp.USER32.dll_KillTimer]
mov edx, dword [0x4acc30]
push ebx
push 0x1e
push 0x46a
push edx
call dword [sym.imp.USER32.dll_SetTimer]
push ebx
push 1
push 0x1e
call fcn.00409d80
add esp, 0xc
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x208], esp
push 0xc
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.BgManAttackB
mov byte [ecx], bl
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00402090
cmp eax, 0x2c
jl 0x43000a
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x208], esp
mov byte [0x4af47f], bl
push 0xc
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.BgManAttackB
mov byte [ecx], bl
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00401eb0
mov byte [0x4af73a], bl
cmp byte [0x4af480], bl
jne 0x42fffe
push 0xffffffffffffffff
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x208], esp
mov byte [0x4af480], 1
push 9
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.BgManIdle
mov byte [ecx], bl
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00401dc0
mov eax, dword [0x4a1058]
add eax, 0xfffffcae
mov dword [ebp - 0x208], eax
fild dword [ebp - 0x208]
sub esp, 0x24
mov ecx, esp
fmul qword [0x47c008]
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
mov byte [ecx], bl
fsub qword [0x492c78]
fstp dword [ebp - 0x208]
fld dword [ebp - 0x208]
mov dword [ebp - 0x208], esp
fstp dword [esp + 0x20]
fld dword [0x493084]
fstp dword [esp + 0x1c]
push 9
push str.BgManIdle
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00402290
mov byte [0x4af738], bl
mov byte [0x4af739], bl
cmp byte [0x4af481], bl
je 0x43007d
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x208], esp
push 0xb
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.GlassBroken
mov byte [ecx], bl
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00402090
cmp eax, 0x14
jl 0x43007d
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x208], esp
mov byte [0x4af481], bl
push 0xb
mov dword [ecx + 0x14], esi
mov dword [ecx + 0x10], ebx
push str.GlassBroken
mov byte [ecx], bl
call fcn.00416c80
mov ecx, dword [0x4ac6d8]
call fcn.00401eb0
mov byte [0x4af738], bl
mov byte [0x4af739], bl
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0045d691
mov esp, ebp
pop ebp
ret