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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
push 0xffffffffffffffff
push 0x87e6eb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x408
mov ecx, dword [0x982c08]
push ebx
mov ebx, dword [ebp + 0x10]
mov eax, ebx
imul eax, eax, 0x70
add eax, 0x919c70
test ecx, ecx
push esi
push edi
mov dword [0x982cfc], ebx
mov byte [0x982d01], 1
mov dword [esp + 0x78], eax
je 0x6e451a
mov eax, dword [eax + 0x60]
push 1
push eax
call fcn.006bd3b0
add esp, 8
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x40]
fld dword [eax + 0x40]
mov edx, dword [esp + 0x78]
fld dword [eax + 0x44]
mov eax, dword [eax + 0x48]
mov edi, dword [edx + 0x40]
fxch st(1)
mov ecx, eax
fstp dword [0x982d30]
mov dword [esp + 0x14], eax
mov eax, dword [0x9b392c]
fstp dword [0x982d34]
add eax, 0x180
push eax
lea eax, [esp + 0x44]
push eax
mov dword [0x982d38], ecx
call fcn.0045f490
fld dword [esp + 0x48]
fmul dword [0x8faeb8]
mov edx, dword [esp + 0x4c]
fld dword [esp + 0x4c]
mov eax, dword [esp + 0x50]
fmul dword [0x8faeb8]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x1ac], edx
lea edx, [esp + 0x28]
fstp dword [esp + 0x6c]
push edx
fld dword [esp + 0x54]
push 0x982d30
fmul dword [0x8faeb8]
mov dword [esp + 0x1b8], eax
mov dword [esp + 0x1b0], ecx
lea eax, [esp + 0x300]
fstp dword [esp + 0x78]
push 0x982d50
push eax
fadd dword [0x982d30]
mov dword [esp + 0x38], 0
fld dword [esp + 0x7c]
mov dword [esp + 0x3c], 0
fadd dword [0x982d34]
mov dword [esp + 0x40], 0x3f800000
fld dword [esp + 0x80]
fadd dword [0x982d38]
fstp dword [esp + 0x60]
mov ecx, dword [esp + 0x60]
fxch st(1)
mov dword [0x982d58], ecx
fstp dword [0x982d50]
fstp dword [0x982d54]
call fcn.006cf0a0
mov ecx, dword [0x925970]
add esp, 0x18
push ecx
lea edx, [esp + 0x2f4]
push edx
mov ecx, edi
call fcn.004700d0
push ebx
call fcn.006d7950
add esp, 4
mov ecx, 0x988050
call fcn.006e2a40
mov ecx, 0x987b54
call fcn.006e2a40
mov eax, dword [esi + 0x60]
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 0x14]
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
mov dword [esp + 0x18], edx
mov ebx, dword [esi + 0x40]
movzx eax, word [ebx + 0xc4]
fidiv dword [esp + 0x18]
mov dword [esp + 0x14], eax
fmul dword [0x901ab8]
fstp dword [esp + 0x18]
fild dword [esp + 0x14]
fmul dword [0x901ab4]
fmul dword [0x8933d4]
call fcn.007c4b80
mov esi, eax
push esi
call fcn.0045db30
fstp dword [esp + 0x18]
push esi
call fcn.0045dbf0
fdivr dword [esp + 0x1c]
movzx ecx, word [ebx + 0xc4]
mov dword [esp + 0x1c], ecx
fdivr dword [0x89096c]
fstp dword [esp + 0x24]
fild dword [esp + 0x1c]
fmul dword [esp + 0x20]
fmul dword [0x8933d4]
call fcn.007c4b80
mov esi, eax
push esi
call fcn.0045db30
fstp dword [esp + 0x20]
push esi
call fcn.0045dbf0
fdivr dword [esp + 0x24]
mov edx, dword [esp + 0x2c]
add esp, 0x10
push 0x983e00
lea ecx, [esp + 0x33c]
mov dword [0x983e04], 0
mov dword [0x983e08], 0
mov dword [0x983e0c], 0
mov dword [0x983e10], 0
mov dword [0x983e18], 0
mov dword [0x983e1c], 0
mov dword [0x983e20], 0
mov dword [0x983e24], 0
mov dword [0x983e30], 0
mov dword [0x983e34], 0
mov dword [0x983e00], edx
mov dword [0x983e2c], 0x3f800000
mov dword [0x983e3c], 0
fdivr dword [0x89096c]
fld dword [0x901ab0]
fsub dword [0x901aac]
fdivr dword [0x901ab0]
fxch st(1)
fchs
fstp dword [0x983e14]
fst dword [0x983e28]
fld dword [0x901aac]
fmul st(1)
fchs
fstp dword [0x983e38]
fstp st(0)
call fcn.006c8cd0
mov esi, eax
mov eax, dword [ebp + 8]
mov ecx, 0x36
mov edi, 0x986df0
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [eax]
mov dword [0x982d04], ecx
mov eax, dword [eax + 0x60]
mov edx, dword [eax + 0x18]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], eax
movzx ecx, word [ebx + 0xc4]
fild dword [esp + 0x14]
mov dword [esp + 0x14], ecx
fidiv dword [esp + 0x18]
fmul dword [0x901aa8]
fstp dword [esp + 0x18]
fild dword [esp + 0x14]
fmul dword [0x901aa4]
fmul dword [0x8933d4]
call fcn.007c4b80
mov esi, eax
push esi
call fcn.0045db30
fstp dword [esp + 0x18]
push esi
call fcn.0045dbf0
fdivr dword [esp + 0x1c]
movzx edx, word [ebx + 0xc4]
mov dword [esp + 0x1c], edx
fdivr dword [0x89096c]
fstp dword [esp + 0x24]
fild dword [esp + 0x1c]
fmul dword [esp + 0x20]
fmul dword [0x8933d4]
call fcn.007c4b80
mov esi, eax
push esi
call fcn.0045db30
fstp dword [esp + 0x20]
push esi
call fcn.0045dbf0
fdivr dword [esp + 0x24]
mov eax, dword [esp + 0x2c]
add esp, 0x10
push 0x983e00
lea ecx, [esp + 0x33c]
mov dword [0x983e04], 0
mov dword [0x983e08], 0
mov dword [0x983e0c], 0
mov dword [0x983e10], 0
mov dword [0x983e18], 0
mov dword [0x983e1c], 0
mov dword [0x983e20], 0
mov dword [0x983e24], 0
mov dword [0x983e30], 0
mov dword [0x983e34], 0
mov dword [0x983e00], eax
mov dword [0x983e2c], 0x3f800000
mov dword [0x983e3c], 0
fdivr dword [0x89096c]
fld dword [0x901ab0]
fsub dword [0x901aac]
fdivr dword [0x901ab0]
fxch st(1)
fchs
fstp dword [0x983e14]
fst dword [0x983e28]
fld dword [0x901aac]
fmul st(1)
fchs
fstp dword [0x983e38]
fstp st(0)
call fcn.006c8cd0
mov esi, eax
mov ecx, 0x36
mov edi, 0x987ce0
push 2
rep movsd dword es:[edi], dword [esi]
push 5
xor esi, esi
push esi
call fcn.006c6810
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
push eax
lea edx, [esp + 0x130]
push edx
call fcn.00444fe0
mov eax, dword [0x901aac]
fld dword [0x901ab0]
mov ebx, dword [0x987b58]
add esp, 0x14
mov dword [0x982d08], esi
mov dword [esp + 0x14], eax
lea edi, [ebx + 0x14]
test ebx, ebx
je 0x6e49c9
mov ecx, dword [0x987b5c]
sub ecx, ebx
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp esi, eax
jae 0x6e49c9
fld dword [esp + 0x14]
fcomp dword [edi - 0xc]
fnstsw ax
test ah, 5
jnp 0x6e49b6
mov ecx, dword [edi - 0xc]
mov dword [esp + 0x14], ecx
fcom dword [edi]
fnstsw ax
test ah, 0x41
je 0x6e49c3
fstp st(0)
fld dword [edi]
inc esi
add edi, 0x18
jmp 0x6e4980
xor ecx, ecx
fstp st(0)
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], ecx
mov eax, dword [0x988054]
cmp eax, ecx
mov dword [esp + 0x41c], ecx
jne 0x6e49ed
xor eax, eax
jmp 0x6e4a06
mov ecx, dword [0x988058]
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8 + 8]
push edx
lea ecx, [esp + 0x44]
call fcn.006e3bc0
mov esi, 0x986e68
lea esp, [esp]
push esi
lea ecx, [esp + 0x44]
call fcn.006e4370
add esi, 0xc
cmp esi, 0x986ec8
jl 0x6e4a20
mov edi, dword [0x988054]
cmp edi, dword [0x988058]
je 0x6e4a9e
mov esi, edi
add edi, 0x18
xor ebx, ebx
lea ebx, [ebx]
test bl, 4
je 0x6e4a5a
fld dword [esi + 8]
jmp 0x6e4a5d
fld dword [esi + 0x14]
test bl, 2
je 0x6e4a67
fld dword [esi + 4]
jmp 0x6e4a6a
fld dword [esi + 0x10]
test bl, 1
je 0x6e4a73
fld dword [esi]
jmp 0x6e4a76
fld dword [esi + 0xc]
fstp dword [esp + 0x60]
lea eax, [esp + 0x60]
push eax
fstp dword [esp + 0x68]
lea ecx, [esp + 0x44]
fstp dword [esp + 0x6c]
call fcn.006e4370
inc ebx
cmp ebx, 8
jl 0x6e4a50
cmp edi, dword [0x988058]
jne 0x6e4a43
mov ecx, dword [ebp + 8]
fld dword [0x901aa0]
mov eax, dword [ecx]
fadd dword [0x890cd4]
push eax
lea edx, [esp + 0x1a4]
push edx
fstp dword [esp + 0x58]
lea eax, [esp + 0x3c]
push eax
call sub.d3dx9_26.dll_D3DXVec3TransformNormal
lea ecx, [esp + 0x34]
push ecx
mov edx, ecx
push edx
call sub.d3dx9_26.dll_D3DXVec3Normalize
fld dword [esp + 0x3c]
fmul dword [0x890968]
fld dword [esp + 0x38]
fmul dword [0x890da8]
fsub st(1)
fstp dword [esp + 0x20]
mov eax, dword [esp + 0x20]
fld dword [esp + 0x34]
mov dword [esp + 0x54], eax
fmul dword [0x890da8]
lea eax, [esp + 0x54]
push eax
fsubr st(1)
fstp dword [esp + 0x28]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x5c], ecx
fstp st(0)
mov ecx, eax
fld dword [esp + 0x38]
push ecx
fmul dword [0x890968]
fld dword [esp + 0x40]
fmul dword [0x890968]
fsubp st(1)
fstp dword [esp + 0x30]
mov edx, dword [esp + 0x30]
mov dword [esp + 0x64], edx
call sub.d3dx9_26.dll_D3DXVec3Normalize
fld dword [esp + 0x5c]
fmul dword [esp + 0x38]
fld dword [esp + 0x3c]
fmul dword [esp + 0x58]
fsubp st(1)
fstp dword [esp + 0x20]
mov edx, dword [esp + 0x20]
fld dword [esp + 0x3c]
mov dword [esp + 0x7c], edx
fmul dword [esp + 0x54]
lea edx, [esp + 0x7c]
fld dword [esp + 0x5c]
push edx
fmul dword [esp + 0x38]
fsubp st(1)
fstp dword [esp + 0x28]
mov eax, dword [esp + 0x28]
fld dword [esp + 0x5c]
mov dword [esp + 0x84], eax
fmul dword [esp + 0x38]
mov eax, edx
fld dword [esp + 0x3c]
push eax
fmul dword [esp + 0x5c]
fsubp st(1)
fstp dword [esp + 0x30]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x8c], ecx
call sub.d3dx9_26.dll_D3DXVec3Normalize
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
mov dword [0x988000], ecx
mov ecx, dword [esp + 0x54]
mov dword [0x988004], edx
mov dword [0x988008], eax
mov dword [esp + 0x88], ecx
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x58]
mov ebx, dword [esp + 0x44]
test ebx, ebx
mov esi, dword [esp + 0x48]
mov dword [esp + 0x8c], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x9c], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x94], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], edx
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0x3f800000
jne 0x6e4c8e
xor eax, eax
jmp 0x6e4ca2
mov ecx, esi
sub ecx, ebx
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
lea ecx, [esp + 0x8c]
push ecx
push 0xc
push ebx
push 0xc
push ebx
call sub.d3dx9_26.dll_D3DXVec3TransformCoordArray
lea edx, [esp + 0x40]
push edx
lea ecx, [esp + 0xcc]
call fcn.006e0e30
fld dword [esp + 0xdc]
cmp ebx, esi
fadd dword [esp + 0xd0]
fld dword [esp + 0xd8]
mov dword [esp + 0x18], 0
fadd dword [esp + 0xcc]
mov dword [esp + 0x1c], 0
fstp dword [esp + 0x14]
fld dword [esp + 0xd4]
fadd dword [esp + 0xc8]
fstp dword [esp + 0x60]
fmul dword [0x8933d4]
fld dword [esp + 0x14]
mov dword [esp + 0x14], 0
fmul dword [0x8933d4]
fld dword [esp + 0x60]
fmul dword [0x8933d4]
fstp dword [esp + 0x60]
mov eax, dword [esp + 0x60]
mov dword [esp + 0x20], eax
fstp dword [esp + 0x64]
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x24], ecx
fstp dword [esp + 0x68]
mov edx, dword [esp + 0x68]
fld dword [esp + 0x20]
mov dword [esp + 0x28], edx
fadd dword [0x9885c0]
mov ecx, ebx
fld dword [esp + 0x24]
fadd dword [0x9885bc]
fstp dword [esp + 0x24]
fld dword [esp + 0xd0]
fsub dword [esp + 0x50]
fstp dword [esp + 0x28]
je 0x6e4e0b
mov eax, ecx
fld dword [eax + 8]
add ecx, 0xc
fsub dword [esp + 0x28]
fld dword [eax + 4]
fsub dword [esp + 0x24]
fld dword [eax]
fsub st(3)
fstp dword [esp + 0x60]
fld st(1)
fcomp dword [0x890968]
fnstsw ax
test ah, 0x41
jne 0x6e4dff
fld dword [0x89096c]
fdiv st(2)
fld dword [esp + 0x60]
fmul st(1)
fld st(0)
fabs
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 5
jnp 0x6e4dcf
fabs
fstp dword [esp + 0x14]
jmp 0x6e4dd1
fstp st(0)
fmulp st(1)
fld st(0)
fabs
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 5
jnp 0x6e4dea
fabs
fstp dword [esp + 0x18]
jmp 0x6e4dec
fstp st(0)
fld dword [esp + 0x1c]
fcomp st(1)
fnstsw ax
test ah, 0x41
je 0x6e4e01
fstp dword [esp + 0x1c]
jmp 0x6e4e03
fstp st(0)
fstp st(0)
cmp ecx, esi
jne 0x6e4d80
fld dword [esp + 0x28]
sub esp, 0xc
fchs
lea eax, [esp + 0x27c]
fstp dword [esp + 8]
fld dword [esp + 0x30]
fchs
fstp dword [esp + 4]
fchs
fstp dword [esp]
push eax
call sub.d3dx9_26.dll_D3DXMatrixTranslation
fld dword [esp + 0x1c]
fmul dword [0x901a9c]
push ecx
mov ecx, dword [esp + 0x54]
lea edx, [esp + 0x1f4]
fstp dword [esp]
push ecx
fld dword [esp + 0x20]
sub esp, 8
fmul dword [esp + 0x60]
fmul dword [0x901a98]
fadd st(0), st(0)
fstp dword [esp + 4]
fld dword [esp + 0x24]
fmul dword [esp + 0x60]
fmul dword [0x901a94]
fadd st(0), st(0)
fstp dword [esp]
push edx
call sub.d3dx9_26.dll_D3DXMatrixPerspectiveLH
lea eax, [esp + 0x270]
push eax
lea ecx, [esp + 0x8c]
push ecx
mov edx, ecx
push edx
call sub.d3dx9_26.dll_D3DXMatrixMultiply
lea eax, [esp + 0x1f0]
push eax
lea ecx, [esp + 0x8c]
push ecx
mov edx, ecx
push edx
call sub.d3dx9_26.dll_D3DXMatrixMultiply
mov eax, dword [0x901a90]
mov ecx, dword [0x901a8c]
mov edx, dword [0x901a88]
push eax
mov eax, dword [0x901a84]
push ecx
push edx
push eax
lea ecx, [esp + 0x240]
push ecx
mov dword [esp + 0xf4], 0x3f800000
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0xbf800000
mov dword [esp + 0x110], 0
mov dword [esp + 0x114], 0
mov dword [esp + 0x118], 0x3f800000
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
mov dword [esp + 0x128], 0xbf000000
mov dword [esp + 0x12c], 0x3fc00000
mov dword [esp + 0x130], 0x3f800000
call sub.d3dx9_26.dll_D3DXMatrixOrthoLH
lea edx, [esp + 0x230]
push edx
lea eax, [esp + 0xe4]
push eax
mov ecx, eax
push ecx
call sub.d3dx9_26.dll_D3DXMatrixMultiply
lea edx, [esp + 0xe0]
push edx
lea eax, [esp + 0x8c]
push eax
mov ecx, eax
push ecx
call sub.d3dx9_26.dll_D3DXMatrixMultiply
mov edx, dword [ebp + 8]
mov eax, dword [edx]
lea ecx, [esp + 0x88]
push ecx
push eax
lea edx, [esp + 0x1b8]
push edx
call sub.d3dx9_26.dll_D3DXMatrixMultiply
mov ebx, dword [esp + 0x78]
mov eax, dword [ebx]
lea edx, [eax + 0x40]
push edx
push eax
add eax, 0x80
mov edi, edx
mov ecx, 0x10
lea esi, [esp + 0x1b8]
push eax
rep movsd dword es:[edi], dword [esi]
call sub.d3dx9_26.dll_D3DXMatrixMultiply
mov eax, dword [ebx]
mov edi, eax
mov ecx, 0x10
lea esi, [esp + 0x120]
mov dword [esp + 0x120], 0x3f800000
mov dword [esp + 0x124], 0
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
mov dword [esp + 0x130], 0
mov dword [esp + 0x134], 0x3f800000
mov dword [esp + 0x138], 0
mov dword [esp + 0x13c], 0
mov dword [esp + 0x140], 0
mov dword [esp + 0x144], 0
mov dword [esp + 0x148], 0x3f800000
mov dword [esp + 0x14c], 0
mov dword [esp + 0x150], 0
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov dword [esp + 0x15c], 0x3f800000
rep movsd dword es:[edi], dword [esi]
lea ecx, [eax + 0x40]
push ecx
push eax
add eax, 0x80
push eax
call sub.d3dx9_26.dll_D3DXMatrixMultiply
mov eax, dword [0x982c08]
test eax, eax
mov eax, dword [0x93de78]
mov dword [0x982b38], 1
je 0x6e50ed
mov edx, dword [eax + 0x44]
mov ecx, dword [edx + 0x18c]
push 0
jmp 0x6e50f8
mov ecx, dword [eax + 0x44]
mov ecx, dword [ecx + 0x18c]
push 0xf
mov eax, dword [eax + 0x48]
mov edx, dword [eax]
push ecx
push eax
call dword [edx + 0x68]
push 0
mov edi, 1
push ebx
mov dword [0x8fae6c], edi
call fcn.007538d0
mov ecx, dword [0x982cdc]
add esp, 8
or esi, 0xffffffff
test ecx, ecx
jne 0x6e512d
mov dword [0x982cd4], ecx
jmp 0x6e5152
mov eax, dword [0x9877b4]
lea ecx, [eax + ecx*8]
mov edx, ecx
sub edx, eax
sar edx, 3
push edx
push ecx
push eax
call fcn.006e2ac0
add esp, 0xc
call fcn.006e0200
mov dword [0x8fae70], esi
mov eax, dword [0x901830]
test eax, eax
jle 0x6e51c2
mov ecx, dword [0x8faecc]
test ecx, ecx
mov ecx, dword [ebp + 0xc]
je 0x6e517a
cmp eax, edi
jne 0x6e5173
push 0x2000
jmp 0x6e5185
push 0x200
jmp 0x6e5185
mov eax, dword [0x982b9c]
or eax, 0x100
push eax
push ebx
call fcn.00723fa0
mov ecx, dword [0x982cdc]
test ecx, ecx
jne 0x6e519d
mov dword [0x982cd4], ecx
jmp 0x6e51c2
mov eax, dword [0x9877b4]
lea ecx, [eax + ecx*8]
mov edx, ecx
sub edx, eax
sar edx, 3
push edx
push ecx
push eax
call fcn.006e2ac0
add esp, 0xc
call fcn.006e0200
mov dword [0x8fae70], esi
mov eax, dword [0x903320]
test eax, eax
mov dword [0x903328], edi
je 0x6e5332
mov eax, dword [0x982c08]
test eax, eax
je 0x6e51f7
mov eax, dword [0x93de78]
mov ecx, dword [eax + 0x44]
mov ecx, dword [ecx + 0x18c]
mov eax, dword [eax + 0x48]
mov edx, dword [eax]
push edi
push ecx
push eax
call dword [edx + 0x68]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x44]
add eax, 0x44
xor edi, edi
cmp ecx, eax
je 0x6e52ad
test ecx, ecx
je 0x6e52ad
lea edx, [ecx - 4]
test edx, edx
je 0x6e52ad
mov edx, ecx
cmp edx, eax
je 0x6e522c
test ecx, ecx
je 0x6e522c
add ecx, 0xfffffffc
jmp 0x6e522e
xor ecx, ecx
mov eax, dword [ecx]
call dword [eax + 0x10]
mov esi, eax
test esi, esi
je 0x6e5253
mov eax, dword [esi + 0x94]
push eax
call fcn.00744d40
mov ecx, dword [esi + 0x94]
mov dword [0x901940], ecx
jmp 0x6e525f
mov edx, dword [0x901940]
push edx
call fcn.00744d40
mov edi, eax
add esp, 4
test edi, edi
je 0x6e52ad
mov eax, dword [edi]
push 0
push ebx
mov ecx, edi
call dword [eax + 0xc]
mov ecx, dword [0x982cdc]
test ecx, ecx
jne 0x6e5284
mov dword [0x982cd4], ecx
jmp 0x6e52ad
mov eax, dword [0x9877b4]
lea ecx, [eax + ecx*8]
mov edx, ecx
sub edx, eax
sar edx, 3
push edx
push ecx
push eax
call fcn.006e2ac0
add esp, 0xc
call fcn.006e0200
mov dword [0x8fae70], 0xffffffff
mov eax, dword [0x9b37cc]
mov ecx, dword [0x9b37d4]
mov esi, eax
lea edx, [eax + ecx*4]
cmp esi, edx
je 0x6e52ee
mov ecx, dword [esi]
test ecx, ecx
je 0x6e52de
cmp ecx, edi
je 0x6e52de
cmp dword [ecx + 0x28], 2
jl 0x6e52de
mov eax, dword [ecx]
push 0
push ebx
call dword [eax + 0xc]
mov eax, dword [0x9b37cc]
mov ecx, dword [0x9b37d4]
add esi, 4
lea edx, [eax + ecx*4]
cmp esi, edx
jne 0x6e52c1
mov eax, dword [0x982cdc]
test eax, eax
jne 0x6e5303
mov dword [0x982cd4], 0
jmp 0x6e5332
mov eax, dword [0x9877b4]
mov ecx, dword [0x982cdc]
lea ecx, [eax + ecx*8]
mov edx, ecx
sub edx, eax
sar edx, 3
push edx
push ecx
push eax
call fcn.006e2ac0
add esp, 0xc
call fcn.006e0200
mov dword [0x8fae70], 0xffffffff
mov dword [0x903328], 1
call fcn.006e0200
mov eax, dword [0x8faecc]
test eax, eax
mov dword [0x8fae70], 0xffffffff
je 0x6e5360
mov ecx, dword [0x982d10]
push ebx
call fcn.006d7f70
lea eax, [esp + 0x160]
push eax
lea ecx, [esp + 0x1b4]
push ecx
lea edx, [esp + 0x2b8]
push edx
mov dword [esp + 0x16c], 0x3f000000
mov dword [esp + 0x170], 0
mov dword [esp + 0x174], 0
mov dword [esp + 0x178], 0
mov dword [esp + 0x17c], 0
mov dword [esp + 0x180], 0xbf000000
mov dword [esp + 0x184], 0
mov dword [esp + 0x188], 0
mov dword [esp + 0x18c], 0
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], 0x3f800000
mov dword [esp + 0x198], 0
mov dword [esp + 0x19c], 0x3f002000
mov dword [esp + 0x1a0], 0x3f002000
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a8], 0x3f800000
call sub.d3dx9_26.dll_D3DXMatrixMultiply
mov eax, dword [ebx]
lea edx, [eax + 0x40]
push edx
push eax
add eax, 0x80
mov edi, edx
mov ecx, 0x10
lea esi, [esp + 0x2b8]
push eax
rep movsd dword es:[edi], dword [esi]
call sub.d3dx9_26.dll_D3DXMatrixMultiply
mov eax, dword [esp + 0x44]
test eax, eax
mov dword [esp + 0x41c], 0xffffffff
je 0x6e5491
mov ecx, dword [esp + 0x4c]
mov esi, eax
sub ecx, esi
mov eax, 0x2aaaaaab
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*2]
push 0x890f10
shl eax, 2
push eax
push esi
mov ecx, 0x925b30
call fcn.005d0370
mov ecx, dword [0x93de78]
mov dword [0x982b38], 0
mov eax, dword [ecx + 0x48]
mov ecx, dword [ecx + 0x44]
mov ecx, dword [ecx + 0x18c]
mov edx, dword [eax]
push 7
push ecx
push eax
call dword [edx + 0x68]
mov ecx, dword [esp + 0x414]
pop edi
pop esi
mov byte [0x982d01], 0
mov dword [0x8fae6c], 2
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret