Function at 0x4782a0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov eax, 0x1058
call fcn.0049a510
push ebx
mov ebx, dword [esp + 0x1064]
push ebp
mov ebp, dword [esp + 0x1064]
push esi
push edi
mov edi, dword [esp + 0x1074]
mov eax, dword [edi]
mov edx, dword [edi + 8]
mov esi, dword [edi + 0xc]
mov ecx, dword [edi + 0x10]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 0x10]
cmp eax, 0x12c
mov dword [esp + 0x18], 0
mov dword [esp + 0x28], edx
jg 0x47aa83
je 0x47aa67
cmp eax, 0xdf
ja case.0x47aaa9.302
movzx edx, byte [eax + 0x47b23c]
jmp dword [edx*4 + 0x47b10c]
push 1
lea edx, [ebx + 0x18]
mov eax, ebp
call fcn.00439260
add esp, 4
neg eax
sbb eax, eax
neg eax
mov dword [ebp + 0xe64], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
mov ecx, ebp
call fcn.0046b410
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
push 1
lea edx, [ebx + 0x18]
mov eax, ebp
call fcn.00439260
mov esi, eax
add esp, 4
test esi, esi
jge 0x47836a
mov ecx, str.attempted_change_to_negative_state
mov eax, ebp
xor esi, esi
call fcn.00443cd0
mov eax, esi
mov edi, ebp
call fcn.0046af10
cmp dword [ebp + 0x1c], 0
jne 0x4783c1
cmp dword [ebp + 0xe64], 0
je 0x4783c1
mov eax, dword [ebp + 0xe58]
cmp eax, 1
je 0x478392
cmp eax, 2
jne 0x4783c1
mov eax, dword [0x52b40c]
cmp dword [eax + 0x1c0c], 0
je 0x4783c1
call fcn.00456e10
test eax, eax
jne 0x4783c1
mov ecx, dword [esp + 0x14]
mov eax, ecx
call fcn.00473e70
test eax, eax
je 0x4783c1
mov eax, ecx
mov ecx, ebp
call fcn.0046b330
push 1
lea edx, [ebx + 0x24]
mov eax, ebp
call fcn.00439260
add esp, 4
cmp eax, 0xffffffff
je 0x4783e2
xor ecx, ecx
test eax, eax
setne cl
mov dword [ebp + 0xe64], ecx
push 1
lea edx, [ebx + 0x30]
mov eax, ebp
call fcn.00439260
mov esi, eax
add esp, 4
cmp esi, 0xffffffff
je 0x478415
test esi, esi
jge 0x47840a
mov ecx, str.attempted_change_to_negative_anim
mov eax, ebp
xor esi, esi
call fcn.00443cd0
push esi
mov eax, ebp
call fcn.0046b1b0
add esp, 4
mov eax, 5
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
mov esi, ebp
call fcn.0048bba0
push 1
lea edx, [ebx + 0x18]
mov eax, ebp
call fcn.00439260
mov esi, eax
add esp, 4
test esi, esi
jge 0x47844f
mov ecx, str.attempted_to_selfstate_to_negative_state
mov eax, ebp
xor esi, esi
call fcn.00443cd0
mov eax, esi
mov edi, ebp
call fcn.0046af10
push 1
lea edx, [ebx + 0x24]
mov eax, ebp
call fcn.00439260
add esp, 4
cmp eax, 0xffffffff
je 0x4783e2
xor edx, edx
test eax, eax
setne dl
mov dword [ebp + 0xe64], edx
jmp 0x4783e2
push 1
lea edx, [ebx + 0x24]
mov eax, ebp
call fcn.00439260
add esp, 4
mov esi, eax
push 1
lea edx, [ebx + 0x18]
mov eax, ebp
call fcn.00439260
add esp, 4
mov edi, eax
test esi, esi
jge 0x4784b6
mov ecx, str.changed_to_negative_animelem
mov eax, ebp
xor esi, esi
call fcn.00443cd0
test edi, edi
jge 0x4784c8
mov ecx, str.attempted_change_to_negative_anim
mov eax, ebp
xor edi, edi
call fcn.00443cd0
mov eax, ebp
test esi, esi
jne 0x4784e4
push edi
call fcn.0046b1b0
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
push esi
push edi
call fcn.0046b1e0
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
push 1
lea edx, [ebx + 0x24]
mov eax, ebp
call fcn.00439260
add esp, 4
mov esi, eax
push 1
lea edx, [ebx + 0x18]
mov eax, ebp
call fcn.00439260
add esp, 4
mov edi, eax
test esi, esi
jge 0x47852f
mov ecx, str.changed_to_negative_animelem
mov eax, ebp
xor esi, esi
call fcn.00443cd0
test edi, edi
jge 0x478541
mov ecx, str.attempted_change_to_negative_anim
mov eax, ebp
xor edi, edi
call fcn.00443cd0
test esi, esi
jne 0x47855d
push edi
mov edi, ebp
call fcn.0046b220
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
push esi
push edi
mov edi, ebp
call fcn.0046b2a0
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
mov eax, dword [ebx + 0x60]
mov edi, ebp
call fcn.0047d510
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
push 1
lea edx, [ebx + 0x18]
mov eax, ebp
call fcn.00439260
lea ecx, [eax + 1]
add esp, 4
cmp ecx, 0x20
ja 0x4785bf
push ebp
call fcn.00473e20
add esp, 4
call fcn.004159d0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
push eax
push str.stopped_illegal_channel_number__i
mov eax, ebp
call fcn.00443d10
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
push 1
lea edx, [ebx + 0x18]
mov eax, ebp
call fcn.00439260
add esp, 4
cmp eax, 0x1f
ja 0x478697
push ebp
call fcn.00473e20
add esp, 4
cmp eax, 0xffffffff
je case.0x478304.0
mov esi, eax
call fcn.00415a80
mov edi, eax
cmp edi, 0xffffffff
je case.0x478304.0
push 1
lea edx, [ebx + 0x24]
mov eax, ebp
call fcn.00439260
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
mov ecx, ebp
fstp dword [esp]
call fcn.00465250
fimul dword [ebp + 0x1e8]
add esp, 4
call fcn.00499690
mov esi, eax
push 1
lea edx, [ebx + 0x30]
mov eax, ebp
mov dword [esp + 0x24], esi
call fcn.00439260
add esp, 4
test eax, eax
jne 0x47867a
mov edx, dword [0x52b40c]
fld dword [ebp + 0x1f4]
fsub dword [edx + 0x10ef8]
fiadd dword [esp + 0x20]
call fcn.00499690
mov esi, eax
call fcn.00473d10
push eax
mov ecx, edi
call fcn.00415840
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
push eax
push str.attemted_to_pan_illegal_channel_number__i
mov eax, ebp
call fcn.00443d10
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
push 0
lea edx, [ebx + 0x30]
mov eax, ebp
call fcn.00439260
add esp, 4
mov esi, eax
push 1
lea edx, [ebx + 0x24]
mov eax, ebp
call fcn.00439260
add esp, 4
cmp esi, 1
mov edi, eax
jg 0x47870c
test edi, edi
jl 0x4786ef
mov eax, esi
neg eax
sbb eax, eax
and eax, 0xffffffec
add eax, 0x3b
cmp edi, eax
jle 0x478715
push edi
push str.set_var_out_of_range___i_
mov eax, ebp
call fcn.00443d10
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
cmp edi, 4
ja 0x4787a7
cmp esi, 4
ja case.0x478304.0
jmp dword [esi*4 + 0x47b31c]
push 1
lea edx, [ebx + 0x18]
mov eax, ebp
call fcn.00439260
add esp, 4
mov dword [ebp + edi*4 + 0xe9c], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
lea edx, [ebx + 0x18]
mov eax, ebp
call fcn.00439330
fstp dword [ebp + edi*4 + 0xf8c]
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
push 1
lea edx, [ebx + 0x18]
mov eax, ebp
call fcn.00439260
add esp, 4
mov dword [ebp + edi*4 + 0x102c], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
lea edx, [ebx + 0x18]
mov eax, ebp
call fcn.00439330
fstp dword [ebp + edi*4 + 0x1040]
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
push edi
push str.set_sysvar_out_of_range___i_
mov eax, ebp
call fcn.00443d10
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
push 0
lea edx, [ebx + 0x30]
mov eax, ebp
call fcn.00439260
add esp, 4
mov esi, eax
push 1
lea edx, [ebx + 0x24]
mov eax, ebp
call fcn.00439260
add esp, 4
cmp esi, 1
mov edi, eax
jg 0x478808
test edi, edi
jl 0x4786ef
mov ecx, esi
neg ecx
sbb ecx, ecx
and ecx, 0xffffffec
add ecx, 0x3b
cmp edi, ecx
jle 0x478811
jmp 0x4786ef
cmp edi, 4
ja 0x4788b1
cmp esi, 4
ja case.0x478304.0
jmp dword [esi*4 + 0x47b330]
push 1
lea edx, [ebx + 0x18]
mov eax, ebp
call fcn.00439260
add dword [ebp + edi*4 + 0xe9c], eax
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
lea edx, [ebx + 0x18]
mov eax, ebp
call fcn.00439330
fadd dword [ebp + edi*4 + 0xf8c]
xor eax, eax
fstp dword [ebp + edi*4 + 0xf8c]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
push 1
lea edx, [ebx + 0x18]
mov eax, ebp
call fcn.00439260
add dword [ebp + edi*4 + 0x102c], eax
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
lea edx, [ebx + 0x18]
mov eax, ebp
call fcn.00439330
fadd dword [ebp + edi*4 + 0x1040]
xor eax, eax
fstp dword [ebp + edi*4 + 0x1040]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
push edi
push str.set_sysvar_out_of_range___i_
jmp 0x4786f5
push 0
lea edx, [ebx + 0x3c]
mov eax, ebp
call fcn.00439260
add esp, 4
mov dword [esp + 0x1c], eax
push 1
lea edx, [ebx + 0x18]
mov eax, ebp
call fcn.00439260
add esp, 4
mov edi, eax
push 1
lea edx, [ebx + 0x24]
mov eax, ebp
call fcn.00439260
add esp, 4
mov esi, eax
test edi, edi
jl 0x4789d5
mov eax, dword [esp + 0x1c]
mov edx, eax
neg edx
sbb edx, edx
and edx, 0xffffffec
add edx, 0x3b
cmp esi, edx
jg 0x4789d5
cmp edi, esi
jg 0x4789d5
test eax, eax
lea edx, [ebx + 0x30]
mov eax, ebp
je 0x478982
call fcn.00439330
fstp dword [esp + 0x18]
fldz
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 0x44
jp 0x478961
sub esi, edi
lea eax, [esi*4 + 4]
push eax
lea ecx, [ebp + edi*4 + 0xf8c]
push 0
push ecx
call sub.MSVCR90.dll_memset
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
mov eax, dword [esp + 0x18]
mov ecx, esi
sub ecx, edi
lea ebp, [ebp + edi*4 + 0xf8c]
inc ecx
mov edi, ebp
rep stosd dword es:[edi], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
push 1
call fcn.00439260
add esp, 4
test eax, eax
jne 0x4789b8
sub esi, edi
lea edx, [esi*4 + 4]
push edx
push eax
lea eax, [ebp + edi*4 + 0xe9c]
push eax
call sub.MSVCR90.dll_memset
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
mov ecx, esi
sub ecx, edi
lea ebp, [ebp + edi*4 + 0xe9c]
inc ecx
mov edi, ebp
rep stosd dword es:[edi], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
push esi
push edi
push str.set_illegal_var_range___i__i_
mov eax, ebp
call fcn.00443d10
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
push 1
lea edx, [ebx + 0x24]
mov eax, ebp
call fcn.00439260
add esp, 4
mov dword [esp + 0x24], eax
cmp eax, 0x3b
ja 0x478a5a
push 1
lea edx, [ebx + 0x18]
mov eax, ebp
call fcn.00439260
add esp, 4
mov edi, eax
push 1
lea edx, [ebx + 0x30]
mov eax, ebp
call fcn.00439260
mov esi, eax
add esp, 4
cmp esi, edi
jge 0x478a35
mov esi, edi
mov edi, eax
call fcn.004599c0
sub esi, edi
cdq
inc esi
idiv esi
mov ecx, dword [esp + 0x24]
add edx, edi
mov dword [ebp + ecx*4 + 0xe9c], edx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
push eax
push str.randomized_var_out_of_range___i_
jmp 0x4786f5
push 0
lea edx, [ebx + 0x18]
mov eax, ebp
call fcn.00439260
add esp, 4
test eax, eax
je 0x478a96
lea edx, [ebx + 0x3c]
mov eax, ebp
call fcn.00439330
push ecx
mov ecx, ebp
fstp dword [esp]
call fcn.00465250
fstp dword [ebp + 0x20c]
add esp, 4
push 0
lea edx, [ebx + 0x24]
mov eax, ebp
call fcn.00439260
add esp, 4
test eax, eax
je case.0x478304.0
lea edx, [ebx + 0x48]
mov eax, ebp
call fcn.00439330
push ecx
mov ecx, ebp
fstp dword [esp]
call fcn.00465250
fstp dword [ebp + 0x210]
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
push 1
lea edx, [ebx + 0x18]
mov eax, ebp
call fcn.00439260
mov ecx, eax
add esp, 4
mov eax, ebp
call fcn.0046af90
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
push 0
lea edx, [ebx + 0x30]
mov eax, ebp
call fcn.00439260
add esp, 4
push eax
push ecx
push 0
lea edx, [ebx + 0x24]
mov eax, ebp
call fcn.00439260
add esp, 8
push eax
push 1
lea edx, [ebx + 0x18]
mov eax, ebp
call fcn.00439260
neg eax
add esp, 4
push eax
mov edi, ebp
call fcn.0046e700
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
push 1
lea edx, [ebx + 0x18]
mov eax, ebp
call fcn.00439260
add esp, 4
push eax
mov eax, dword [edi + 4]
call fcn.0046b070
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
push 1
lea edx, [ebx + 0x18]
mov eax, ebp
call fcn.00439260
mov edi, dword [edi + 4]
mov edx, dword [edi + 0x1c8]
mov ecx, dword [edx]
add ecx, eax
add esp, 4
push ecx
mov eax, edi
call fcn.0046b070
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
push 0
lea edx, [ebx + 0x18]
mov eax, ebp
call fcn.00439260
add esp, 4
test eax, eax
je 0x478be0
lea edx, [ebx + 0x3c]
mov eax, ebp
call fcn.00439330
push ecx
mov ecx, ebp
fstp dword [esp]
call fcn.00465250
mov edx, dword [0x52b40c]
fadd dword [edx + 0x10ef8]
add esp, 4
fstp dword [ebp + 0x1f4]
push 0
lea edx, [ebx + 0x24]
mov eax, ebp
call fcn.00439260
add esp, 4
test eax, eax
je case.0x478304.0
lea edx, [ebx + 0x48]
mov eax, ebp
call fcn.00439330
push ecx
mov ecx, ebp
fstp dword [esp]
call fcn.00465250
fstp dword [ebp + 0x1f8]
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
push 0
lea edx, [ebx + 0x18]
mov eax, ebp
call fcn.00439260
add esp, 4
test eax, eax
je 0x478c67
lea edx, [ebx + 0x3c]
mov eax, ebp
call fcn.00439330
fimul dword [ebp + 0x1e8]
push ecx
mov ecx, ebp
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp]
call fcn.00465250
fadd dword [ebp + 0x1f4]
add esp, 4
fstp dword [ebp + 0x1f4]
push 0
lea edx, [ebx + 0x24]
mov eax, ebp
call fcn.00439260
add esp, 4
test eax, eax
je case.0x478304.0
lea edx, [ebx + 0x48]
mov eax, ebp
call fcn.00439330
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
push ecx
mov ecx, ebp
fstp dword [esp]
call fcn.00465250
fadd dword [ebp + 0x1f8]
add esp, 4
xor eax, eax
fstp dword [ebp + 0x1f8]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
push 1
lea edx, [ebx + 0x18]
mov eax, ebp
call fcn.00439260
add esp, 4
neg eax
sbb eax, eax
neg eax
mov dword [ebp + 0xe7c], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
push 0
lea edx, [ebx + 0x18]
mov eax, ebp
call fcn.00439260
add esp, 4
test eax, eax
je 0x478d1e
lea edx, [ebx + 0x3c]
mov eax, ebp
call fcn.00439330
fimul dword [ebp + 0x1e8]
push ecx
mov ecx, ebp
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.00465250
fstp dword [ebp + 0x204]
add esp, 4
push 0
lea edx, [ebx + 0x24]
mov eax, ebp
call fcn.00439260
add esp, 4
test eax, eax
je case.0x478304.0
lea edx, [ebx + 0x48]
mov eax, ebp
call fcn.00439330
push ecx
mov ecx, ebp
fstp dword [esp]
call fcn.00465250
fstp dword [ebp + 0x208]
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
push 0
lea edx, [ebx + 0x18]
mov eax, ebp
call fcn.00439260
add esp, 4
test eax, eax
je 0x478da5
lea edx, [ebx + 0x3c]
mov eax, ebp
call fcn.00439330
fimul dword [ebp + 0x1e8]
push ecx
mov ecx, ebp
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fstp dword [esp]
call fcn.00465250
fadd dword [ebp + 0x204]
add esp, 4
fstp dword [ebp + 0x204]
push 0
lea edx, [ebx + 0x24]
mov eax, ebp
call fcn.00439260
add esp, 4
test eax, eax
je case.0x478304.0
lea edx, [ebx + 0x48]
mov eax, ebp
call fcn.00439330
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
push ecx
mov ecx, ebp
fstp dword [esp]
call fcn.00465250
fadd dword [ebp + 0x208]
add esp, 4
xor eax, eax
fstp dword [ebp + 0x208]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
push 0
lea edx, [ebx + 0x18]
mov eax, ebp
call fcn.00439260
add esp, 4
test eax, eax
je 0x478e1e
lea edx, [ebx + 0x3c]
mov eax, ebp
call fcn.00439330
fmul dword [ebp + 0x204]
fstp dword [ebp + 0x204]
push 0
lea edx, [ebx + 0x24]
mov eax, ebp
call fcn.00439260
add esp, 4
test eax, eax
je case.0x478304.0
lea edx, [ebx + 0x48]
mov eax, ebp
call fcn.00439330
fmul dword [ebp + 0x208]
xor eax, eax
fstp dword [ebp + 0x208]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
mov eax, dword [ebp]
fld dword [eax + 0xa4]
xor eax, eax
fmul dword [ebp + 0x12c]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fadd dword [ebp + 0x208]
fstp dword [ebp + 0x208]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
mov edx, dword [ebx + 0x60]
mov ecx, dword [ebp + 0x132c]
mov edi, dword [ebp + 0x11e4]
push ebp
lea esi, [ebp + 0x11b0]
push esi
push edx
mov dword [esp + 0x2c], ecx
call fcn.0047f380
add esp, 0xc
mov dword [esi], 1
cmp dword [ebx + 0x10], 0x26
jne 0x478ec2
mov dword [ebp + 0x11b4], 0
mov eax, dword [ebp + 0x11e8]
push eax
mov esi, ebp
mov dword [ebp + 0x11e4], edi
call fcn.004651f0
mov ecx, dword [ebp + 0x11ec]
add esp, 4
push ecx
mov dword [ebp + 0x11e8], eax
call fcn.004651f0
add esp, 4
cmp dword [ebp + 0x132c], 0xffffffff
mov dword [ebp + 0x11ec], eax
jne 0x478f07
mov edx, dword [esp + 0x20]
mov dword [ebp + 0x132c], edx
mov eax, dword [0x52b40c]
mov ecx, dword [eax + 0x11650]
mov dword [ebp + 0x11c0], ecx
inc dword [eax + 0x11650]
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
push 0
lea edx, [ebx + 0x30]
mov eax, ebp
call fcn.00439260
add esp, 4
test eax, eax
push 0
lea edx, [ebx + 0x18]
mov eax, ebp
jne 0x478f75
call fcn.00439260
add esp, 4
mov dword [ebp + 0x1058], eax
push 0
lea edx, [ebx + 0x24]
mov eax, ebp
call fcn.00439260
add esp, 4
mov dword [ebp + 0x1060], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
call fcn.00439260
add esp, 4
mov dword [ebp + 0x105c], eax
push 0
lea edx, [ebx + 0x24]
mov eax, ebp
call fcn.00439260
add esp, 4
mov dword [ebp + 0x1064], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
push 0
lea edx, [ebx + 0x18]
mov eax, ebp
call fcn.00439260
add esp, 4
test eax, eax
je 0x478fca
fild dword [ebp + 0x1068]
fadd dword [ebp + 0x10b0]
fstp dword [ebp + 0x204]
push 0
lea edx, [ebx + 0x24]
mov eax, ebp
call fcn.00439260
add esp, 4
test eax, eax
je case.0x478304.0
fild dword [ebp + 0x106c]
xor eax, eax
fadd dword [ebp + 0x10b4]
fstp dword [ebp + 0x208]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
push 0
lea edx, [ebx + 0x18]
mov eax, ebp
call fcn.00439260
add esp, 4
cmp eax, 0xffffffff
je 0x47901a
mov dword [ebp + 0x10c8], eax
lea esi, [ebx + 0x3c]
mov edx, esi
mov eax, ebp
call fcn.00439330
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fcom qword [0x4a6c70]
fnstsw ax
test ah, 0x44
jnp 0x479043
fstp dword [ebp + 0x10d0]
jmp 0x479045
fstp st(0)
mov edx, esi
mov eax, ebp
call fcn.00439330
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fcom qword [0x4a6c70]
fnstsw ax
test ah, 0x44
jnp 0x47b0fd
fstp dword [ebp + 0x10d4]
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
mov ecx, dword [ebp + 0x1b8]
sub ecx, dword [ebp + 0x10cc]
mov eax, ebp
call fcn.0046af90
mov dword [ebp + 0x10cc], 0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
fld dword [ebp + 0x10d0]
fld qword [0x4a6c70]
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x4790cd
fild dword [ebp + 0x1e8]
fmul dword [ebp + 0x10d0]
fstp dword [ebp + 0x204]
fld dword [ebp + 0x10d4]
fucompp
fnstsw ax
test ah, 0x44
jnp case.0x478304.0
fld dword [ebp + 0x10d4]
xor eax, eax
fstp dword [ebp + 0x208]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
push 1
lea edx, [ebx + 0x18]
mov eax, ebp
call fcn.00439260
add dword [ebp + 0x13f4], eax
add dword [ebp + 0x13f8], eax
add dword [ebp + 0x13fc], eax
add esp, 4
push eax
mov eax, dword [ebp + 0xc]
call fcn.0044c970
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
lea edx, [ebx + 0x3c]
mov eax, ebp
call fcn.00439330
fimul dword [ebp + 0x58]
xor eax, eax
fdiv qword [0x4a6bc8]
fstp dword [ebp + 0x1e0]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
lea edx, [ebx + 0x3c]
mov eax, ebp
call fcn.00439330
fmul qword [0x4a6bc8]
xor eax, eax
fidiv dword [ebp + 0x70]
fstp dword [ebp + 0x1e4]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
push 0
lea edx, [ebx + 0x18]
mov eax, ebp
call fcn.00439260
add esp, 4
cmp eax, 0xffffffff
je 0x479199
mov dword [ebp + 0xe58], eax
push 0
lea edx, [ebx + 0x24]
mov eax, ebp
call fcn.00439260
add esp, 4
cmp eax, 0xffffffff
je 0x4791b3
mov dword [ebp + 0xe5c], eax
push 0
lea edx, [ebx + 0x30]
mov eax, ebp
call fcn.00439260
add esp, 4
cmp eax, 0xffffffff
je case.0x478304.0
mov dword [ebp + 0xe60], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
push 1
lea edx, [ebx + 0x18]
mov eax, ebp
call fcn.00439260
mov esi, eax
add esp, 4
test esi, esi
jl 0x4791f8
cmp esi, 7
jle 0x479206
mov ecx, str.illegal_override_slot:_0_assumed
mov eax, ebp
xor esi, esi
call fcn.00443cd0
mov eax, dword [esp + 0x1070]
mov ecx, dword [eax + 0x60]
lea edx, [esi + esi*4]
lea ebx, [ebp + edx*4 + 0x1100]
push ecx
mov edi, ebp
call fcn.0047d960
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
mov dword [ebp + 0xe8c], 0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
cmp dword [ebp + 0x1c], 0
jne case.0x478304.0
push 0
lea edx, [ebx + 0x18]
mov eax, ebp
call fcn.00439260
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x14]
lea edx, [ecx + edx*4]
mov ecx, dword [ebp + 0x10]
imul edx, edx, 0x194
add edx, dword [0x52b40c]
imul ecx, ecx, 0x1adc
add esp, 4
mov dword [ecx + edx + 0x4d34], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
push 0
lea edx, [ebx + 0x18]
mov eax, ebp
call fcn.00439260
mov esi, eax
add esp, 4
cmp esi, 0xffffffff
je 0x4792d5
push 0
lea edx, [ebx + 0x3c]
mov eax, ebp
call fcn.00439260
add esp, 4
test eax, eax
jne 0x4792cd
mov edx, dword [0x52b40c]
mov byte [edx + esi + 0x11658], 1
jmp 0x4792d5
mov byte [esi + ebp + 0x250], 1
push 0
lea edx, [ebx + 0x24]
mov eax, ebp
call fcn.00439260
mov esi, eax
add esp, 4
cmp esi, 0xffffffff
je 0x479315
push 0
lea edx, [ebx + 0x48]
mov eax, ebp
call fcn.00439260
add esp, 4
test eax, eax
jne 0x47930d
mov eax, dword [0x52b40c]
mov byte [eax + esi + 0x11658], 1
jmp 0x479315
mov byte [esi + ebp + 0x250], 1
push 0
lea edx, [ebx + 0x30]
mov eax, ebp
call fcn.00439260
mov esi, eax
add esp, 4
cmp esi, 0xffffffff
je case.0x478304.0
push 0
lea edx, [ebx + 0x54]
mov eax, ebp
call fcn.00439260
add esp, 4
test eax, eax
jne 0x47935b
mov ecx, dword [0x52b40c]
mov byte [ecx + esi + 0x11658], 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
mov byte [esi + ebp + 0x250], 1
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
mov ebx, dword [ebx + 0x60]
mov esi, ebp
test ecx, ecx
je 0x47937b
mov esi, ecx
push esi
push edi
push ebx
mov eax, ebp
call fcn.00481150
add esp, 0xc
cmp eax, 0xffffffff
je case.0x478304.0
mov edx, dword [esi + 0x268]
mov ecx, dword [edx]
mov edi, dword [ecx + 4]
imul edi, eax
add edi, dword [ecx + 0x18]
je case.0x478304.0
mov eax, dword [edi]
mov dword [ebp + 0x2240], eax
mov ecx, dword [edi + 0xcc]
push ecx
mov esi, ebp
call fcn.004651f0
mov edx, dword [edi + 0xd0]
add esp, 4
push edx
mov dword [edi + 0xcc], eax
call fcn.004651f0
add esp, 4
mov dword [edi + 0xd0], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
push 1
lea edx, [ebx + 0x18]
mov eax, ebp
call fcn.00439260
add esp, 4
mov dword [ebp + 0x240], eax
push 1
lea edx, [ebx + 0x24]
mov eax, ebp
call fcn.00439260
add esp, 4
mov dword [ebp + 0x244], eax
push 1
lea edx, [ebx + 0x30]
mov eax, ebp
call fcn.00439260
add esp, 4
mov dword [ebp + 0x248], eax
push 1
lea edx, [ebx + 0x3c]
mov eax, ebp
call fcn.00439260
add esp, 4
mov dword [ebp + 0x24c], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
push 1
lea edx, [ebx + 0x18]
mov eax, ebp
call fcn.00439260
add esp, 4
mov dword [ebp + 0x218], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
lea edx, [ebx + 0x3c]
mov eax, ebp
mov dword [ebp + 0x13dc], 1
call fcn.00439330
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fcom qword [0x4a6c70]
fnstsw ax
test ah, 0x44
jnp 0x47949d
fstp dword [ebp + 0x13d8]
jmp 0x47949f
fstp st(0)
lea edx, [ebx + 0x48]
mov eax, ebp
call fcn.00439330
fmul dword [ebp + 0x13ac]
lea edx, [ebx + 0x54]
mov eax, ebp
fstp dword [ebp + 0x13ac]
call fcn.00439330
fmul dword [ebp + 0x13b0]
xor eax, eax
fstp dword [ebp + 0x13b0]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
lea edx, [ebx + 0x3c]
mov eax, ebp
call fcn.00439330
fstp dword [ebp + 0x13d8]
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
lea edx, [ebx + 0x3c]
mov eax, ebp
call fcn.00439330
fadd dword [ebp + 0x13d8]
xor eax, eax
fstp dword [ebp + 0x13d8]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
lea edx, [ebx + 0x3c]
mov eax, ebp
call fcn.00439330
fmul dword [ebp + 0x13d8]
xor eax, eax
fstp dword [ebp + 0x13d8]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
push 1
lea edx, [ebx + 0x18]
mov eax, ebp
call fcn.00439260
add esp, 4
mov dword [ebp + 0x13e4], eax
push 1
lea edx, [ebx + 0x24]
mov eax, ebp
call fcn.00439260
xor edi, edi
add esp, 4
cmp eax, edi
mov dword [ebp + 0x13e8], eax
jge 0x479571
mov dword [ebp + 0x13e8], edi
mov esi, 0x100
cmp dword [ebp + 0x13e8], esi
jle 0x479584
mov dword [ebp + 0x13e8], esi
push 1
lea edx, [ebx + 0x30]
mov eax, ebp
call fcn.00439260
add esp, 4
cmp eax, edi
mov dword [ebp + 0x13ec], eax
jge 0x4795a3
mov dword [ebp + 0x13ec], edi
cmp dword [ebp + 0x13ec], esi
jle case.0x478304.0
mov dword [ebp + 0x13ec], esi
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
push 1
lea edx, [ebx + 0x18]
mov eax, ebp
call fcn.00439260
add esp, 4
neg eax
sbb eax, eax
neg eax
mov dword [ebp + 0x230], eax
push 1
lea edx, [ebx + 0x24]
mov eax, ebp
call fcn.00439260
add esp, 4
neg eax
sbb eax, eax
neg eax
mov dword [ebp + 0x234], eax
push 1
lea edx, [ebx + 0x30]
mov eax, ebp
call fcn.00439260
add esp, 4
neg eax
sbb eax, eax
neg eax
mov dword [ebp + 0x238], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
mov ecx, dword [ebp + 0x26c]
call fcn.00403390
mov edi, eax
test edi, edi
je case.0x478304.0
lea esi, [ebx + 0x30]
push 1
mov edx, esi
mov eax, ebp
call fcn.00439260
mov ecx, dword [edi]
add esp, 4
cmp dword [ecx + 0xe68], 0
jne 0x479702
cmp eax, 0xffffffff
je 0x479666
cmp eax, dword [ecx + 0x10bc]
jne 0x479702
push 1
lea edx, [ebx + 0x18]
mov eax, ebp
call fcn.00439260
add esp, 4
cmp eax, 0xffffffff
mov dword [edi + 0x14], eax
jge 0x479690
mov ecx, str.set_illegal_target_bindtime
mov eax, ebp
call fcn.00443cd0
mov dword [edi + 0x14], 1
lea edx, [ebx + 0x3c]
mov eax, ebp
call fcn.00439330
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fcom qword [0x4a6c70]
fnstsw ax
test ah, 0x44
jnp 0x4796c7
push ecx
mov ecx, ebp
fstp dword [esp]
call fcn.00465250
add esp, 4
call fcn.00499690
mov dword [edi + 0xc], eax
jmp 0x4796c9
fstp st(0)
lea edx, [ebx + 0x48]
mov eax, ebp
call fcn.00439330
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fcom qword [0x4a6c70]
fnstsw ax
test ah, 0x44
jnp 0x479700
push ecx
mov ecx, ebp
fstp dword [esp]
call fcn.00465250
add esp, 4
call fcn.00499690
mov dword [edi + 0x10], eax
jmp 0x479702
fstp st(0)
mov edx, dword [ebp + 0x26c]
call fcn.004033b0
mov edi, eax
test edi, edi
jne 0x479638
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
mov ecx, dword [ebp + 0x26c]
call fcn.00403390
mov edi, eax
push 1
lea edx, [ebx + 0x30]
mov eax, ebp
call fcn.00439260
add esp, 4
mov esi, eax
test edi, edi
je case.0x478304.0
mov eax, dword [edi]
cmp dword [eax + 0xe68], 0
jne 0x479760
cmp esi, 0xffffffff
je 0x47977c
cmp esi, dword [eax + 0x10bc]
je 0x47977c
mov edx, dword [ebp + 0x26c]
call fcn.004033b0
mov edi, eax
test edi, edi
jne 0x479748
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
mov esi, eax
xor eax, eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], eax
push eax
lea edx, [ebx + 0x24]
mov eax, ebp
call fcn.00439260
add esp, 4
cmp eax, 1
jne 0x4797d2
fild dword [esi + 0xa4]
mov eax, dword [esi]
fmul dword [eax + 0xa4]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
call fcn.00499690
fild dword [esi + 0xa8]
mov dword [esp + 0x1c], eax
mov eax, dword [esi]
fmul dword [eax + 0xa4]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
jmp 0x47981b
push 0
lea edx, [ebx + 0x24]
mov eax, ebp
call fcn.00439260
add esp, 4
cmp eax, 2
jne 0x479824
fild dword [esi + 0x9c]
mov eax, dword [esi]
fmul dword [eax + 0xa4]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
call fcn.00499690
fild dword [esi + 0xa0]
mov dword [esp + 0x1c], eax
mov eax, dword [esi]
fmul dword [eax + 0xa4]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
call fcn.00499690
mov dword [esp + 0x20], eax
push 1
lea edx, [ebx + 0x18]
mov eax, ebp
call fcn.00439260
add esp, 4
cmp eax, 0xffffffff
mov dword [edi + 0x14], eax
jge 0x47984e
mov ecx, str.set_illegal_target_bindtime
mov eax, ebp
call fcn.00443cd0
mov dword [edi + 0x14], 1
lea edx, [ebx + 0x3c]
mov eax, ebp
call fcn.00439330
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fcom qword [0x4a6c70]
fnstsw ax
test ah, 0x44
jnp 0x4798c3
fild dword [esp + 0x1c]
push ecx
mov ecx, ebp
fstp dword [esp + 0x28]
fstp dword [esp]
call fcn.00465250
fadd dword [esp + 0x28]
mov ecx, ebp
fimul dword [esi + 0x1e8]
fadd dword [esi + 0x1f4]
fstp dword [ebp + 0x1f4]
fld dword [esp + 0x1c]
fstp dword [esp]
call fcn.00465250
fadd dword [esp + 0x28]
add esp, 4
fimul dword [esi + 0x1e8]
fimul dword [ebp + 0x1e8]
fchs
call fcn.00499690
mov dword [edi + 0xc], eax
jmp 0x4798c5
fstp st(0)
lea edx, [ebx + 0x48]
mov eax, ebp
call fcn.00439330
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fcom qword [0x4a6c70]
fnstsw ax
test ah, 0x44
jnp 0x47b0fd
fild dword [esp + 0x20]
push ecx
mov ecx, ebp
fstp dword [esp + 0x28]
fstp dword [esp]
call fcn.00465250
fadd dword [esp + 0x28]
mov ecx, ebp
fadd dword [esi + 0x1f8]
fstp dword [ebp + 0x1f8]
fld dword [esp + 0x1c]
fstp dword [esp]
call fcn.00465250
fadd dword [esp + 0x28]
add esp, 4
fchs
call fcn.00499690
mov dword [edi + 0x10], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
mov ecx, dword [ebp + 0x26c]
call fcn.00403390
test eax, eax
je case.0x478304.0
lea ebx, [ebx]
mov esi, dword [eax]
push 1
lea edx, [ebx + 0x30]
mov eax, ebp
call fcn.00439260
add esp, 4
cmp dword [esi + 0xe68], 0
jne 0x4799b5
cmp eax, 0xffffffff
je 0x479977
cmp eax, dword [esi + 0x10bc]
jne 0x4799b5
mov eax, ebp
lea ecx, [esp + 0x38]
call fcn.0048bc00
mov edi, ecx
call fcn.0048bb50
push 1
lea edx, [ebx + 0x18]
mov eax, ebp
call fcn.00439260
mov edi, eax
add esp, 4
test edi, edi
jge 0x4799ac
mov ecx, str.attempted_targetstate_to_negative
mov eax, ebp
xor edi, edi
call fcn.00443cd0
mov eax, edi
mov edi, esi
call fcn.0046af10
mov edx, dword [ebp + 0x26c]
call fcn.004033b0
test eax, eax
jne 0x479950
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
mov ecx, dword [ebp + 0x26c]
call fcn.00403390
mov edi, eax
test edi, edi
je case.0x478304.0
lea esi, [ebx + 0x18]
add ebx, 0x30
mov dword [esp + 0x14], ebx
mov edi, edi
push 1
mov edx, esi
mov eax, ebp
call fcn.00439260
mov edx, dword [esp + 0x18]
mov edi, dword [edi]
add esp, 4
mov ebx, eax
push 1
mov eax, ebp
call fcn.00439260
add esp, 4
cmp dword [edi + 0xe68], 0
jne 0x479a3d
cmp eax, 0xffffffff
je 0x479a28
cmp eax, dword [edi + 0x10bc]
jne 0x479a3d
mov eax, dword [edi + 0x1c8]
mov ecx, dword [eax]
add ecx, ebx
push ecx
mov eax, edi
call fcn.0046b070
add esp, 4
mov edx, dword [ebp + 0x26c]
call fcn.004033b0
mov edi, eax
test edi, edi
jne 0x4799f0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
mov ecx, dword [ebp + 0x26c]
call fcn.00403390
test eax, eax
je case.0x478304.0
lea esi, [ebx + 0x54]
nop
mov edi, dword [eax]
push 1
mov edx, esi
mov eax, ebp
call fcn.00439260
add esp, 4
cmp dword [edi + 0xe68], 0
jne 0x479ad1
cmp eax, 0xffffffff
je 0x479a96
cmp eax, dword [edi + 0x10bc]
jne 0x479ad1
push 0
lea edx, [ebx + 0x30]
mov eax, ebp
call fcn.00439260
add esp, 4
push eax
push ecx
push 0
lea edx, [ebx + 0x24]
mov eax, ebp
call fcn.00439260
add esp, 8
push eax
push 1
lea edx, [ebx + 0x18]
mov eax, ebp
call fcn.00439260
neg eax
add esp, 4
push eax
call fcn.0046e700
add esp, 0xc
mov edx, dword [ebp + 0x26c]
call fcn.004033b0
test eax, eax
jne 0x479a70
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
mov ecx, dword [ebp + 0x26c]
call fcn.00403390
test eax, eax
je case.0x478304.0
lea esi, [ebx + 0x30]
mov edi, dword [eax]
push 1
mov edx, esi
mov eax, ebp
call fcn.00439260
add esp, 4
cmp dword [edi + 0xe68], 0
jne 0x479bab
cmp eax, 0xffffffff
je 0x479b2f
cmp eax, dword [edi + 0x10bc]
jne 0x479bab
lea edx, [ebx + 0x3c]
mov eax, ebp
call fcn.00439330
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fcom qword [0x4a6c70]
fnstsw ax
test ah, 0x44
jnp 0x479b72
fimul dword [edi + 0x1e8]
push ecx
mov ecx, ebp
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.00465250
fstp dword [edi + 0x204]
add esp, 4
jmp 0x479b74
fstp st(0)
lea edx, [ebx + 0x48]
mov eax, ebp
call fcn.00439330
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fcom qword [0x4a6c70]
fnstsw ax
test ah, 0x44
jnp 0x479ba9
push ecx
mov ecx, ebp
fstp dword [esp]
call fcn.00465250
fstp dword [edi + 0x208]
add esp, 4
jmp 0x479bab
fstp st(0)
mov edx, dword [ebp + 0x26c]
call fcn.004033b0
test eax, eax
jne 0x479b01
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
mov ecx, dword [ebp + 0x26c]
call fcn.00403390
test eax, eax
je case.0x478304.0
lea esi, [ebx + 0x30]
nop
mov edi, dword [eax]
push 1
mov edx, esi
mov eax, ebp
call fcn.00439260
add esp, 4
cmp dword [edi + 0xe68], 0
jne 0x479c96
cmp eax, 0xffffffff
je 0x479c0e
cmp eax, dword [edi + 0x10bc]
jne 0x479c96
lea edx, [ebx + 0x3c]
mov eax, ebp
call fcn.00439330
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fcom qword [0x4a6c70]
fnstsw ax
test ah, 0x44
jnp 0x479c57
fimul dword [edi + 0x1e8]
push ecx
mov ecx, ebp
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.00465250
fadd dword [edi + 0x204]
add esp, 4
fstp dword [edi + 0x204]
jmp 0x479c59
fstp st(0)
lea edx, [ebx + 0x48]
mov eax, ebp
call fcn.00439330
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fcom qword [0x4a6c70]
fnstsw ax
test ah, 0x44
jnp 0x479c94
push ecx
mov ecx, ebp
fstp dword [esp]
call fcn.00465250
fadd dword [edi + 0x208]
add esp, 4
fstp dword [edi + 0x208]
jmp 0x479c96
fstp st(0)
mov edx, dword [ebp + 0x26c]
call fcn.004033b0
test eax, eax
jne 0x479be0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
mov ecx, dword [ebp + 0x26c]
call fcn.00403390
mov esi, eax
test esi, esi
je case.0x478304.0
add ebx, 0x18
lea esp, [esp]
push 1
mov edx, ebx
mov eax, ebp
call fcn.00439260
add esp, 4
test eax, eax
jle 0x479cf4
mov ecx, dword [esi]
mov edx, dword [ebp + 0x1e8]
cmp edx, dword [ecx + 0x1e8]
jne 0x479d06
test eax, eax
jge 0x479d0b
mov ecx, dword [esi]
mov eax, dword [ebp + 0x1e8]
cmp eax, dword [ecx + 0x1e8]
jne 0x479d0b
call fcn.0046b410
mov edx, dword [ebp + 0x26c]
call fcn.004033b0
mov esi, eax
test esi, esi
jne 0x479cd0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
mov ecx, dword [ebp + 0x26c]
call fcn.00403390
mov edi, eax
mov dword [esp + 0x1c], 0
test edi, edi
je case.0x478304.0
lea esi, [ebx + 0x18]
add ebx, 0x24
mov dword [esp + 0x14], ebx
mov edi, edi
push 1
mov edx, esi
mov eax, ebp
call fcn.00439260
mov edx, dword [esp + 0x18]
add esp, 4
mov ebx, eax
push 1
mov eax, ebp
call fcn.00439260
mov ecx, dword [edi]
add esp, 4
cmp ebx, dword [ecx + 0x10bc]
jne 0x479d8f
mov ecx, 1
cmp dword [esp + 0x1c], ecx
je 0x479d8f
test eax, eax
je 0x479d9d
mov dword [esp + 0x1c], ecx
jmp 0x479d9d
mov eax, dword [ebp + 0x26c]
mov edx, dword [eax + 0x20]
call fcn.00403170
mov edx, dword [ebp + 0x26c]
call fcn.004033b0
mov edi, eax
test edi, edi
jne 0x479d50
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
push 1
lea edx, [ebx + 0x18]
mov eax, ebp
call fcn.00439260
add esp, 4
mov dword [ebp + 0x132c], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
push 1
lea edx, [ebx + 0x18]
mov eax, ebp
call fcn.00439260
add esp, 4
neg eax
sbb eax, eax
neg eax
mov dword [ebp + 0x23c], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
mov edi, dword [0x52b40c]
mov ebx, dword [ebx + 0x60]
add edi, 0x10f28
mov eax, ebp
call fcn.0047c440
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
cmp dword [ebp + 0x10ec], 0
jle case.0x478304.0
mov edx, dword [ebp + 0x10e8]
mov eax, dword [0x52b40c]
mov dword [eax + 0x10f28], edx
mov ecx, dword [ebp + 0x10ec]
add eax, 0x10f28
mov dword [eax + 4], ecx
mov edx, dword [ebp + 0x10f0]
mov dword [eax + 8], edx
mov ecx, dword [ebp + 0x10f4]
mov dword [eax + 0xc], ecx
mov edx, dword [ebp + 0x10f8]
mov dword [eax + 0x10], edx
mov ecx, dword [ebp + 0x10fc]
mov dword [eax + 0x14], ecx
mov dword [ebp + 0x10ec], 0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
push 1
lea edx, [ebx + 0x3c]
mov eax, ebp
call fcn.00439260
add esp, 4
mov esi, eax
push 1
lea edx, [ebx + 0x48]
mov eax, ebp
call fcn.00439260
add esp, 4
mov edi, eax
push 1
lea edx, [ebx + 0x54]
mov eax, ebp
call fcn.00439260
add esp, 4
push eax
push esi
mov edx, edi
call fcn.00411170
mov edx, dword [0x52b40c]
mov dword [edx + 0x80dc], eax
push 1
lea edx, [ebx + 0x24]
mov eax, ebp
call fcn.00439260
mov ecx, dword [0x52b40c]
add esp, 0xc
mov dword [ecx + 0x80e0], eax
cmp eax, 0xffffffff
je 0x479efa
inc eax
mov dword [ecx + 0x80e0], eax
cmp dword [ecx + 0x80e0], 0xffffffff
jge 0x479f1e
mov ecx, str.set_illegal_envcolortime
mov eax, ebp
call fcn.00443cd0
mov eax, dword [0x52b40c]
mov dword [eax + 0x80e0], 1
push 1
lea edx, [ebx + 0x30]
mov eax, ebp
call fcn.00439260
mov ecx, dword [0x52b40c]
add esp, 4
neg eax
sbb eax, eax
neg eax
mov dword [ecx + 0x80d8], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
mov esi, ebp
call fcn.00470610
push 1
lea edx, [ebx + 0x18]
mov eax, ebp
call fcn.00439260
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
jge 0x479f7e
mov ecx, str.made_negative_gameanim
mov eax, ebp
mov dword [esp + 0x18], 0
call fcn.00443cd0
lea edx, [ebx + 0x3c]
mov eax, ebp
call fcn.00439330
push ecx
mov ecx, ebp
fstp dword [esp]
call fcn.00465250
fimul dword [ebp + 0x1e8]
add esp, 4
fadd dword [ebp + 0x13b4]
fstp qword [esp + 0x28]
call fcn.00456e70
fadd qword [esp + 0x28]
call fcn.00499690
mov edi, eax
lea edx, [ebx + 0x48]
mov eax, ebp
call fcn.00439330
push ecx
mov ecx, ebp
fstp dword [esp]
call fcn.00465250
fadd dword [ebp + 0x13b8]
add esp, 4
fstp qword [esp + 0x28]
call fcn.00456ea0
fadd qword [esp + 0x28]
call fcn.00499690
mov dword [esp + 0x20], eax
push 1
lea edx, [ebx + 0x30]
mov eax, ebp
call fcn.00439260
mov esi, eax
add esp, 4
test esi, esi
jle 0x47a02c
sar eax, 1
mov dword [esp + 0x24], eax
call fcn.004599c0
cdq
idiv esi
sub edx, dword [esp + 0x24]
imul edx, dword [ebp + 0x1e8]
add edi, edx
call fcn.004599c0
cdq
idiv esi
sub edx, dword [esp + 0x24]
add dword [esp + 0x20], edx
jmp 0x47a03a
jge 0x47a03a
mov ecx, str.negative_random_param_for_GameMakeAnim
mov eax, ebp
call fcn.00443cd0
mov eax, dword [esp + 0x18]
push eax
mov eax, dword [0x52b40c]
mov ecx, dword [eax + 0x80e4]
xor edx, edx
cmp dword [ebp + 0x1e8], 1
push ecx
mov ecx, dword [eax + 0x80e8]
mov eax, dword [eax + 0x80b8]
setne dl
push ecx
mov ecx, dword [esp + 0x2c]
push eax
mov eax, edi
call fcn.004028b0
mov esi, eax
push 0
lea edx, [ebx + 0x24]
mov eax, ebp
call fcn.00439260
add esp, 0x14
cmp esi, 0xffffffff
je case.0x478304.0
mov ecx, dword [0x52b40c]
xor edx, edx
test eax, eax
mov eax, dword [ecx + 0x80b8]
mov eax, dword [eax]
mov eax, dword [eax + 0x1c]
setne dl
mov edi, esi
shl edi, 4
inc edx
mov dword [eax + edi + 8], edx
fld dword [ecx + 0x1012c]
fmul dword [ecx + 0x80ec]
mov ecx, dword [ecx + 0x80b8]
mov ecx, dword [ecx]
mov eax, dword [ecx + 4]
imul eax, esi
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x14]
add eax, dword [ecx + 0x18]
je 0x47b0fd
fstp dword [eax + 0xc]
fld dword [esp + 0x14]
fstp dword [eax + 0x10]
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
cmp dword [ebp + 0x13f0], 0
jne 0x47a112
mov edx, dword [0x52b40c]
mov edi, dword [edx + 0x80c4]
call fcn.0044e7e0
mov dword [ebp + 0x13f0], eax
mov eax, dword [ebp + 0x13f0]
test eax, eax
je case.0x478304.0
mov ecx, dword [ebp + 0x1418]
mov ebx, dword [ebx + 0x60]
push ecx
push eax
mov eax, ebp
call fcn.0047bd80
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
mov eax, dword [ebp + 0x13f0]
test eax, eax
je case.0x478304.0
mov dword [eax + 0x14], 0
push 1
lea edx, [ebx + 0x18]
mov eax, ebp
call fcn.00439260
mov edx, dword [ebp + 0x13f0]
mov dword [edx + 0x1c], eax
mov eax, dword [ebp + 0x13f0]
add esp, 4
cmp dword [eax + 0x1c], 0xffffffff
jge case.0x478304.0
mov ecx, str.set_illegal_afterimagetime
mov eax, ebp
call fcn.00443cd0
mov ecx, dword [ebp + 0x13f0]
mov dword [ecx + 0x1c], 1
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
mov edx, dword [ebx + 0x60]
push 0
push edx
mov eax, ebp
call fcn.00482620
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
mov ebx, dword [ebx + 0x60]
push 1
push ebx
mov eax, ebp
mov dword [esp + 0x1c], ebx
call fcn.00482620
push 1
lea edx, [ebx + 0x58]
mov eax, ebp
call fcn.00439260
add esp, 0xc
test eax, eax
mov eax, dword [0x52b40c]
je 0x47a2a5
xor edx, edx
xor ecx, ecx
mov edi, edx
or edi, ecx
mov dword [eax + 0x116c0], edi
or ebx, 0xffffffff
or ebx, edx
mov dword [eax + 0x116c4], ebx
mov dword [esp + 0x64], ecx
mov esi, dword [esp + 0x64]
or esi, edx
mov dword [esp + 0x44], edx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x60], ecx
or ecx, edx
mov dword [eax + 0x116c8], ecx
or edx, 0xffffffff
mov dword [eax + 0x116cc], edx
mov dword [eax + 0x116d0], esi
mov edx, dword [ebp + 0x1424]
xor ebx, dword [ebp + 0x1428]
xor ecx, dword [ebp + 0x142c]
mov dword [esp + 0x64], esi
or esi, 0xffffffff
xor edx, edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x44], esi
mov edi, dword [esp + 0x44]
xor edi, dword [ebp + 0x1430]
mov esi, dword [esp + 0x64]
xor esi, dword [ebp + 0x1434]
mov dword [eax + 0x116c0], edx
mov dword [eax + 0x116c4], ebx
mov ebx, dword [esp + 0x14]
mov dword [eax + 0x116c8], ecx
mov dword [eax + 0x116cc], edi
mov edi, dword [esp + 0x1074]
mov dword [eax + 0x116d0], esi
mov dword [eax + 0x116d4], 1
jmp 0x47a2af
mov dword [eax + 0x116d4], 0
mov ecx, dword [ebp + 0x22c]
test ecx, ecx
jl 0x47a2c1
cmp ecx, dword [eax + 0x116d8]
jle 0x47a2d7
mov ecx, str.set_illegal_supermovetime
mov eax, ebp
call fcn.00443cd0
mov dword [ebp + 0x22c], 0
push 1
lea edx, [ebx + 0x34]
mov eax, ebp
call fcn.00439260
mov esi, eax
add esp, 4
cmp esi, 0xffffffff
jge 0x47a2fe
mov ecx, str.negative_spark_animno_ignored
mov eax, ebp
call fcn.00443cd0
jmp 0x47a3af
je 0x47a3af
lea edx, [ebx + 0x40]
mov eax, ebp
call fcn.00439330
push ecx
mov ecx, ebp
fstp dword [esp]
call fcn.00465250
fsub dword [ebp + 0x20c]
add esp, 4
fimul dword [ebp + 0x1e8]
fmul dword [ebp + 0x13a8]
fadd dword [ebp + 0x13b4]
fstp qword [esp + 0x28]
call fcn.00456e70
fadd qword [esp + 0x28]
call fcn.00499690
mov dword [esp + 0x14], eax
lea edx, [ebx + 0x4c]
mov eax, ebp
call fcn.00439330
push ecx
mov ecx, ebp
fstp dword [esp]
call fcn.00465250
fsub dword [ebp + 0x210]
add esp, 4
fmul dword [ebp + 0x13a8]
fadd dword [ebp + 0x13b8]
fstp qword [esp + 0x28]
call fcn.00456ea0
fadd qword [esp + 0x28]
call fcn.00499690
xor ecx, ecx
cmp dword [ebp + 0x1e8], 1
push 0
setne cl
xor edx, edx
cmp dword [ebx + 0x30], edx
sete dl
push ecx
mov ecx, esi
push edx
push eax
mov eax, dword [esp + 0x24]
push eax
push ebp
call fcn.00470260
add esp, 0x18
lea edx, [ebx + 0x64]
mov eax, ebp
call fcn.00439330
fstp dword [esp + 0x18]
fldz
fld dword [esp + 0x18]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x47a3de
fstp st(0)
mov ecx, str.negative_p2defmul_for_SuperPause
mov eax, ebp
fstp st(0)
call fcn.00443cd0
jmp 0x47a3eb
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jp 0x47a3ff
fstp st(0)
mov ecx, dword [0x52b40c]
fld dword [ecx + 0x10f4c]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
fld1
fucomp st(1)
fnstsw ax
test ah, 0x44
jnp 0x47a441
mov ecx, dword [ebp + 0x26c]
call fcn.00403390
test eax, eax
je 0x47a441
mov eax, dword [eax]
cmp dword [eax + 0xe68], 0
jne 0x47a432
fld dword [eax + 0x1e4]
fdiv st(1)
fstp dword [eax + 0x1e4]
mov edx, dword [ebp + 0x26c]
call fcn.004033b0
test eax, eax
jne 0x47a419
push 1
fstp st(0)
lea edx, [ebx + 0x70]
mov eax, ebp
call fcn.00439260
mov edi, dword [edi + 4]
mov edx, dword [edi + 0x1c8]
mov ecx, dword [edx]
add ecx, eax
add esp, 4
push ecx
mov eax, edi
call fcn.0046b070
add esp, 4
push 0
lea edx, [ebx + 0x7c]
mov eax, ebp
call fcn.00439260
add esp, 4
test eax, eax
je 0x47a498
mov edx, dword [0x52b40c]
mov eax, dword [edx + 0x116d8]
inc eax
cmp dword [ebp + 0x1054], eax
jge 0x47a498
mov dword [ebp + 0x1054], eax
push 1
lea edx, [ebx + 0x8c]
mov eax, ebp
call fcn.00439260
add esp, 4
mov esi, eax
push 1
lea edx, [ebx + 0x98]
mov eax, ebp
call fcn.00439260
add esp, 4
sub esp, 8
cmp dword [ebx + 0x88], 0
jne 0x47a500
mov edi, dword [ebp]
fld qword [edi + 0x440]
fstp qword [esp]
push eax
fld dword [ebp + 0x13b4]
call fcn.00499690
mov edx, dword [edi + 0x448]
push eax
mov ecx, esi
call fcn.00473c40
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
fld qword [0x4a6bc8]
fstp qword [esp]
push eax
fld dword [ebp + 0x13b4]
call fcn.00499690
push eax
mov eax, dword [0x52b40c]
mov edx, dword [eax + 0x8124]
mov ecx, esi
call fcn.00473c40
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
push 1
lea edx, [ebx + 0x30]
mov eax, ebp
call fcn.00439260
mov ecx, eax
add esp, 4
cmp ecx, 1
jge 0x47a55f
mov ecx, str.makedust_spacing___0
mov eax, ebp
call fcn.00443cd0
mov ecx, 1
mov edx, dword [0x52b40c]
mov eax, dword [edx + 0x1171c]
cdq
idiv ecx
test edx, edx
jne case.0x478304.0
mov esi, ebp
call fcn.00470610
push 1
lea edx, [ebx + 0x18]
mov eax, ebp
call fcn.00439260
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
mov ecx, ebp
fstp dword [esp]
call fcn.00465250
fimul dword [ebp + 0x1e8]
add esp, 4
fadd dword [ebp + 0x13b4]
fstp qword [esp + 0x28]
call fcn.00456e70
fadd qword [esp + 0x28]
fstp qword [esp + 0x28]
call fcn.004599c0
cdq
mov ecx, 3
idiv ecx
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fadd qword [esp + 0x28]
fsub qword [0x4a6bd0]
call fcn.00499690
mov dword [esp + 0x1c], eax
push 1
lea edx, [ebx + 0x24]
mov eax, ebp
call fcn.00439260
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
mov ecx, ebp
fstp dword [esp]
call fcn.00465250
fadd dword [ebp + 0x13b8]
add esp, 4
fstp qword [esp + 0x28]
call fcn.00456ea0
fadd qword [esp + 0x28]
fstp qword [esp + 0x28]
call fcn.004599c0
cdq
mov ecx, 3
idiv ecx
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fadd qword [esp + 0x28]
fsub qword [0x4a6bd0]
call fcn.00499690
mov dword [esp + 0x20], eax
mov eax, dword [0x52b40c]
mov edx, dword [eax + 0x80e8]
mov ecx, dword [eax + 0xfcb0]
mov eax, dword [eax + 0x80e4]
push 0
push edx
push ecx
mov ecx, 0x78
call fcn.00446010
add esp, 0xc
cmp eax, 0xffffffff
je 0x47a6f8
mov ecx, dword [0x52b40c]
fild dword [esp + 0x1c]
imul eax, eax, 0x108
mov edx, dword [ecx + 0xfcb0]
add eax, dword [edx]
mov edx, dword [eax + 0x80]
fstp dword [eax + 0x14]
fild dword [esp + 0x20]
mov dword [eax + 0x68], 1
fstp dword [eax + 0x18]
mov esi, dword [edx]
mov esi, dword [esi]
mov edi, dword [esi + 4]
imul edi, dword [edx + 0xc]
mov esi, dword [esi + 0x18]
mov esi, dword [edi + esi + 8]
mov dword [eax + 0x40], esi
mov dword [edx + 0x34], 0xa
mov esi, dword [ecx + 0x80bc]
mov edx, dword [eax + 0x80]
mov dword [edx + 0x30], esi
fld dword [ecx + 0x1012c]
fmul dword [ecx + 0x80ec]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x28]
mov ecx, dword [esp + 0x28]
fstp dword [esp + 0x2c]
mov edx, dword [esp + 0x2c]
mov dword [eax + 0x44], ecx
mov dword [eax + 0x48], edx
lea edx, [ebx + 0x54]
mov eax, ebp
call fcn.00439330
fcomp dword [0x4a6bac]
fnstsw ax
test ah, 0x44
jnp case.0x478304.0
lea edx, [ebx + 0x3c]
mov eax, ebp
call fcn.00439330
push ecx
mov ecx, ebp
fstp dword [esp]
call fcn.00465250
fimul dword [ebp + 0x1e8]
add esp, 4
fadd dword [ebp + 0x13b4]
fstp qword [esp + 0x28]
call fcn.00456e70
fadd qword [esp + 0x28]
fstp qword [esp + 0x28]
call fcn.004599c0
cdq
mov ecx, 3
idiv ecx
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fadd qword [esp + 0x28]
fsub qword [0x4a6bd0]
call fcn.00499690
mov dword [esp + 0x1c], eax
lea edx, [ebx + 0x48]
mov eax, ebp
call fcn.00439330
push ecx
mov ecx, ebp
fstp dword [esp]
call fcn.00465250
fadd dword [ebp + 0x13b8]
add esp, 4
fstp qword [esp + 0x28]
call fcn.00456ea0
fadd qword [esp + 0x28]
fstp qword [esp + 0x28]
call fcn.004599c0
cdq
mov ecx, 3
idiv ecx
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fadd qword [esp + 0x28]
fsub qword [0x4a6bd0]
call fcn.00499690
mov dword [esp + 0x20], eax
mov eax, dword [0x52b40c]
mov edx, dword [eax + 0x80e8]
mov ecx, dword [eax + 0xfcb0]
mov eax, dword [eax + 0x80e4]
push 0
push edx
push ecx
mov ecx, 0x78
call fcn.00446010
add esp, 0xc
cmp eax, 0xffffffff
je case.0x478304.0
mov ecx, dword [0x52b40c]
fild dword [esp + 0x1c]
imul eax, eax, 0x108
mov edx, dword [ecx + 0xfcb0]
add eax, dword [edx]
mov edx, dword [eax + 0x80]
fstp dword [eax + 0x14]
fild dword [esp + 0x20]
mov dword [eax + 0x68], 1
fstp dword [eax + 0x18]
mov esi, dword [edx]
mov esi, dword [esi]
mov edi, dword [esi + 4]
imul edi, dword [edx + 0xc]
mov esi, dword [esi + 0x18]
mov esi, dword [edi + esi + 8]
mov dword [eax + 0x40], esi
mov dword [edx + 0x34], 0xa
mov esi, dword [ecx + 0x80bc]
mov edx, dword [eax + 0x80]
mov dword [edx + 0x30], esi
fld dword [ecx + 0x1012c]
fmul dword [ecx + 0x80ec]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fst dword [esp + 0x28]
mov ecx, dword [esp + 0x28]
fstp dword [esp + 0x2c]
mov edx, dword [esp + 0x2c]
mov dword [eax + 0x44], ecx
mov dword [eax + 0x48], edx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
mov ecx, dword [ebx + 0x60]
lea eax, [ebp + 0x1438]
push ecx
mov edi, ebp
call fcn.0047d050
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
push 1
lea edx, [ebx + 0x18]
mov eax, ebp
call fcn.00439260
add esp, 4
mov esi, eax
push 1
lea edx, [ebx + 0x24]
mov eax, ebp
call fcn.00439260
mov edi, eax
add esp, 4
push 1
lea edx, [ebx + 0x3c]
mov eax, ebp
mov dword [esp + 0x24], edi
call fcn.00439260
add esp, 4
mov dword [esp + 0x1c], eax
push 1
lea edx, [ebx + 0x48]
mov eax, ebp
call fcn.00439260
mov edx, dword [esp + 0x20]
add esp, 4
mov ebx, eax
push ebx
push edx
mov ecx, edi
mov edi, dword [ebp + 0x1408]
mov edx, esi
call fcn.00417840
add esp, 8
test eax, eax
jne 0x47a92b
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
push ebx
push eax
push ecx
push esi
push str.cant_map_palette__i__i_to__i__i
mov eax, ebp
call fcn.00443d10
add esp, 0x14
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edi, dword [ebp + 0x1410]
push ebx
push edx
mov edx, esi
call fcn.00417840
add esp, 8
test eax, eax
jne case.0x478304.0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
push ebx
push eax
push ecx
push esi
push str.cant_map_palette__i__i_to__i__i
mov eax, ebp
call fcn.00443d10
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
mov edx, dword [ebx + 0x60]
push edi
push edx
mov eax, ebp
call fcn.00445690
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
mov eax, dword [ebx + 0x60]
push edi
push eax
mov eax, ebp
call fcn.004457c0
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
push 1
lea edx, [ebx + 0x18]
mov eax, ebp
call fcn.00439260
mov esi, eax
add esp, 4
cmp esi, 0xffffffff
jge 0x47a9d2
mov ecx, str.removal_of_illegal_explod_ID
mov eax, ebp
or esi, 0xffffffff
call fcn.00443cd0
mov ecx, dword [ebp + 4]
mov edx, dword [0x52b40c]
mov edi, dword [edx + 0xfcb0]
push esi
push ecx
call fcn.004462b0
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
push 1
lea edx, [ebx + 0x18]
mov eax, ebp
call fcn.00439260
add esp, 4
mov edi, eax
push 1
lea edx, [ebx + 0x24]
mov eax, ebp
call fcn.00439260
add esp, 4
cmp edi, 0xffffffff
mov ebx, eax
jge 0x47aa2e
mov ecx, str.illegal_ID_to_explodbindtime
mov eax, ebp
or edi, 0xffffffff
call fcn.00443cd0
cmp ebx, 0xffffffff
jge 0x47aa42
mov ecx, str.illegal_explodbindtime
mov eax, ebp
or ebx, 0xffffffff
call fcn.00443cd0
mov eax, dword [ebp + 4]
mov ecx, dword [0x52b40c]
mov ecx, dword [ecx + 0xfcb0]
push eax
call fcn.004463c0
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
mov edx, dword [ebx + 0x60]
push edi
push edx
mov eax, ebp
call fcn.00450060
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
cmp eax, 0x138
jg 0x47aed0
je 0x47aead
sub eax, 0x12d
cmp eax, 0xa
ja case.0x47aaa9.302
movzx eax, byte [eax + 0x47b358]
jmp dword [eax*4 + 0x47b344]
mov esi, dword [ebx + 0x60]
lea ecx, [ebx + 0x18]
mov dword [esp + 0x38], ecx
lea ecx, [ebx + 0x3c]
lea edx, [ebx + 0x24]
lea eax, [ebx + 0x30]
xor edi, edi
mov dword [esp + 0x44], ecx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], eax
xor ecx, ecx
cmp cx, word [esi + 0x30]
lea edx, [ebx + 0x48]
lea eax, [ebx + 0x54]
mov dword [esp + 0x20], edi
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x24], edi
jge 0x47aca7
lea eax, [esp + 0x38]
sub eax, esi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x28], eax
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
movzx ecx, byte [eax + esi + 0x38]
mov edx, dword [esp + 0x20]
lea eax, [eax + esi + 0x38]
mov byte [esp + 0x37], cl
mov byte [eax], 0
lea eax, [esi + edx + 0x38]
push eax
mov ecx, 0x1000
sub ecx, edi
push ecx
lea edx, [esp + edi + 0x70]
push edx
call dword [sym.imp.MSVCR90.dll__snprintf]
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx]
movzx ecx, byte [esp + 0x43]
mov byte [edx + esi + 0x38], cl
mov edx, dword [esp + 0x28]
mov ecx, dword [edx]
add esp, 0xc
mov dword [esp + 0x20], ecx
test eax, eax
jl 0x47acc6
add edi, eax
cmp edi, 0xfff
jae 0x47acc6
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x14]
push edx
mov edx, dword [esp + 0x2c]
lea eax, [esp + 0x1c]
push eax
mov eax, dword [ecx + edx]
push eax
push ebp
call fcn.004393b0
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx + 0x18]
add edx, dword [ecx]
add esp, 0x10
lea ecx, [edx + esi + 0x38]
mov dl, byte [ecx]
mov byte [esp + 0x37], dl
mov byte [ecx], 0
cmp eax, 3
jne 0x47abbf
mov eax, 0x1000
push str._bottom_
sub eax, edi
push eax
lea ecx, [esp + edi + 0x70]
push ecx
call dword [sym.imp.MSVCR90.dll__snprintf]
add esp, 0xc
jmp 0x47ac5b
cmp eax, 2
jne 0x47ac01
mov edx, dword [esp + 0x24]
fld dword [esp + 0x14]
sub esp, 8
cmp byte [edx + esi + 0x32], 1
fstp qword [esp]
jne 0x47abe0
push 0x4a3c38
jmp 0x47ac1f
mov edx, dword [esp + 0x28]
lea eax, [esi + edx + 0x38]
push eax
mov ecx, 0x1000
sub ecx, edi
push ecx
lea edx, [esp + edi + 0x78]
push edx
call dword [sym.imp.MSVCR90.dll__snprintf]
add esp, 0x14
jmp 0x47ac5b
mov eax, dword [esp + 0x24]
cmp byte [eax + esi + 0x32], 2
jne 0x47ac37
fild dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
sub esp, 8
lea edx, [esi + ecx + 0x38]
fstp qword [esp]
push edx
mov eax, 0x1000
sub eax, edi
push eax
lea ecx, [esp + edi + 0x78]
push ecx
call dword [sym.imp.MSVCR90.dll__snprintf]
add esp, 0x14
jmp 0x47ac5b
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
push edx
lea ecx, [esi + eax + 0x38]
push ecx
mov edx, 0x1000
sub edx, edi
push edx
lea eax, [esp + edi + 0x74]
push eax
call dword [sym.imp.MSVCR90.dll__snprintf]
add esp, 0x10
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + 0x18]
add edx, dword [ecx]
mov cl, byte [esp + 0x37]
mov byte [edx + esi + 0x38], cl
mov edx, dword [esp + 0x1c]
mov ecx, dword [edx + 0x18]
add dword [esp + 0x20], ecx
test eax, eax
jl 0x47acc6
add edi, eax
cmp edi, 0xfff
jae 0x47acc6
mov eax, dword [esp + 0x24]
movsx edx, word [esi + 0x30]
add dword [esp + 0x1c], 4
inc eax
cmp eax, edx
mov dword [esp + 0x24], eax
jl 0x47ab01
cmp edi, 0xfff
jae 0x47acc6
mov eax, dword [esp + 0x20]
lea ecx, [esi + eax + 0x38]
push ecx
mov edx, 0x1000
sub edx, edi
push edx
lea eax, [esp + edi + 0x70]
push eax
call dword [sym.imp.MSVCR90.dll__snprintf]
add esp, 0xc
cmp dword [ebx + 0x10], 0x137
mov byte [esp + 0x1067], 0
jne 0x47acf7
mov esi, dword [ebp + 0x22b0]
lea ecx, [esp + 0x68]
push ecx
call fcn.0040acd0
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
mov eax, dword [ebp + 0x22b0]
lea edx, [esp + 0x68]
push edx
call fcn.0040ac80
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
cmp dword [ebp + 0x1c], 1
mov eax, ebp
jne 0x47ad34
call fcn.004508f0
mov eax, 2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
mov ecx, str.destroyself_called_for_non_helper
call fcn.00443cd0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
cmp dword [ebp + 0x1c], 1
jne case.0x478304.0
mov eax, ebp
test esi, esi
jne 0x47ad72
mov ecx, str.no_parent_for_parentvarset
call fcn.00443cd0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
push 0
lea edx, [ebx + 0x30]
call fcn.00439260
add esp, 4
mov dword [esp + 0x1c], eax
push 1
lea edx, [ebx + 0x24]
mov eax, ebp
call fcn.00439260
mov edi, eax
add esp, 4
test edi, edi
jl 0x47adec
mov eax, dword [esp + 0x1c]
mov ecx, eax
neg ecx
sbb ecx, ecx
and ecx, 0xffffffec
add ecx, 0x3b
cmp edi, ecx
jg 0x47adec
test eax, eax
lea edx, [ebx + 0x18]
mov eax, ebp
je 0x47adce
call fcn.00439330
fstp dword [esi + edi*4 + 0xf8c]
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
push 1
call fcn.00439260
add esp, 4
mov dword [esi + edi*4 + 0xe9c], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
mov ecx, str.set_parentvar_out_of_range
mov eax, ebp
call fcn.00443cd0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
cmp dword [ebp + 0x1c], 1
jne case.0x478304.0
mov eax, ebp
test esi, esi
jne 0x47ae2c
mov ecx, str.no_parent_for_parentvaradd
call fcn.00443cd0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
push 0
lea edx, [ebx + 0x30]
call fcn.00439260
add esp, 4
mov dword [esp + 0x1c], eax
push 1
lea edx, [ebx + 0x24]
mov eax, ebp
call fcn.00439260
mov edi, eax
add esp, 4
test edi, edi
jl 0x47adec
mov eax, dword [esp + 0x1c]
mov edx, eax
neg edx
sbb edx, edx
and edx, 0xffffffec
add edx, 0x3b
cmp edi, edx
jg 0x47adec
test eax, eax
lea edx, [ebx + 0x18]
mov eax, ebp
je 0x47ae8f
call fcn.00439330
fadd dword [esi + edi*4 + 0xf8c]
xor eax, eax
fstp dword [esi + edi*4 + 0xf8c]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
push 1
call fcn.00439260
add dword [esi + edi*4 + 0xe9c], eax
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
mov ebp, dword [ebp + 0x22b0]
xor eax, eax
mov dword [ebp + 0x14], eax
mov dword [ebp + 0x10], eax
mov eax, dword [ebp]
mov ecx, dword [eax]
mov byte [ecx], 0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
cmp eax, 0x228
jg 0x47b0d6
je 0x47b0bc
cmp eax, 0x140
jl case.0x47aaa9.302
cmp eax, 0x141
jle 0x47af8c
cmp eax, 0x227
jne case.0x47aaa9.302
test edx, edx
je 0x47af7c
push 1
lea edx, [ebx + 0x18]
mov eax, ebp
call fcn.00439260
add esp, 4
test eax, eax
jl 0x47af24
mov edi, ebp
call fcn.0046af10
push 1
lea edx, [ebx + 0x24]
mov eax, ebp
call fcn.00439260
mov edi, dword [esp + 0x2c]
mov edx, dword [edi + 0x1e8]
add esp, 4
mov esi, eax
cmp edx, dword [ebp + 0x1e8]
je 0x47af4e
mov ecx, edi
call fcn.0046b410
test esi, esi
jge 0x47af6b
mov ecx, str.attempted_change_to_negative_anim
mov eax, ebp
call fcn.00443cd0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
mov eax, esi
call fcn.0046af10
mov dword [edi + 0x22b4], 0
mov eax, 5
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
mov edi, 1
cmp dword [ebp + 0x1c], edi
jne case.0x478304.0
cmp eax, 0x140
jne 0x47afbe
test esi, esi
jne 0x47afdd
mov ecx, str.No_parent_for_bindtoparent
mov eax, ebp
call fcn.00443cd0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
mov esi, ecx
test ecx, ecx
jne 0x47afdd
mov ecx, str.No_root_for_bindtoroot
mov eax, ebp
call fcn.00443cd0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
push edi
lea edx, [ebx + 0x18]
mov eax, ebp
call fcn.00439260
add esp, 4
cmp eax, 0xffffffff
mov dword [ebp + 0x228c], eax
jge 0x47b008
mov ecx, str.illegal_helper_bindtime
mov eax, ebp
mov dword [ebp + 0x228c], edi
call fcn.00443cd0
push edi
lea edx, [ebx + 0x24]
mov eax, ebp
call fcn.00439260
add esp, 4
mov dword [ebp + 0x229c], eax
test eax, eax
jge 0x47b031
cmp eax, 0xffffffff
je 0x47b049
mov dword [ebp + 0x229c], 0xffffffff
jmp 0x47b03d
jle 0x47b049
cmp eax, edi
je 0x47b049
mov dword [ebp + 0x229c], edi
mov ecx, str.binds_facing_param_not___1_or_0
mov eax, ebp
call fcn.00443cd0
lea edx, [ebx + 0x3c]
mov eax, ebp
call fcn.00439330
push ecx
mov ecx, ebp
fstp dword [esp]
call fcn.00465250
fstp dword [ebp + 0x22a0]
add esp, 4
lea edx, [ebx + 0x48]
mov eax, ebp
call fcn.00439330
push ecx
mov ecx, ebp
fstp dword [esp]
call fcn.00465250
fstp dword [ebp + 0x22a4]
lea eax, [esi + 0x1f4]
lea ecx, [esi + 0x1f8]
mov dword [ebp + 0x22a8], esi
add esi, 0x1e8
add esp, 4
mov dword [ebp + 0x2290], eax
mov dword [ebp + 0x2294], ecx
mov dword [ebp + 0x2298], esi
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
mov dword [ebp + 0x22b4], 1
mov eax, 5
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1058
ret
cmp eax, 0x3e8
je case.0x478304.0
mov edx, dword [0x52b40c]
add edx, 0x1205c
push str.PlayerSCtrlApplyElem_not_recognised
push edx
call dword [sym.imp.MSVCR90.dll_sprintf]
add esp, 8
call int.00443e80
fstp st(0)
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1058
ret