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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x684ea1
mov eax, dword fs:[0]
push eax
sub esp, 0x108
mov eax, dword [0x735300]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
jmp 0x555675
call fcn.005555e0
mov ecx, dword [ebp + 8]
cmp byte [ecx], 0
jne 0x555686
xor edx, edx
jmp 0x555699
mov edx, ecx
lea edi, [edx + 1]
jmp 0x555690
mov al, byte [edx]
inc edx
test al, al
jne 0x555690
sub edx, edi
push edx
lea edi, [esi + 4]
push ecx
mov ecx, edi
call fcn.00441ae0
push edi
call fcn.004c4a90
add esp, 4
lea ecx, [ebp - 0x104]
call fcn.004e3770
cmp dword [edi + 0x14], 0x10
mov dword [ebp - 4], 0
jb 0x5556ca
mov eax, dword [edi]
jmp 0x5556cc
mov eax, edi
push eax
lea ecx, [ebp - 0x104]
call fcn.004e4610
test al, al
je 0x5561b5
lea ecx, [ebp - 0x104]
call fcn.004e4e30
push 0xd
push str.spreadingflag
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x2c], 0xf
mov dword [ebp - 0x30], 0
mov byte [ebp - 0x40], 0
call fcn.00441ae0
lea eax, [ebp - 0x108]
mov byte [ebp - 4], 1
push eax
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x104]
call fcn.004e42a0
test eax, eax
mov byte [ebp - 4], 0
sete bl
cmp dword [ebp - 0x2c], 0x10
jb 0x555740
push dword [ebp - 0x40]
call fcn.00567fdc
add esp, 4
test bl, bl
je 0x55574a
mov byte [esi + 0x1c], 0
jmp 0x555757
cmp dword [ebp - 0x108], 0
setne al
mov byte [esi + 0x1c], al
push 0x14
push str.maintainparallelflag
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x2c], 0xf
mov dword [ebp - 0x30], 0
mov byte [ebp - 0x40], 0
call fcn.00441ae0
lea eax, [ebp - 0x108]
mov byte [ebp - 4], 2
push eax
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x104]
call fcn.004e42a0
test eax, eax
mov byte [ebp - 4], 0
sete bl
cmp dword [ebp - 0x2c], 0x10
jb 0x5557ac
push dword [ebp - 0x40]
call fcn.00567fdc
add esp, 4
test bl, bl
je 0x5557b6
mov byte [esi + 0x1d], 0
jmp 0x5557c3
cmp dword [ebp - 0x108], 0
setne al
mov byte [esi + 0x1d], al
push 0xf
push str.initialvelocity
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x2c], 0xf
mov dword [ebp - 0x30], 0
mov byte [ebp - 0x40], 0
call fcn.00441ae0
lea eax, [esi + 0x20]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x104]
call fcn.004e4230
test eax, eax
mov byte [ebp - 4], 0
sete bl
cmp dword [ebp - 0x2c], 0x10
jb 0x555815
push dword [ebp - 0x40]
call fcn.00567fdc
add esp, 4
test bl, bl
jne 0x5561b5
push str.coneangle
lea ecx, [ebp - 0x28]
call fcn.0043c4e0
lea eax, [esi + 0x24]
mov byte [ebp - 4], 4
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x104]
call fcn.004e4230
cmp dword [ebp - 0x14], 0x10
mov byte [ebp - 4], bl
jb 0x555855
push dword [ebp - 0x28]
call fcn.00567fdc
add esp, 4
push str.rollangle
lea ecx, [ebp - 0x28]
call fcn.0043c4e0
lea eax, [esi + 0x28]
mov byte [ebp - 4], 5
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x104]
call fcn.004e4230
cmp dword [ebp - 0x14], 0x10
mov byte [ebp - 4], 0
jb 0x55588e
push dword [ebp - 0x28]
call fcn.00567fdc
add esp, 4
push str.angularvelocity
lea ecx, [ebp - 0x28]
call fcn.0043c4e0
lea eax, [esi + 0x2c]
mov byte [ebp - 4], 6
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x104]
call fcn.004e4130
cmp dword [ebp - 0x14], 0x10
mov byte [ebp - 4], 0
jb 0x5558c7
push dword [ebp - 0x28]
call fcn.00567fdc
add esp, 4
push str.gravity
lea ecx, [ebp - 0x28]
call fcn.0043c4e0
lea eax, [esi + 0x38]
mov byte [ebp - 4], 7
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x104]
call fcn.004e4230
cmp dword [ebp - 0x14], 0x10
mov byte [ebp - 4], 0
jb 0x555900
push dword [ebp - 0x28]
call fcn.00567fdc
add esp, 4
push str.hitonbackground
lea ecx, [ebp - 0x28]
call fcn.0043c4e0
lea eax, [ebp - 0x108]
mov byte [ebp - 4], 8
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x104]
call fcn.004e42a0
cmp dword [ebp - 0x14], 0x10
mov edi, eax
mov byte [ebp - 4], 0
jb 0x55593e
push dword [ebp - 0x28]
call fcn.00567fdc
add esp, 4
test edi, edi
je 0x555951
cmp dword [ebp - 0x108], 0
setne al
mov byte [esi + 0x68], al
jmp 0x555955
mov byte [esi + 0x68], 0
push str.hitonanothermonster
lea ecx, [ebp - 0x28]
call fcn.0043c4e0
lea eax, [ebp - 0x108]
mov byte [ebp - 4], 9
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x104]
call fcn.004e42a0
cmp dword [ebp - 0x14], 0x10
mov edi, eax
mov byte [ebp - 4], 0
jb 0x555993
push dword [ebp - 0x28]
call fcn.00567fdc
add esp, 4
test edi, edi
je 0x5559a6
cmp dword [ebp - 0x108], 0
setne al
mov byte [esi + 0x69], al
jmp 0x5559aa
mov byte [esi + 0x69], 0
push str.piercecount
lea ecx, [ebp - 0x28]
call fcn.0043c4e0
lea edi, [esi + 0x6c]
mov byte [ebp - 4], 0xa
push edi
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x104]
call fcn.004e42a0
test eax, eax
mov byte [ebp - 4], 0
sete bl
cmp dword [ebp - 0x14], 0x10
jb 0x5559e8
push dword [ebp - 0x28]
call fcn.00567fdc
add esp, 4
test bl, bl
je 0x5559f2
mov dword [edi], 0
push str.bombrange
lea ecx, [ebp - 0x28]
call fcn.0043c4e0
lea eax, [esi + 0x3c]
mov byte [ebp - 4], 0xb
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x104]
call fcn.004e4230
cmp dword [ebp - 0x14], 0x10
mov byte [ebp - 4], 0
jb 0x555a2b
push dword [ebp - 0x28]
call fcn.00567fdc
add esp, 4
push str.bombeffect
lea ecx, [ebp - 0x28]
call fcn.0043c4e0
lea edi, [esi + 0x40]
mov byte [ebp - 4], 0xc
push edi
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x104]
call fcn.004e4320
test eax, eax
mov byte [ebp - 4], 0
sete bl
cmp dword [ebp - 0x14], 0x10
jb 0x555a69
push dword [ebp - 0x28]
call fcn.00567fdc
add esp, 4
test bl, bl
je 0x555a7d
push 0
push 0x697d48
mov ecx, edi
call fcn.00441ae0
jmp 0x555ae8
cmp dword [esi + 0x50], 0
je 0x555ae8
cmp dword [edi + 0x14], 0x10
jb 0x555a8d
mov eax, dword [edi]
jmp 0x555a8f
mov eax, edi
push eax
call fcn.004c4720
add esp, 4
test al, al
jne 0x555ace
push edi
lea ecx, [ebp - 0x104]
call fcn.004e3f80
push eax
call fcn.004c4550
add esp, 4
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.00443940
add esp, 0xc
mov ecx, edi
push eax
call fcn.0046c480
lea ecx, [ebp - 0x28]
call fcn.0064a500
cmp dword [edi + 0x14], 0x10
jb 0x555ad6
mov edi, dword [edi]
mov ecx, dword [0x749620]
lea eax, [esi + 0x58]
push 0
push eax
push edi
call fcn.004b3cb0
push str.homingflag
lea ecx, [ebp - 0x28]
call fcn.0043c4e0
lea eax, [ebp - 0x108]
mov byte [ebp - 4], 0xd
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x104]
call fcn.004e42a0
test eax, eax
mov byte [ebp - 4], 0
sete bl
cmp dword [ebp - 0x14], 0x10
jb 0x555b29
push dword [ebp - 0x28]
call fcn.00567fdc
add esp, 4
test bl, bl
je 0x555b33
mov byte [esi + 0x5c], 0
jmp 0x555b40
cmp dword [ebp - 0x108], 0
setne al
mov byte [esi + 0x5c], al
push str.homingstarttime
lea ecx, [ebp - 0x28]
call fcn.0043c4e0
lea edi, [esi + 0x64]
mov byte [ebp - 4], 0xe
push edi
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x104]
call fcn.004e4230
test eax, eax
mov byte [ebp - 4], 0
sete bl
cmp dword [ebp - 0x14], 0x10
jb 0x555b7e
push dword [ebp - 0x28]
call fcn.00567fdc
add esp, 4
xorps xmm0, xmm0
movq qword [ebp - 0x114], xmm0
test bl, bl
je 0x555b93
mov dword [edi], 0
push str.homingmaxangle
lea ecx, [ebp - 0x28]
call fcn.0043c4e0
lea edi, [esi + 0x60]
mov byte [ebp - 4], 0xf
push edi
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x104]
call fcn.004e4230
test eax, eax
mov byte [ebp - 4], 0
sete bl
cmp dword [ebp - 0x14], 0x10
jb 0x555bd1
push dword [ebp - 0x28]
call fcn.00567fdc
add esp, 4
test bl, bl
je 0x555bdb
mov dword [edi], 0
push str.range
lea ecx, [ebp - 0x28]
call fcn.0043c4e0
lea eax, [esi + 0x74]
mov byte [ebp - 4], 0x10
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x104]
call fcn.004e4230
test eax, eax
mov byte [ebp - 4], 0
sete bl
cmp dword [ebp - 0x14], 0x10
jb 0x555c19
push dword [ebp - 0x28]
call fcn.00567fdc
add esp, 4
test bl, bl
jne 0x5561b5
push str.acceleration
lea ecx, [ebp - 0x28]
call fcn.0043c4e0
lea edi, [esi + 0x78]
mov byte [ebp - 4], 0x11
push edi
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x104]
call fcn.004e4130
test eax, eax
mov byte [ebp - 4], 0
sete bl
cmp dword [ebp - 0x14], 0x10
jb 0x555c5f
push dword [ebp - 0x28]
call fcn.00567fdc
add esp, 4
test bl, bl
je 0x555c7f
movq xmm0, qword [ebp - 0x114]
unpcklps xmm0, xmm0
mov dword [ebp - 0x2c], 0
mov eax, dword [ebp - 0x2c]
movq qword [edi], xmm0
mov dword [edi + 8], eax
xor ebx, ebx
lea ecx, [ebp - 0x104]
mov dword [ebp - 0x10c], ebx
call fcn.004e3f20
test eax, eax
je 0x556191
lea eax, [ebp - 0x104]
mov dword [ebp - 0x110], eax
jmp 0x555cb0
push ebx
lea ecx, [ebp - 0x104]
call fcn.004e4ce0
mov dword [ebp - 0x2c], 0xf
mov dword [ebp - 0x30], 0
mov byte [ebp - 0x40], 0
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x13
push eax
lea ecx, [ebp - 0x104]
call fcn.004e3f40
cmp dword [ebp - 0x2c], 0x10
lea ecx, [ebp - 0x40]
mov edi, dword [ebp - 0x30]
mov eax, 0xa
cmovae ecx, dword [ebp - 0x40]
cmp edi, eax
cmovb eax, edi
push eax
push str.attachdata
push ecx
call fcn.00446070
add esp, 0xc
test eax, eax
jne 0x555d20
cmp edi, 0xa
jae 0x555d16
or eax, 0xffffffff
jmp 0x555d1e
xor eax, eax
cmp edi, 0xa
setne al
test eax, eax
sete al
test al, al
je 0x55619a
mov dword [ebp - 0x68], 0xf
mov dword [ebp - 0x6c], 0
mov byte [ebp - 0x7c], 0
push 4
push str.type
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x14
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x28], 0
call fcn.00441ae0
lea eax, [ebp - 0x84]
mov byte [ebp - 4], 0x15
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x104]
call fcn.004e42a0
test eax, eax
mov byte [ebp - 4], 0x14
sete bl
cmp dword [ebp - 0x14], 0x10
jb 0x555d96
push dword [ebp - 0x28]
call fcn.00567fdc
add esp, 4
test bl, bl
je 0x555dfa
cmp dword [ebp - 0x68], 0x10
jb 0x555dab
push dword [ebp - 0x7c]
call fcn.00567fdc
add esp, 4
cmp dword [ebp - 0x2c], 0x10
mov dword [ebp - 0x68], 0xf
mov dword [ebp - 0x6c], 0
mov byte [ebp - 0x7c], 0
jb 0x555dce
push dword [ebp - 0x40]
call fcn.00567fdc
add esp, 4
lea ecx, [ebp - 0x104]
mov dword [ebp - 0x2c], 0xf
mov dword [ebp - 0x30], 0
mov byte [ebp - 0x40], 0
mov byte [ebp - 4], 0
call fcn.004e4e10
mov ebx, dword [ebp - 0x10c]
jmp 0x556177
push str.flytype
lea ecx, [ebp - 0x28]
call fcn.0043c4e0
lea eax, [ebp - 0x80]
mov byte [ebp - 4], 0x16
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x104]
call fcn.004e42a0
cmp dword [ebp - 0x14], 0x10
mov byte [ebp - 4], 0x14
jb 0x555e33
push dword [ebp - 0x28]
call fcn.00567fdc
add esp, 4
push str.attachfile
lea ecx, [ebp - 0x28]
call fcn.0043c4e0
lea eax, [ebp - 0x7c]
mov byte [ebp - 4], 0x17
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x104]
call fcn.004e4320
test eax, eax
mov byte [ebp - 4], 0x14
sete bl
cmp dword [ebp - 0x14], 0x10
jb 0x555e71
push dword [ebp - 0x28]
call fcn.00567fdc
add esp, 4
test bl, bl
je 0x555e84
push 0x697d48
lea ecx, [ebp - 0x7c]
call fcn.00441aa0
jmp 0x555ef3
cmp dword [ebp - 0x6c], 0
je 0x555ef3
cmp dword [ebp - 0x68], 0x10
lea eax, [ebp - 0x7c]
cmovae eax, dword [ebp - 0x7c]
push eax
call fcn.004c4720
add esp, 4
test al, al
jne 0x555ed8
lea eax, [ebp - 0x7c]
push eax
lea ecx, [ebp - 0x104]
call fcn.004e3f80
push eax
call fcn.004c4550
add esp, 4
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.00443940
add esp, 0xc
lea ecx, [ebp - 0x7c]
push eax
call fcn.0046c480
lea ecx, [ebp - 0x28]
call fcn.0064a500
cmp dword [ebp - 0x68], 0x10
lea eax, [ebp - 0x7c]
mov ecx, dword [0x749620]
cmovae eax, dword [ebp - 0x7c]
push 0
push 0
push eax
call fcn.004b3d60
push str.tailflag
lea ecx, [ebp - 0x28]
call fcn.0043c4e0
lea eax, [ebp - 0x108]
mov byte [ebp - 4], 0x18
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x104]
call fcn.004e42a0
cmp dword [ebp - 0x14], 0x10
mov byte [ebp - 4], 0x14
jb 0x555f2f
push dword [ebp - 0x28]
call fcn.00567fdc
add esp, 4
cmp dword [ebp - 0x108], 0
je 0x556034
push str.tailcolor
lea ecx, [ebp - 0x28]
mov byte [ebp - 0x64], 1
call fcn.0043c4e0
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x19
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x104]
call fcn.004e4220
cmp dword [ebp - 0x14], 0x10
mov byte [ebp - 4], 0x14
jb 0x555f79
push dword [ebp - 0x28]
call fcn.00567fdc
add esp, 4
push str.taillength
lea ecx, [ebp - 0x28]
call fcn.0043c4e0
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x1a
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x104]
call fcn.004e4230
cmp dword [ebp - 0x14], 0x10
mov byte [ebp - 4], 0x14
jb 0x555fb2
push dword [ebp - 0x28]
call fcn.00567fdc
add esp, 4
push str.tailsize
lea ecx, [ebp - 0x28]
call fcn.0043c4e0
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x1b
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x104]
call fcn.004e4230
cmp dword [ebp - 0x14], 0x10
mov byte [ebp - 4], 0x14
jb 0x555feb
push dword [ebp - 0x28]
call fcn.00567fdc
add esp, 4
push str.tailshaperect
lea ecx, [ebp - 0x28]
call fcn.0043c4e0
lea eax, [ebp - 0x108]
mov byte [ebp - 4], 0x1c
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x104]
call fcn.004e42a0
cmp dword [ebp - 0x14], 0x10
mov byte [ebp - 4], 0x14
jb 0x556027
push dword [ebp - 0x28]
call fcn.00567fdc
add esp, 4
cmp dword [ebp - 0x108], 0
setne byte [ebp - 0x54]
jmp 0x556038
mov byte [ebp - 0x64], 0
push str.roll
lea ecx, [ebp - 0x28]
call fcn.0043c4e0
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 0x1d
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x104]
call fcn.004e4230
cmp dword [ebp - 0x14], 0x10
mov byte [ebp - 4], 0x14
jb 0x556071
push dword [ebp - 0x28]
call fcn.00567fdc
add esp, 4
push str.distance
lea ecx, [ebp - 0x28]
call fcn.0043c4e0
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0x1e
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x104]
call fcn.004e4230
cmp dword [ebp - 0x14], 0x10
mov byte [ebp - 4], 0x14
jb 0x5560aa
push dword [ebp - 0x28]
call fcn.00567fdc
add esp, 4
push str.period
lea ecx, [ebp - 0x28]
call fcn.0043c4e0
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 0x1f
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x104]
call fcn.004e4230
cmp dword [ebp - 0x14], 0x10
mov byte [ebp - 4], 0x14
jb 0x5560e3
push dword [ebp - 0x28]
call fcn.00567fdc
add esp, 4
push str.amplitude
lea ecx, [ebp - 0x28]
call fcn.0043c4e0
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x20
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x104]
call fcn.004e4230
cmp dword [ebp - 0x14], 0x10
mov byte [ebp - 4], 0x14
jb 0x55611c
push dword [ebp - 0x28]
call fcn.00567fdc
add esp, 4
lea eax, [ebp - 0x84]
push eax
lea ecx, [esi + 0x84]
call fcn.005564e0
cmp dword [ebp - 0x68], 0x10
jb 0x55613f
push dword [ebp - 0x7c]
call fcn.00567fdc
add esp, 4
mov ebx, dword [ebp - 0x10c]
cmp dword [ebp - 0x2c], 0x10
jb 0x556156
push dword [ebp - 0x40]
call fcn.00567fdc
add esp, 4
lea ecx, [ebp - 0x104]
mov dword [ebp - 0x2c], 0xf
mov dword [ebp - 0x30], 0
mov byte [ebp - 0x40], 0
mov byte [ebp - 4], 0
call fcn.004e4e10
inc ebx
lea ecx, [ebp - 0x104]
mov dword [ebp - 0x10c], ebx
call fcn.004e3f20
cmp ebx, eax
jb 0x555cb0
jmp 0x556196
mov bl, 1
jmp 0x5561b7
cmp dword [esi + 0x18], 0x10
lea eax, [esi + 4]
jb 0x5561a5
mov eax, dword [eax]
push eax
push str.CFlyingData::LoadScriptFile_Wrong_Data_:__s
call fcn.004c4030
add esp, 8
jmp 0x556145
xor bl, bl
lea ecx, [ebp - 0x104]
mov dword [ebp - 4], 0xffffffff
call fcn.004e3960
mov al, bl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005688a8
mov esp, ebp
pop ebp
ret 4