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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x622c26
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x128
mov eax, dword [0x69bd40]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x12c], edi
mov esi, dword [ebx + 8]
call fcn.0057de20
mov edx, esi
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x57dec6
sub edx, ecx
lea eax, [edi + 4]
push edx
push esi
lea esi, [edi + 4]
mov dword [ebp - 0x130], eax
mov ecx, esi
call fcn.00457160
push esi
call fcn.004f7fb0
add esp, 4
lea ecx, [ebp - 0x120]
call fcn.0050fed0
cmp dword [esi + 0x14], 0x10
mov eax, esi
mov dword [ebp - 4], 0
jb 0x57df09
mov eax, dword [esi]
push eax
lea ecx, [ebp - 0x120]
call fcn.00510f10
test al, al
je 0x57f20f
lea ecx, [ebp - 0x120]
call fcn.005119e0
mov eax, dword [0x648f04]
movq xmm0, qword [str.spreadingflag]
mov dword [ebp - 0x38], eax
mov al, byte [0x648f08]
mov dword [ebp - 0x2c], 0xf
mov dword [ebp - 0x30], 0xd
movq qword [ebp - 0x40], xmm0
mov byte [ebp - 0x34], al
mov byte [ebp - 0x33], 0
lea eax, [ebp - 0x128]
mov byte [ebp - 4], 1
push eax
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x120]
call fcn.00510720
mov edx, dword [ebp - 0x2c]
test eax, eax
mov byte [ebp - 4], 0
sete al
mov byte [ebp - 0x121], al
cmp edx, 0x10
jb 0x57dfba
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x57dfaa
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x57f247
push edx
push ecx
call fcn.0059df52
mov al, byte [ebp - 0x121]
add esp, 8
test al, al
je 0x57dfc2
xor al, al
jmp 0x57dfcc
cmp dword [ebp - 0x128], 0
setne al
mov byte [edi + 0x1c], al
lea ecx, [ebp - 0x40]
push 0x14
mov dword [ebp - 0x40], 0
push str.maintainparallelflag
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
call fcn.00457160
lea eax, [ebp - 0x128]
mov byte [ebp - 4], 2
push eax
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x120]
call fcn.00510720
mov edx, dword [ebp - 0x2c]
test eax, eax
mov byte [ebp - 4], 0
sete al
mov byte [ebp - 0x121], al
cmp edx, 0x10
jb 0x57e05a
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x57e04a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x57f24c
push edx
push ecx
call fcn.0059df52
mov al, byte [ebp - 0x121]
add esp, 8
test al, al
je 0x57e062
xor al, al
jmp 0x57e06c
cmp dword [ebp - 0x128], 0
setne al
mov byte [edi + 0x1d], al
mov eax, dword [0x648f2c]
movq xmm0, qword [str.initialvelocity]
mov dword [ebp - 0x38], eax
mov ax, word [0x648f30]
mov word [ebp - 0x34], ax
mov al, byte [0x648f32]
mov dword [ebp - 0x2c], 0xf
mov dword [ebp - 0x30], 0xf
movq qword [ebp - 0x40], xmm0
mov byte [ebp - 0x32], al
mov byte [ebp - 0x31], 0
lea eax, [edi + 0x20]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x120]
call fcn.00510a20
mov edx, dword [ebp - 0x2c]
test eax, eax
mov byte [ebp - 4], 0
sete al
mov byte [ebp - 0x121], al
cmp edx, 0x10
jb 0x57e108
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x57e0f8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x57f251
push edx
push ecx
call fcn.0059df52
mov al, byte [ebp - 0x121]
add esp, 8
test al, al
jne 0x57f20f
movq xmm0, qword [str.coneangle]
mov al, byte [0x648f3c]
mov dword [ebp - 0x2c], 0xf
mov dword [ebp - 0x30], 9
movq qword [ebp - 0x40], xmm0
mov byte [ebp - 0x38], al
mov byte [ebp - 0x37], 0
lea eax, [edi + 0x24]
mov byte [ebp - 4], 4
push eax
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x120]
call fcn.00510a20
mov edx, dword [ebp - 0x2c]
mov byte [ebp - 4], 0
cmp edx, 0x10
jb 0x57e186
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x57e17c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x57f256
push edx
push ecx
call fcn.0059df52
add esp, 8
movq xmm0, qword [str.rollangle]
mov al, byte [0x648f48]
mov dword [ebp - 0x2c], 0xf
mov dword [ebp - 0x30], 9
movq qword [ebp - 0x40], xmm0
mov byte [ebp - 0x38], al
mov byte [ebp - 0x37], 0
lea eax, [edi + 0x28]
mov byte [ebp - 4], 5
push eax
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x120]
call fcn.00510a20
mov edx, dword [ebp - 0x2c]
mov byte [ebp - 4], 0
cmp edx, 0x10
jb 0x57e1fc
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x57e1f2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x57f25b
push edx
push ecx
call fcn.0059df52
add esp, 8
mov eax, dword [0x648f54]
movq xmm0, qword [str.angularvelocity]
mov dword [ebp - 0x38], eax
mov ax, word [0x648f58]
mov word [ebp - 0x34], ax
mov al, byte [0x648f5a]
mov dword [ebp - 0x2c], 0xf
mov dword [ebp - 0x30], 0xf
movq qword [ebp - 0x40], xmm0
mov byte [ebp - 0x32], al
mov byte [ebp - 0x31], 0
lea eax, [edi + 0x2c]
mov byte [ebp - 4], 6
push eax
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x120]
call fcn.00510920
mov edx, dword [ebp - 0x2c]
mov byte [ebp - 4], 0
cmp edx, 0x10
jb 0x57e284
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x57e27a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x57f260
push edx
push ecx
call fcn.0059df52
add esp, 8
mov eax, dword [str.gravity]
mov dword [ebp - 0x40], eax
mov ax, word [0x640338]
mov word [ebp - 0x3c], ax
mov al, byte [0x64033a]
mov dword [ebp - 0x2c], 0xf
mov dword [ebp - 0x30], 7
mov byte [ebp - 0x3a], al
mov byte [ebp - 0x39], 0
lea eax, [edi + 0x38]
mov byte [ebp - 4], 7
push eax
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x120]
call fcn.00510a20
mov edx, dword [ebp - 0x2c]
mov byte [ebp - 4], 0
cmp edx, 0x10
jb 0x57e2ff
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x57e2f5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x57f265
push edx
push ecx
call fcn.0059df52
add esp, 8
mov eax, dword [0x648f64]
movq xmm0, qword [str.hitonbackground]
mov dword [ebp - 0x38], eax
mov ax, word [0x648f68]
mov word [ebp - 0x34], ax
mov al, byte [0x648f6a]
mov dword [ebp - 0x2c], 0xf
mov dword [ebp - 0x30], 0xf
movq qword [ebp - 0x40], xmm0
mov byte [ebp - 0x32], al
mov byte [ebp - 0x31], 0
lea eax, [ebp - 0x128]
mov byte [ebp - 4], 8
push eax
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x120]
call fcn.00510720
mov edx, dword [ebp - 0x2c]
mov esi, eax
mov byte [ebp - 4], 0
cmp edx, 0x10
jb 0x57e38c
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x57e382
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x57f26a
push edx
push ecx
call fcn.0059df52
add esp, 8
test esi, esi
je 0x57e39c
cmp dword [ebp - 0x128], 0
setne al
jmp 0x57e39e
xor al, al
mov byte [edi + 0x68], al
lea ecx, [ebp - 0x40]
push 0x13
mov dword [ebp - 0x40], 0
push str.hitonanothermonster
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
call fcn.00457160
lea eax, [ebp - 0x128]
mov byte [ebp - 4], 9
push eax
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x120]
call fcn.00510720
mov edx, dword [ebp - 0x2c]
mov esi, eax
mov byte [ebp - 4], 0
cmp edx, 0x10
jb 0x57e41d
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x57e413
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x57f26f
push edx
push ecx
call fcn.0059df52
add esp, 8
test esi, esi
je 0x57e42d
cmp dword [ebp - 0x128], 0
setne al
jmp 0x57e42f
xor al, al
mov byte [edi + 0x69], al
mov ax, word [0x648f88]
movq xmm0, qword [str.piercecount]
mov word [ebp - 0x38], ax
mov al, byte [0x648f8a]
mov dword [ebp - 0x2c], 0xf
mov dword [ebp - 0x30], 0xb
movq qword [ebp - 0x40], xmm0
mov byte [ebp - 0x36], al
mov byte [ebp - 0x35], 0
lea esi, [edi + 0x6c]
mov byte [ebp - 4], 0xa
push esi
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x120]
call fcn.00510720
mov edx, dword [ebp - 0x2c]
test eax, eax
mov byte [ebp - 4], 0
sete al
mov byte [ebp - 0x121], al
cmp edx, 0x10
jb 0x57e4c3
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x57e4b3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x57f274
push edx
push ecx
call fcn.0059df52
mov al, byte [ebp - 0x121]
add esp, 8
test al, al
je 0x57e4cd
mov dword [esi], 0
push 9
mov dword [ebp - 0x40], 0
lea ecx, [ebp - 0x40]
push str.bombrange
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
call fcn.00457160
lea eax, [edi + 0x3c]
mov byte [ebp - 4], 0xb
push eax
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x120]
call fcn.00510a20
mov edx, dword [ebp - 0x2c]
mov byte [ebp - 4], 0
cmp edx, 0x10
jb 0x57e544
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x57e53a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x57f279
push edx
push ecx
call fcn.0059df52
add esp, 8
push 0xa
mov dword [ebp - 0x40], 0
lea ecx, [ebp - 0x40]
push str.bombeffect
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
call fcn.00457160
lea esi, [edi + 0x40]
mov byte [ebp - 4], 0xc
push esi
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x120]
call fcn.00510aa0
mov edx, dword [ebp - 0x2c]
test eax, eax
mov byte [ebp - 4], 0
sete al
mov byte [ebp - 0x121], al
cmp edx, 0x10
jb 0x57e5cc
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x57e5bc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x57f27e
push edx
push ecx
call fcn.0059df52
mov al, byte [ebp - 0x121]
add esp, 8
test al, al
je 0x57e5e0
push 0
push 0x664d84
mov ecx, esi
call fcn.00457160
jmp 0x57e649
cmp dword [edi + 0x50], 0
je 0x57e649
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x57e5f0
mov eax, dword [esi]
push eax
call fcn.004f7930
add esp, 4
test al, al
jne 0x57e62f
push esi
lea ecx, [ebp - 0x120]
call fcn.00510710
push eax
call fcn.004f77f0
add esp, 4
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.00468170
add esp, 0xc
mov ecx, esi
push eax
call fcn.004c85c0
lea ecx, [ebp - 0x40]
call fcn.004566a0
cmp dword [esi + 0x14], 0x10
jb 0x57e637
mov esi, dword [esi]
mov ecx, dword [0x6a6320]
lea eax, [edi + 0x58]
push 0
push eax
push esi
call fcn.004e4bd0
push 0xa
mov dword [ebp - 0x40], 0
lea ecx, [ebp - 0x40]
push str.homingflag
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
call fcn.00457160
lea eax, [ebp - 0x128]
mov byte [ebp - 4], 0xd
push eax
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x120]
call fcn.00510720
mov edx, dword [ebp - 0x2c]
test eax, eax
mov byte [ebp - 4], 0
sete al
mov byte [ebp - 0x121], al
cmp edx, 0x10
jb 0x57e6d4
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x57e6c4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x57f283
push edx
push ecx
call fcn.0059df52
mov al, byte [ebp - 0x121]
add esp, 8
test al, al
je 0x57e6dc
xor al, al
jmp 0x57e6e6
cmp dword [ebp - 0x128], 0
setne al
mov byte [edi + 0x5c], al
lea ecx, [ebp - 0x40]
push 0xf
mov dword [ebp - 0x40], 0
push str.homingstarttime
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
call fcn.00457160
lea esi, [edi + 0x64]
mov byte [ebp - 4], 0xe
push esi
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x120]
call fcn.00510a20
mov edx, dword [ebp - 0x2c]
test eax, eax
mov byte [ebp - 4], 0
sete al
mov byte [ebp - 0x121], al
cmp edx, 0x10
jb 0x57e771
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x57e761
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x57f288
push edx
push ecx
call fcn.0059df52
mov al, byte [ebp - 0x121]
add esp, 8
xorps xmm0, xmm0
movaps xmmword [ebp - 0x40], xmm0
test al, al
je 0x57e782
mov dword [esi], 0
push 0xe
mov dword [ebp - 0x58], 0
lea ecx, [ebp - 0x58]
push str.homingmaxangle
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
call fcn.00457160
lea esi, [edi + 0x60]
mov byte [ebp - 4], 0xf
push esi
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x120]
call fcn.00510a20
mov edx, dword [ebp - 0x44]
test eax, eax
mov byte [ebp - 4], 0
sete al
mov byte [ebp - 0x121], al
cmp edx, 0x10
jb 0x57e80a
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x57e7fa
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x57f28d
push edx
push ecx
call fcn.0059df52
mov al, byte [ebp - 0x121]
add esp, 8
test al, al
je 0x57e814
mov dword [esi], 0
push 5
mov dword [ebp - 0x58], 0
lea ecx, [ebp - 0x58]
push str.range
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
call fcn.00457160
lea eax, [edi + 0x74]
mov byte [ebp - 4], 0x10
push eax
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x120]
call fcn.00510a20
mov edx, dword [ebp - 0x44]
test eax, eax
mov byte [ebp - 4], 0
sete al
mov byte [ebp - 0x121], al
cmp edx, 0x10
jb 0x57e89c
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x57e88c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x57f292
push edx
push ecx
call fcn.0059df52
mov al, byte [ebp - 0x121]
add esp, 8
test al, al
jne 0x57f20f
push 0xc
mov dword [ebp - 0x58], 0
lea ecx, [ebp - 0x58]
push str.acceleration
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], al
call fcn.00457160
lea esi, [edi + 0x78]
mov byte [ebp - 4], 0x11
push esi
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x120]
call fcn.00510920
mov edx, dword [ebp - 0x44]
test eax, eax
mov byte [ebp - 4], 0
sete al
mov byte [ebp - 0x121], al
cmp edx, 0x10
jb 0x57e92b
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x57e91b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x57f297
push edx
push ecx
call fcn.0059df52
mov al, byte [ebp - 0x121]
add esp, 8
test al, al
je 0x57e947
movaps xmm0, xmmword [ebp - 0x40]
unpcklps xmm0, xmm0
mov dword [ebp - 0x44], 0
mov eax, dword [ebp - 0x44]
movq qword [esi], xmm0
mov dword [esi + 8], eax
lea ecx, [ebp - 0x120]
xor edi, edi
call fcn.005106b0
test eax, eax
je 0x57f206
lea eax, [ebp - 0x120]
mov dword [ebp - 0x134], eax
nop dword [eax + eax]
push edi
lea ecx, [ebp - 0x120]
call fcn.00511890
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x13
push eax
lea ecx, [ebp - 0x120]
call fcn.005106d0
cmp dword [ebp - 0x2c], 0x10
lea ecx, [ebp - 0x40]
cmovae ecx, dword [ebp - 0x40]
cmp dword [ebp - 0x30], 0xa
jne 0x57ea08
mov edx, str.attachdata
mov esi, 6
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x57e9d4
add ecx, 4
add edx, 4
sub esi, 4
jae 0x57e9c3
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x57e9fb
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x57e9fb
cmp esi, 0xfffffffe
je 0x57e9f7
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x57e9fb
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x57e9fb
xor eax, eax
jmp 0x57ea00
sbb eax, eax
or eax, 1
test eax, eax
jne 0x57ea08
mov al, 1
jmp 0x57ea0a
xor al, al
test al, al
je 0x57f177
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0xf
mov byte [ebp - 0x98], 0
push 4
mov dword [ebp - 0x58], 0
lea ecx, [ebp - 0x58]
push str.type
mov byte [ebp - 4], 0x14
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
call fcn.00457160
lea eax, [ebp - 0xa0]
mov byte [ebp - 4], 0x15
push eax
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x120]
call fcn.00510720
mov edx, dword [ebp - 0x44]
test eax, eax
mov byte [ebp - 4], 0x14
sete al
mov byte [ebp - 0x121], al
cmp edx, 0x10
jb 0x57eac6
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x57eab6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x57f247
push edx
push ecx
call fcn.0059df52
mov al, byte [ebp - 0x121]
add esp, 8
test al, al
je 0x57eb28
lea ecx, [ebp - 0xa0]
call fcn.004b8df0
mov edx, dword [ebp - 0x2c]
mov byte [ebp - 4], 0x12
cmp edx, 0x10
jb 0x57eb0d
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x57eb03
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x57f247
push edx
push ecx
call fcn.0059df52
add esp, 8
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
mov byte [ebp - 4], 0x16
jmp 0x57f1e3
push 7
mov dword [ebp - 0x58], 0
lea ecx, [ebp - 0x58]
push str.flytype
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
call fcn.00457160
lea eax, [ebp - 0x9c]
mov byte [ebp - 4], 0x17
push eax
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x120]
call fcn.00510720
mov edx, dword [ebp - 0x44]
mov byte [ebp - 4], 0x14
cmp edx, 0x10
jb 0x57eba2
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x57eb98
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x57f247
push edx
push ecx
call fcn.0059df52
add esp, 8
push 0xa
mov dword [ebp - 0x58], 0
lea ecx, [ebp - 0x58]
push str.attachfile
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
call fcn.00457160
lea eax, [ebp - 0x98]
mov byte [ebp - 4], 0x18
push eax
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x120]
call fcn.00510aa0
mov edx, dword [ebp - 0x44]
test eax, eax
mov byte [ebp - 4], 0x14
sete al
mov byte [ebp - 0x121], al
cmp edx, 0x10
jb 0x57ec2d
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x57ec1d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x57f247
push edx
push ecx
call fcn.0059df52
mov al, byte [ebp - 0x121]
add esp, 8
test al, al
je 0x57ec48
push 0
push 0x664d84
lea ecx, [ebp - 0x98]
call fcn.00457160
jmp 0x57ecd6
cmp dword [ebp - 0x88], 0
je 0x57ecd6
cmp dword [ebp - 0x84], 0x10
lea eax, [ebp - 0x98]
cmovae eax, dword [ebp - 0x98]
push eax
call fcn.004f7930
add esp, 4
test al, al
jne 0x57ecb2
lea eax, [ebp - 0x98]
push eax
lea ecx, [ebp - 0x120]
call fcn.00510710
push eax
call fcn.004f77f0
add esp, 4
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.00468170
add esp, 0xc
lea ecx, [ebp - 0x98]
push eax
call fcn.004c85c0
lea ecx, [ebp - 0x58]
call fcn.004566a0
cmp dword [ebp - 0x84], 0x10
lea eax, [ebp - 0x98]
mov ecx, dword [0x6a6320]
cmovae eax, dword [ebp - 0x98]
push 0
push 0
push eax
call fcn.004e4cb0
push 8
mov dword [ebp - 0x58], 0
lea ecx, [ebp - 0x58]
push str.tailflag
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
call fcn.00457160
lea eax, [ebp - 0x128]
mov byte [ebp - 4], 0x19
push eax
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x120]
call fcn.00510720
mov edx, dword [ebp - 0x44]
mov byte [ebp - 4], 0x14
cmp edx, 0x10
jb 0x57ed50
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x57ed46
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x57f247
push edx
push ecx
call fcn.0059df52
add esp, 8
cmp dword [ebp - 0x128], 0
je 0x57ef4d
push 9
mov dword [ebp - 0x58], 0
lea ecx, [ebp - 0x58]
push str.tailcolor
mov byte [ebp - 0x80], 1
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
call fcn.00457160
lea eax, [ebp - 0x7c]
mov byte [ebp - 4], 0x1a
push eax
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x120]
call fcn.00510a10
mov edx, dword [ebp - 0x44]
mov byte [ebp - 4], 0x14
cmp edx, 0x10
jb 0x57edd8
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x57edce
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x57f247
push edx
push ecx
call fcn.0059df52
add esp, 8
push 0xa
mov dword [ebp - 0x58], 0
lea ecx, [ebp - 0x58]
push str.taillength
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
call fcn.00457160
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 0x1b
push eax
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x120]
call fcn.00510a20
mov edx, dword [ebp - 0x44]
mov byte [ebp - 4], 0x14
cmp edx, 0x10
jb 0x57ee4f
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x57ee45
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x57f247
push edx
push ecx
call fcn.0059df52
add esp, 8
push 8
mov dword [ebp - 0x58], 0
lea ecx, [ebp - 0x58]
push str.tailsize
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
call fcn.00457160
lea eax, [ebp - 0x74]
mov byte [ebp - 4], 0x1c
push eax
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x120]
call fcn.00510a20
mov edx, dword [ebp - 0x44]
mov byte [ebp - 4], 0x14
cmp edx, 0x10
jb 0x57eec6
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x57eebc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x57f247
push edx
push ecx
call fcn.0059df52
add esp, 8
push 0xd
mov dword [ebp - 0x58], 0
lea ecx, [ebp - 0x58]
push str.tailshaperect
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
call fcn.00457160
lea eax, [ebp - 0x128]
mov byte [ebp - 4], 0x1d
push eax
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x120]
call fcn.00510720
mov edx, dword [ebp - 0x44]
mov byte [ebp - 4], 0x14
cmp edx, 0x10
jb 0x57ef40
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x57ef36
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x57f247
push edx
push ecx
call fcn.0059df52
add esp, 8
cmp dword [ebp - 0x128], 0
setne byte [ebp - 0x70]
jmp 0x57ef51
mov byte [ebp - 0x80], 0
push 4
mov dword [ebp - 0x58], 0
lea ecx, [ebp - 0x58]
push str.roll
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
call fcn.00457160
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 0x1e
push eax
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x120]
call fcn.00510a20
mov edx, dword [ebp - 0x44]
mov byte [ebp - 4], 0x14
cmp edx, 0x10
jb 0x57efc8
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x57efbe
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x57f247
push edx
push ecx
call fcn.0059df52
add esp, 8
push 8
mov dword [ebp - 0x58], 0
lea ecx, [ebp - 0x58]
push str.distance
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
call fcn.00457160
lea eax, [ebp - 0x68]
mov byte [ebp - 4], 0x1f
push eax
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x120]
call fcn.00510a20
mov edx, dword [ebp - 0x44]
mov byte [ebp - 4], 0x14
cmp edx, 0x10
jb 0x57f03f
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x57f035
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x57f247
push edx
push ecx
call fcn.0059df52
add esp, 8
push 6
mov dword [ebp - 0x58], 0
lea ecx, [ebp - 0x58]
push str.period
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
call fcn.00457160
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0x20
push eax
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x120]
call fcn.00510a20
mov edx, dword [ebp - 0x44]
mov byte [ebp - 4], 0x14
cmp edx, 0x10
jb 0x57f0b6
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x57f0ac
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x57f247
push edx
push ecx
call fcn.0059df52
add esp, 8
push 9
mov dword [ebp - 0x58], 0
lea ecx, [ebp - 0x58]
push str.amplitude
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
call fcn.00457160
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x21
push eax
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x120]
call fcn.00510a20
mov edx, dword [ebp - 0x44]
mov byte [ebp - 4], 0x14
cmp edx, 0x10
jb 0x57f12d
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x57f123
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x57f247
push edx
push ecx
call fcn.0059df52
add esp, 8
mov esi, dword [ebp - 0x12c]
lea ecx, [ebp - 0xa0]
add esi, 0x84
push ecx
mov eax, dword [esi + 4]
push eax
cmp eax, dword [esi + 8]
je 0x57f163
push esi
call fcn.0057da40
add dword [esi + 4], 0x44
lea ecx, [ebp - 0xa0]
add esp, 0xc
call fcn.004b8df0
jmp 0x57f195
mov ecx, esi
call fcn.0057d740
lea ecx, [ebp - 0xa0]
call fcn.004b8df0
jmp 0x57f195
mov ecx, dword [ebp - 0x130]
mov eax, ecx
cmp dword [ecx + 0x14], 0x10
jb 0x57f187
mov eax, dword [ecx]
push eax
push str.CFlyingData::LoadScriptFile_Wrong_Data_:__s
call fcn.004f6e90
add esp, 8
mov edx, dword [ebp - 0x2c]
mov byte [ebp - 4], 0x12
cmp edx, 0x10
jb 0x57f1cd
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x57f1c3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x57f247
push edx
push ecx
call fcn.0059df52
add esp, 8
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x120]
call fcn.005119c0
lea ecx, [ebp - 0x120]
mov byte [ebp - 4], 0
inc edi
call fcn.005106b0
cmp edi, eax
jb 0x57e970
mov byte [ebp - 0x121], 1
jmp 0x57f216
mov byte [ebp - 0x121], 0
lea ecx, [ebp - 0x120]
call fcn.00510120
mov al, byte [ebp - 0x121]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0059df60
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4
call fcn.005e5408
call fcn.005e5408
call fcn.005e5408
call fcn.005e5408
call fcn.005e5408
call fcn.005e5408
call fcn.005e5408
call fcn.005e5408
call fcn.005e5408
call fcn.005e5408
call fcn.005e5408
call fcn.005e5408
call fcn.005e5408
call fcn.005e5408
call fcn.005e5408
call fcn.005e5408
call fcn.005e5408
int3