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

Disassembly:
sub esp, 0xd8
push esi
mov esi, ecx
cmp dword [esi + 0x78], 1
mov dword [esp + 8], esi
jne 0x4483fe
mov ecx, dword [esi + 0x7c]
test ecx, ecx
je 0x4483fe
push ebx
push ebp
push edi
push str.TrailStart
call fcn.00434dd0
mov ecx, eax
call fcn.0043f8b0
mov ecx, dword [esi + 0x7c]
push str.TrailEnd
mov dword [esi + 0x1ec], eax
call fcn.00434dd0
mov ecx, eax
call fcn.0043f8b0
mov ecx, dword [esi + 0x7c]
push str.LinkPoint
mov dword [esi + 0x1f0], eax
call fcn.00434dd0
mov ecx, eax
call fcn.0043f8b0
mov ecx, dword [esi + 0x7c]
push str.LightPoint
mov dword [esi + 0x1f4], eax
call fcn.00434dd0
mov ecx, eax
call fcn.0043f8b0
mov ecx, dword [esi + 0x7c]
push str.ParticlePoint
mov dword [esi + 0x1f8], eax
call fcn.00434dd0
mov ecx, eax
call fcn.0043f8b0
mov ebp, dword [esi + 0x1f4]
cmp ebp, 0xffffffff
mov dword [esi + 0x1fc], eax
je 0x447eff
push 0x40
lea eax, [esp + 0x1c]
push 0
push eax
call fcn.0074d440
fld1
fst dword [esp + 0x24]
add esp, 0xc
fldz
fst dword [esp + 0x1c]
fst dword [esp + 0x20]
fst dword [esp + 0x24]
fst dword [esp + 0x28]
fst dword [esp + 0x30]
fst dword [esp + 0x34]
fst dword [esp + 0x38]
fst dword [esp + 0x3c]
fst dword [esp + 0x44]
fst dword [esp + 0x48]
fst dword [esp + 0x4c]
fstp dword [esp + 0x50]
fst dword [esp + 0x2c]
fst dword [esp + 0x40]
fstp dword [esp + 0x54]
push 0x40
lea ecx, [esp + 0x5c]
push 0
push ecx
call fcn.0074d440
mov edx, dword [esp + 0x20]
mov edi, dword [edx + 0x7c]
lea esi, [edi + 0xd0]
add esp, 0xc
xor al, al
test esi, esi
je 0x447d2d
cmp byte [0x992082], al
je 0x447d2b
push esi
call dword [0x794290]
mov al, 1
test al, al
mov edi, dword [edi + 0x16c]
je 0x447d47
cmp byte [0x992082], 0
je 0x447d47
push esi
call dword [0x79428c]
lea esi, [edi + 0x1bc]
xor al, al
test esi, esi
je 0x447d64
cmp byte [0x992082], al
je 0x447d62
push esi
call dword [0x794290]
mov al, 1
test al, al
je 0x447d78
cmp byte [0x992082], 0
je 0x447d78
push esi
call dword [0x79428c]
mov edx, dword [esp + 0x14]
mov ecx, dword [edi + 0x80]
mov ebx, dword [edx + 0x7c]
lea eax, [ebp + ebp*2]
lea esi, [ecx + eax*4]
lea edi, [ebx + 0xd0]
xor al, al
test edi, edi
je 0x447da9
cmp byte [0x992082], al
je 0x447da7
push edi
call dword [0x794290]
mov al, 1
test al, al
mov ebx, dword [ebx + 0x16c]
je 0x447dc3
cmp byte [0x992082], 0
je 0x447dc3
push edi
call dword [0x79428c]
lea edi, [ebx + 0x1bc]
xor al, al
test edi, edi
je 0x447de0
cmp byte [0x992082], al
je 0x447dde
push edi
call dword [0x794290]
mov al, 1
test al, al
je 0x447df4
cmp byte [0x992082], 0
je 0x447df4
push edi
call dword [0x79428c]
mov eax, dword [ebx + 0x78]
lea edx, [esp + 0x98]
lea ecx, [eax + ebp*8]
push edx
call fcn.0050ec80
lea ecx, [esp + 0x58]
push ecx
mov ecx, eax
call fcn.005b0a30
fld dword [esi]
fstp dword [esp + 0x64]
lea edx, [esp + 0x18]
fld dword [esi + 4]
push edx
fstp dword [esp + 0x78]
mov ecx, 0x10
fld dword [esi + 8]
lea esi, [esp + 0x1c]
lea edi, [esp + 0xac]
fstp dword [esp + 0x88]
lea eax, [esp + 0xac]
rep movsd dword es:[edi], dword [esi]
push eax
lea ecx, [esp + 0x60]
push ecx
call dword [0x97e254]
mov edx, dword [esp + 0x20]
mov edi, dword [edx + 0x7c]
lea esi, [edi + 0xd0]
add esp, 0xc
xor al, al
test esi, esi
je 0x447e7b
cmp byte [0x992082], al
je 0x447e79
push esi
call dword [0x794290]
mov al, 1
test al, al
mov edi, dword [edi + 0x16c]
je 0x447e95
cmp byte [0x992082], 0
je 0x447e95
push esi
call dword [0x79428c]
lea esi, [edi + 0x1bc]
xor al, al
test esi, esi
je 0x447eb2
cmp byte [0x992082], al
je 0x447eb0
push esi
call dword [0x794290]
mov al, 1
test al, al
je 0x447ec6
cmp byte [0x992082], 0
je 0x447ec6
push esi
call dword [0x79428c]
mov ecx, dword [edi + 8]
lea eax, [ebp + ebp*4]
mov ebp, dword [ecx + eax*4 + 4]
cmp ebp, 0xffffffff
jne 0x447cf8
lea edx, [esp + 0x18]
push edx
call dword [0x97e23c]
mov eax, dword [esp + 0x18]
lea edi, [eax + 0x90]
mov ecx, 0x10
lea esi, [esp + 0x1c]
add esp, 4
rep movsd dword es:[edi], dword [esi]
jmp 0x447f0c
lea ecx, [esi + 0x90]
call fcn.00408150
mov eax, esi
mov ecx, dword [eax + 0x1f8]
cmp ecx, 0xffffffff
mov dword [esp + 0x10], ecx
je 0x448181
push 0x40
lea eax, [esp + 0x1c]
push 0
push eax
call fcn.0074d440
fld1
fst dword [esp + 0x24]
add esp, 0xc
fldz
fst dword [esp + 0x1c]
fst dword [esp + 0x20]
fst dword [esp + 0x24]
fst dword [esp + 0x28]
fst dword [esp + 0x30]
fst dword [esp + 0x34]
fst dword [esp + 0x38]
fst dword [esp + 0x3c]
fst dword [esp + 0x44]
fst dword [esp + 0x48]
fst dword [esp + 0x4c]
fstp dword [esp + 0x50]
fst dword [esp + 0x2c]
fst dword [esp + 0x40]
fstp dword [esp + 0x54]
push 0x40
lea ecx, [esp + 0x5c]
push 0
push ecx
call fcn.0074d440
mov edx, dword [esp + 0x20]
mov edi, dword [edx + 0x7c]
lea esi, [edi + 0xd0]
add esp, 0xc
xor al, al
test esi, esi
je 0x447fa9
cmp byte [0x992082], al
je 0x447fa7
push esi
call dword [0x794290]
mov al, 1
test al, al
mov edi, dword [edi + 0x16c]
je 0x447fc3
cmp byte [0x992082], 0
je 0x447fc3
push esi
call dword [0x79428c]
lea esi, [edi + 0x1bc]
xor al, al
test esi, esi
je 0x447fe0
cmp byte [0x992082], al
je 0x447fde
push esi
call dword [0x794290]
mov al, 1
test al, al
je 0x447ff4
cmp byte [0x992082], 0
je 0x447ff4
push esi
call dword [0x79428c]
mov eax, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov ecx, dword [edi + 0x80]
mov ebx, dword [ebp + 0x7c]
lea eax, [eax + eax*2]
lea esi, [ecx + eax*4]
lea edi, [ebx + 0xd0]
xor al, al
test edi, edi
je 0x448028
cmp byte [0x992082], al
je 0x448026
push edi
call dword [0x794290]
mov al, 1
test al, al
mov ebx, dword [ebx + 0x16c]
je 0x448042
cmp byte [0x992082], 0
je 0x448042
push edi
call dword [0x79428c]
lea edi, [ebx + 0x1bc]
xor al, al
test edi, edi
je 0x44805f
cmp byte [0x992082], al
je 0x44805d
push edi
call dword [0x794290]
mov al, 1
test al, al
je 0x448073
cmp byte [0x992082], 0
je 0x448073
push edi
call dword [0x79428c]
mov edx, dword [ebx + 0x78]
mov eax, dword [esp + 0x10]
lea ecx, [edx + eax*8]
lea edx, [esp + 0x98]
push edx
call fcn.0050ec80
lea ecx, [esp + 0x58]
push ecx
mov ecx, eax
call fcn.005b0a30
fld dword [esi]
fstp dword [esp + 0x64]
lea edx, [esp + 0x18]
fld dword [esi + 4]
push edx
fstp dword [esp + 0x78]
mov ecx, 0x10
fld dword [esi + 8]
lea esi, [esp + 0x1c]
lea edi, [esp + 0xac]
fstp dword [esp + 0x88]
lea eax, [esp + 0xac]
rep movsd dword es:[edi], dword [esi]
push eax
lea ecx, [esp + 0x60]
push ecx
call dword [0x97e254]
mov edi, dword [ebp + 0x7c]
lea esi, [edi + 0xd0]
add esp, 0xc
xor al, al
test esi, esi
je 0x4480fa
cmp byte [0x992082], al
je 0x4480f8
push esi
call dword [0x794290]
mov al, 1
test al, al
mov edi, dword [edi + 0x16c]
je 0x448114
cmp byte [0x992082], 0
je 0x448114
push esi
call dword [0x79428c]
lea esi, [edi + 0x1bc]
xor al, al
test esi, esi
je 0x448131
cmp byte [0x992082], al
je 0x44812f
push esi
call dword [0x794290]
mov al, 1
test al, al
je 0x448145
cmp byte [0x992082], 0
je 0x448145
push esi
call dword [0x79428c]
mov eax, dword [esp + 0x10]
lea edx, [eax + eax*4]
mov eax, dword [edi + 8]
mov eax, dword [eax + edx*4 + 4]
cmp eax, 0xffffffff
mov dword [esp + 0x10], eax
jne 0x447f74
lea ecx, [esp + 0x18]
push ecx
call dword [0x97e23c]
lea edi, [ebp + 0x114]
mov ecx, 0x10
lea esi, [esp + 0x1c]
add esp, 4
rep movsd dword es:[edi], dword [esi]
jmp 0x448190
lea ecx, [eax + 0x114]
call fcn.00408150
mov ebp, dword [esp + 0x14]
mov eax, dword [ebp + 0x1fc]
cmp eax, 0xffffffff
mov dword [esp + 0x10], eax
je 0x448406
push 0x40
lea edx, [esp + 0x1c]
push 0
push edx
call fcn.0074d440
fld1
fst dword [esp + 0x24]
add esp, 0xc
fldz
fst dword [esp + 0x1c]
fst dword [esp + 0x20]
fst dword [esp + 0x24]
fst dword [esp + 0x28]
fst dword [esp + 0x30]
fst dword [esp + 0x34]
fst dword [esp + 0x38]
fst dword [esp + 0x3c]
fst dword [esp + 0x44]
fst dword [esp + 0x48]
fst dword [esp + 0x4c]
fstp dword [esp + 0x50]
fst dword [esp + 0x2c]
fst dword [esp + 0x40]
fstp dword [esp + 0x54]
push 0x40
lea eax, [esp + 0x5c]
push 0
push eax
call fcn.0074d440
mov edi, dword [ebp + 0x7c]
lea esi, [edi + 0xd0]
add esp, 0xc
xor al, al
test esi, esi
je 0x448229
cmp byte [0x992082], al
je 0x448227
push esi
call dword [0x794290]
mov al, 1
test al, al
mov edi, dword [edi + 0x16c]
je 0x448243
cmp byte [0x992082], 0
je 0x448243
push esi
call dword [0x79428c]
lea esi, [edi + 0x1bc]
xor al, al
test esi, esi
je 0x448260
cmp byte [0x992082], al
je 0x44825e
push esi
call dword [0x794290]
mov al, 1
test al, al
je 0x448274
cmp byte [0x992082], 0
je 0x448274
push esi
call dword [0x79428c]
mov eax, dword [esp + 0x10]
mov edx, dword [edi + 0x80]
mov ebx, dword [ebp + 0x7c]
lea ecx, [eax + eax*2]
lea edi, [ebx + 0xd0]
xor al, al
test edi, edi
lea esi, [edx + ecx*4]
je 0x4482a4
cmp byte [0x992082], al
je 0x4482a2
push edi
call dword [0x794290]
mov al, 1
test al, al
mov ebx, dword [ebx + 0x16c]
je 0x4482be
cmp byte [0x992082], 0
je 0x4482be
push edi
call dword [0x79428c]
lea edi, [ebx + 0x1bc]
xor al, al
test edi, edi
je 0x4482db
cmp byte [0x992082], al
je 0x4482d9
push edi
call dword [0x794290]
mov al, 1
test al, al
je 0x4482ef
cmp byte [0x992082], 0
je 0x4482ef
push edi
call dword [0x79428c]
mov eax, dword [ebx + 0x78]
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x98]
lea ecx, [eax + ecx*8]
push edx
call fcn.0050ec80
lea ecx, [esp + 0x58]
push ecx
mov ecx, eax
call fcn.005b0a30
fld dword [esi]
fstp dword [esp + 0x64]
lea edx, [esp + 0x18]
fld dword [esi + 4]
push edx
fstp dword [esp + 0x78]
mov ecx, 0x10
fld dword [esi + 8]
lea esi, [esp + 0x1c]
lea edi, [esp + 0xac]
fstp dword [esp + 0x88]
lea eax, [esp + 0xac]
rep movsd dword es:[edi], dword [esi]
push eax
lea ecx, [esp + 0x60]
push ecx
call dword [0x97e254]
mov edi, dword [ebp + 0x7c]
lea esi, [edi + 0xd0]
add esp, 0xc
xor al, al
test esi, esi
je 0x448376
cmp byte [0x992082], al
je 0x448374
push esi
call dword [0x794290]
mov al, 1
test al, al
mov edi, dword [edi + 0x16c]
je 0x448390
cmp byte [0x992082], 0
je 0x448390
push esi
call dword [0x79428c]
lea esi, [edi + 0x1bc]
xor al, al
test esi, esi
je 0x4483ad
cmp byte [0x992082], al
je 0x4483ab
push esi
call dword [0x794290]
mov al, 1
test al, al
je 0x4483c1
cmp byte [0x992082], 0
je 0x4483c1
push esi
call dword [0x79428c]
mov eax, dword [esp + 0x10]
lea edx, [eax + eax*4]
mov eax, dword [edi + 8]
mov eax, dword [eax + edx*4 + 4]
cmp eax, 0xffffffff
mov dword [esp + 0x10], eax
jne 0x4481f8
lea ecx, [esp + 0x18]
push ecx
call dword [0x97e23c]
add esp, 4
lea edi, [ebp + 0x154]
mov ecx, 0x10
lea esi, [esp + 0x18]
rep movsd dword es:[edi], dword [esi]
pop edi
pop ebp
pop ebx
pop esi
add esp, 0xd8
ret
pop edi
lea ecx, [ebp + 0x154]
pop ebp
pop ebx
pop esi
add esp, 0xd8
jmp fcn.00408150