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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6182a1
mov eax, dword fs:[0]
push eax
sub esp, 0x108
mov eax, dword [0x6ae450]
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 0x598035
call fcn.00597fa0
mov ecx, dword [ebp + 8]
cmp byte [ecx], 0
jne 0x598046
xor edx, edx
jmp 0x598059
mov edx, ecx
lea edi, [edx + 1]
jmp 0x598050
mov al, byte [edx]
inc edx
test al, al
jne 0x598050
sub edx, edi
push edx
lea edi, [esi + 4]
push ecx
mov ecx, edi
call fcn.0043db40
push edi
call fcn.0050bc20
add esp, 4
lea ecx, [ebp - 0x104]
call fcn.00532520
cmp dword [edi + 0x14], 0x10
mov dword [ebp - 4], 0
jb 0x59808a
mov eax, dword [edi]
jmp 0x59808c
mov eax, edi
push eax
lea ecx, [ebp - 0x104]
call fcn.005333c0
test al, al
je 0x598b75
lea ecx, [ebp - 0x104]
call fcn.00533be0
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.0043db40
lea eax, [ebp - 0x108]
mov byte [ebp - 4], 1
push eax
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x104]
call fcn.00533050
test eax, eax
mov byte [ebp - 4], 0
sete bl
cmp dword [ebp - 0x2c], 0x10
jb 0x598100
push dword [ebp - 0x40]
call fcn.004c3680
add esp, 4
test bl, bl
je 0x59810a
mov byte [esi + 0x1c], 0
jmp 0x598117
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.0043db40
lea eax, [ebp - 0x108]
mov byte [ebp - 4], 2
push eax
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x104]
call fcn.00533050
test eax, eax
mov byte [ebp - 4], 0
sete bl
cmp dword [ebp - 0x2c], 0x10
jb 0x59816c
push dword [ebp - 0x40]
call fcn.004c3680
add esp, 4
test bl, bl
je 0x598176
mov byte [esi + 0x1d], 0
jmp 0x598183
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.0043db40
lea eax, [esi + 0x20]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x104]
call fcn.00532fe0
test eax, eax
mov byte [ebp - 4], 0
sete bl
cmp dword [ebp - 0x2c], 0x10
jb 0x5981d5
push dword [ebp - 0x40]
call fcn.004c3680
add esp, 4
test bl, bl
jne 0x598b75
push str.coneangle
lea ecx, [ebp - 0x28]
call fcn.00442030
lea eax, [esi + 0x24]
mov byte [ebp - 4], 4
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x104]
call fcn.00532fe0
cmp dword [ebp - 0x14], 0x10
mov byte [ebp - 4], bl
jb 0x598215
push dword [ebp - 0x28]
call fcn.004c3680
add esp, 4
push str.rollangle
lea ecx, [ebp - 0x28]
call fcn.00442030
lea eax, [esi + 0x28]
mov byte [ebp - 4], 5
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x104]
call fcn.00532fe0
cmp dword [ebp - 0x14], 0x10
mov byte [ebp - 4], 0
jb 0x59824e
push dword [ebp - 0x28]
call fcn.004c3680
add esp, 4
push str.angularvelocity
lea ecx, [ebp - 0x28]
call fcn.00442030
lea eax, [esi + 0x2c]
mov byte [ebp - 4], 6
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x104]
call fcn.00532ee0
cmp dword [ebp - 0x14], 0x10
mov byte [ebp - 4], 0
jb 0x598287
push dword [ebp - 0x28]
call fcn.004c3680
add esp, 4
push str.gravity
lea ecx, [ebp - 0x28]
call fcn.00442030
lea eax, [esi + 0x38]
mov byte [ebp - 4], 7
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x104]
call fcn.00532fe0
cmp dword [ebp - 0x14], 0x10
mov byte [ebp - 4], 0
jb 0x5982c0
push dword [ebp - 0x28]
call fcn.004c3680
add esp, 4
push str.hitonbackground
lea ecx, [ebp - 0x28]
call fcn.00442030
lea eax, [ebp - 0x108]
mov byte [ebp - 4], 8
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x104]
call fcn.00533050
cmp dword [ebp - 0x14], 0x10
mov edi, eax
mov byte [ebp - 4], 0
jb 0x5982fe
push dword [ebp - 0x28]
call fcn.004c3680
add esp, 4
test edi, edi
je 0x598311
cmp dword [ebp - 0x108], 0
setne al
mov byte [esi + 0x68], al
jmp 0x598315
mov byte [esi + 0x68], 0
push str.hitonanothermonster
lea ecx, [ebp - 0x28]
call fcn.00442030
lea eax, [ebp - 0x108]
mov byte [ebp - 4], 9
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x104]
call fcn.00533050
cmp dword [ebp - 0x14], 0x10
mov edi, eax
mov byte [ebp - 4], 0
jb 0x598353
push dword [ebp - 0x28]
call fcn.004c3680
add esp, 4
test edi, edi
je 0x598366
cmp dword [ebp - 0x108], 0
setne al
mov byte [esi + 0x69], al
jmp 0x59836a
mov byte [esi + 0x69], 0
push str.piercecount
lea ecx, [ebp - 0x28]
call fcn.00442030
lea edi, [esi + 0x6c]
mov byte [ebp - 4], 0xa
push edi
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x104]
call fcn.00533050
test eax, eax
mov byte [ebp - 4], 0
sete bl
cmp dword [ebp - 0x14], 0x10
jb 0x5983a8
push dword [ebp - 0x28]
call fcn.004c3680
add esp, 4
test bl, bl
je 0x5983b2
mov dword [edi], 0
push str.bombrange
lea ecx, [ebp - 0x28]
call fcn.00442030
lea eax, [esi + 0x3c]
mov byte [ebp - 4], 0xb
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x104]
call fcn.00532fe0
cmp dword [ebp - 0x14], 0x10
mov byte [ebp - 4], 0
jb 0x5983eb
push dword [ebp - 0x28]
call fcn.004c3680
add esp, 4
push str.bombeffect
lea ecx, [ebp - 0x28]
call fcn.00442030
lea edi, [esi + 0x40]
mov byte [ebp - 4], 0xc
push edi
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x104]
call fcn.005330d0
test eax, eax
mov byte [ebp - 4], 0
sete bl
cmp dword [ebp - 0x14], 0x10
jb 0x598429
push dword [ebp - 0x28]
call fcn.004c3680
add esp, 4
test bl, bl
je 0x59843d
push 0
push 0x64d11e
mov ecx, edi
call fcn.0043db40
jmp 0x5984a8
cmp dword [esi + 0x50], 0
je 0x5984a8
cmp dword [edi + 0x14], 0x10
jb 0x59844d
mov eax, dword [edi]
jmp 0x59844f
mov eax, edi
push eax
call fcn.0050b8b0
add esp, 4
test al, al
jne 0x59848e
push edi
lea ecx, [ebp - 0x104]
call fcn.00532d30
push eax
call fcn.0050b6e0
add esp, 4
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.00450d30
add esp, 0xc
mov ecx, edi
push eax
call fcn.00441fd0
lea ecx, [ebp - 0x28]
call fcn.0043dc70
cmp dword [edi + 0x14], 0x10
jb 0x598496
mov edi, dword [edi]
mov ecx, dword [0x7031f0]
lea eax, [esi + 0x58]
push 0
push eax
push edi
call fcn.004fabd0
push str.homingflag
lea ecx, [ebp - 0x28]
call fcn.00442030
lea eax, [ebp - 0x108]
mov byte [ebp - 4], 0xd
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x104]
call fcn.00533050
test eax, eax
mov byte [ebp - 4], 0
sete bl
cmp dword [ebp - 0x14], 0x10
jb 0x5984e9
push dword [ebp - 0x28]
call fcn.004c3680
add esp, 4
test bl, bl
je 0x5984f3
mov byte [esi + 0x5c], 0
jmp 0x598500
cmp dword [ebp - 0x108], 0
setne al
mov byte [esi + 0x5c], al
push str.homingstarttime
lea ecx, [ebp - 0x28]
call fcn.00442030
lea edi, [esi + 0x64]
mov byte [ebp - 4], 0xe
push edi
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x104]
call fcn.00532fe0
test eax, eax
mov byte [ebp - 4], 0
sete bl
cmp dword [ebp - 0x14], 0x10
jb 0x59853e
push dword [ebp - 0x28]
call fcn.004c3680
add esp, 4
xorps xmm0, xmm0
movq qword [ebp - 0x114], xmm0
test bl, bl
je 0x598553
mov dword [edi], 0
push str.homingmaxangle
lea ecx, [ebp - 0x28]
call fcn.00442030
lea edi, [esi + 0x60]
mov byte [ebp - 4], 0xf
push edi
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x104]
call fcn.00532fe0
test eax, eax
mov byte [ebp - 4], 0
sete bl
cmp dword [ebp - 0x14], 0x10
jb 0x598591
push dword [ebp - 0x28]
call fcn.004c3680
add esp, 4
test bl, bl
je 0x59859b
mov dword [edi], 0
push str.range
lea ecx, [ebp - 0x28]
call fcn.00442030
lea eax, [esi + 0x74]
mov byte [ebp - 4], 0x10
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x104]
call fcn.00532fe0
test eax, eax
mov byte [ebp - 4], 0
sete bl
cmp dword [ebp - 0x14], 0x10
jb 0x5985d9
push dword [ebp - 0x28]
call fcn.004c3680
add esp, 4
test bl, bl
jne 0x598b75
push str.acceleration
lea ecx, [ebp - 0x28]
call fcn.00442030
lea edi, [esi + 0x78]
mov byte [ebp - 4], 0x11
push edi
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x104]
call fcn.00532ee0
test eax, eax
mov byte [ebp - 4], 0
sete bl
cmp dword [ebp - 0x14], 0x10
jb 0x59861f
push dword [ebp - 0x28]
call fcn.004c3680
add esp, 4
test bl, bl
je 0x59863f
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.00532cd0
test eax, eax
je 0x598b51
lea eax, [ebp - 0x104]
mov dword [ebp - 0x110], eax
jmp 0x598670
push ebx
lea ecx, [ebp - 0x104]
call fcn.00533a90
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.00532cf0
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.004518b0
add esp, 0xc
test eax, eax
jne 0x5986e0
cmp edi, 0xa
jae 0x5986d6
or eax, 0xffffffff
jmp 0x5986de
xor eax, eax
cmp edi, 0xa
setne al
test eax, eax
sete al
test al, al
je 0x598b5a
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.0043db40
lea eax, [ebp - 0x84]
mov byte [ebp - 4], 0x15
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x104]
call fcn.00533050
test eax, eax
mov byte [ebp - 4], 0x14
sete bl
cmp dword [ebp - 0x14], 0x10
jb 0x598756
push dword [ebp - 0x28]
call fcn.004c3680
add esp, 4
test bl, bl
je 0x5987ba
cmp dword [ebp - 0x68], 0x10
jb 0x59876b
push dword [ebp - 0x7c]
call fcn.004c3680
add esp, 4
cmp dword [ebp - 0x2c], 0x10
mov dword [ebp - 0x68], 0xf
mov dword [ebp - 0x6c], 0
mov byte [ebp - 0x7c], 0
jb 0x59878e
push dword [ebp - 0x40]
call fcn.004c3680
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.00533bc0
mov ebx, dword [ebp - 0x10c]
jmp 0x598b37
push str.flytype
lea ecx, [ebp - 0x28]
call fcn.00442030
lea eax, [ebp - 0x80]
mov byte [ebp - 4], 0x16
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x104]
call fcn.00533050
cmp dword [ebp - 0x14], 0x10
mov byte [ebp - 4], 0x14
jb 0x5987f3
push dword [ebp - 0x28]
call fcn.004c3680
add esp, 4
push str.attachfile
lea ecx, [ebp - 0x28]
call fcn.00442030
lea eax, [ebp - 0x7c]
mov byte [ebp - 4], 0x17
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x104]
call fcn.005330d0
test eax, eax
mov byte [ebp - 4], 0x14
sete bl
cmp dword [ebp - 0x14], 0x10
jb 0x598831
push dword [ebp - 0x28]
call fcn.004c3680
add esp, 4
test bl, bl
je 0x598844
push 0x64d11e
lea ecx, [ebp - 0x7c]
call fcn.0043db00
jmp 0x5988b3
cmp dword [ebp - 0x6c], 0
je 0x5988b3
cmp dword [ebp - 0x68], 0x10
lea eax, [ebp - 0x7c]
cmovae eax, dword [ebp - 0x7c]
push eax
call fcn.0050b8b0
add esp, 4
test al, al
jne 0x598898
lea eax, [ebp - 0x7c]
push eax
lea ecx, [ebp - 0x104]
call fcn.00532d30
push eax
call fcn.0050b6e0
add esp, 4
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.00450d30
add esp, 0xc
lea ecx, [ebp - 0x7c]
push eax
call fcn.00441fd0
lea ecx, [ebp - 0x28]
call fcn.0043dc70
cmp dword [ebp - 0x68], 0x10
lea eax, [ebp - 0x7c]
mov ecx, dword [0x7031f0]
cmovae eax, dword [ebp - 0x7c]
push 0
push 0
push eax
call fcn.004fac80
push str.tailflag
lea ecx, [ebp - 0x28]
call fcn.00442030
lea eax, [ebp - 0x108]
mov byte [ebp - 4], 0x18
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x104]
call fcn.00533050
cmp dword [ebp - 0x14], 0x10
mov byte [ebp - 4], 0x14
jb 0x5988ef
push dword [ebp - 0x28]
call fcn.004c3680
add esp, 4
cmp dword [ebp - 0x108], 0
je 0x5989f4
push str.tailcolor
lea ecx, [ebp - 0x28]
mov byte [ebp - 0x64], 1
call fcn.00442030
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x19
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x104]
call fcn.00532fd0
cmp dword [ebp - 0x14], 0x10
mov byte [ebp - 4], 0x14
jb 0x598939
push dword [ebp - 0x28]
call fcn.004c3680
add esp, 4
push str.taillength
lea ecx, [ebp - 0x28]
call fcn.00442030
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x1a
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x104]
call fcn.00532fe0
cmp dword [ebp - 0x14], 0x10
mov byte [ebp - 4], 0x14
jb 0x598972
push dword [ebp - 0x28]
call fcn.004c3680
add esp, 4
push str.tailsize
lea ecx, [ebp - 0x28]
call fcn.00442030
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 0x1b
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x104]
call fcn.00532fe0
cmp dword [ebp - 0x14], 0x10
mov byte [ebp - 4], 0x14
jb 0x5989ab
push dword [ebp - 0x28]
call fcn.004c3680
add esp, 4
push str.tailshaperect
lea ecx, [ebp - 0x28]
call fcn.00442030
lea eax, [ebp - 0x108]
mov byte [ebp - 4], 0x1c
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x104]
call fcn.00533050
cmp dword [ebp - 0x14], 0x10
mov byte [ebp - 4], 0x14
jb 0x5989e7
push dword [ebp - 0x28]
call fcn.004c3680
add esp, 4
cmp dword [ebp - 0x108], 0
setne byte [ebp - 0x54]
jmp 0x5989f8
mov byte [ebp - 0x64], 0
push str.roll
lea ecx, [ebp - 0x28]
call fcn.00442030
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 0x1d
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x104]
call fcn.00532fe0
cmp dword [ebp - 0x14], 0x10
mov byte [ebp - 4], 0x14
jb 0x598a31
push dword [ebp - 0x28]
call fcn.004c3680
add esp, 4
push str.distance
lea ecx, [ebp - 0x28]
call fcn.00442030
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0x1e
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x104]
call fcn.00532fe0
cmp dword [ebp - 0x14], 0x10
mov byte [ebp - 4], 0x14
jb 0x598a6a
push dword [ebp - 0x28]
call fcn.004c3680
add esp, 4
push str.period
lea ecx, [ebp - 0x28]
call fcn.00442030
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 0x1f
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x104]
call fcn.00532fe0
cmp dword [ebp - 0x14], 0x10
mov byte [ebp - 4], 0x14
jb 0x598aa3
push dword [ebp - 0x28]
call fcn.004c3680
add esp, 4
push str.amplitude
lea ecx, [ebp - 0x28]
call fcn.00442030
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x20
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x104]
call fcn.00532fe0
cmp dword [ebp - 0x14], 0x10
mov byte [ebp - 4], 0x14
jb 0x598adc
push dword [ebp - 0x28]
call fcn.004c3680
add esp, 4
lea eax, [ebp - 0x84]
push eax
lea ecx, [esi + 0x84]
call fcn.00598ea0
cmp dword [ebp - 0x68], 0x10
jb 0x598aff
push dword [ebp - 0x7c]
call fcn.004c3680
add esp, 4
mov ebx, dword [ebp - 0x10c]
cmp dword [ebp - 0x2c], 0x10
jb 0x598b16
push dword [ebp - 0x40]
call fcn.004c3680
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.00533bc0
inc ebx
lea ecx, [ebp - 0x104]
mov dword [ebp - 0x10c], ebx
call fcn.00532cd0
cmp ebx, eax
jb 0x598670
jmp 0x598b56
mov bl, 1
jmp 0x598b77
cmp dword [esi + 0x18], 0x10
lea eax, [esi + 4]
jb 0x598b65
mov eax, dword [eax]
push eax
push str.CFlyingData::LoadScriptFile_Wrong_Data_:__s
call fcn.0050aef0
add esp, 8
jmp 0x598b05
xor bl, bl
lea ecx, [ebp - 0x104]
mov dword [ebp - 4], 0xffffffff
call fcn.00532710
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.005b509b
mov esp, ebp
pop ebp
ret 4