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

Disassembly:
mov eax, 0x2468
call fcn.0051bfb0
mov eax, dword [0x13145b4]
push ebx
push ebp
xor ebp, ebp
push esi
cmp eax, ebp
mov eax, dword [0x1313d40]
push edi
mov dword [0x80a238], ebp
je 0x4a5cc2
mov ecx, dword [eax + 0x404]
xor edi, edi
cmp ecx, ebp
jle 0x4a5cc2
mov eax, dword [eax + 0x408]
xor ecx, ecx
mov cl, byte [eax + edi*4]
lea esi, [eax + edi*4]
mov dword [esp + 0x14], ecx
fild dword [esp + 0x14]
fmul dword [0x13145b8]
call fcn.0051a9fc
xor edx, edx
mov dword [esp + 0x10], eax
mov dl, byte [esi + 1]
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fmul dword [0x13145b8]
call fcn.0051a9fc
mov ebx, eax
xor eax, eax
mov al, byte [esi + 2]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
fmul dword [0x13145b8]
call fcn.0051a9fc
mov edx, dword [esp + 0x10]
mov ecx, eax
or ecx, ebx
mov dword [esp + 0x24], eax
or ecx, edx
test ecx, 0xffffff00
je 0x4a5c8e
sub edx, ebx
mov ecx, edx
sar ecx, 0x1f
not ecx
and ecx, edx
sub ecx, eax
add ecx, ebx
mov edx, ecx
sar edx, 0x1f
not edx
and edx, ecx
add edx, eax
mov dword [esp + 0x14], edx
fild dword [esp + 0x14]
fdivr dword [0x535c44]
fild dword [esp + 0x10]
fmul st(1)
call fcn.0051a9fc
fild dword [esp + 0x20]
mov dword [esp + 0x10], eax
fmul st(1)
call fcn.0051a9fc
fild dword [esp + 0x24]
mov ebx, eax
fmul st(1)
call fcn.0051a9fc
mov edx, dword [esp + 0x10]
fstp st(0)
mov byte [esi], dl
mov ecx, dword [0x1313d40]
inc edi
mov edx, dword [ecx + 0x408]
mov byte [edx + edi*4 - 3], bl
mov ecx, dword [0x1313d40]
mov edx, dword [ecx + 0x408]
mov byte [edx + edi*4 - 2], al
mov eax, dword [0x1313d40]
cmp edi, dword [eax + 0x404]
jl 0x4a5bc8
mov edx, dword [eax + 0x40c]
mov ecx, dword [eax + 0x410]
cmp edx, ebp
mov dword [esp + 0x14], ebp
jle 0x4a61ba
lea ebp, [esp + 0x78]
lea ebx, [ecx + 0xbc]
sub ebp, ecx
mov dword [esp + 0x2c], ebx
sub ebp, 0xc
mov dword [esp + 0x34], ebp
jmp 0x4a5cf7
mov ebp, dword [esp + 0x34]
lea eax, [ebx - 0xc]
push ebx
lea ecx, [ebx - 0x18]
push eax
lea edx, [ebx - 0x24]
push ecx
push edx
mov dword [ebx - 0xb4], 0
call fcn.0045b390
mov edi, str.models
or ecx, 0xffffffff
xor eax, eax
lea esi, [ebx - 0xb0]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str.models
push esi
call fcn.0052d600
add esp, 0x1c
test eax, eax
je 0x4a5d50
push esi
lea eax, [esp + 0x7c]
push str.models__s
push eax
call fcn.0051a85e
add esp, 0xc
jmp 0x4a5d5c
mov eax, esi
mov cl, byte [eax]
mov byte [eax + ebp], cl
inc eax
test cl, cl
jne 0x4a5d52
lea ecx, [esp + 0x78]
push ecx
call fcn.00454ca0
lea edx, [esp + 0x7c]
push edx
call fcn.00510fc0
test eax, eax
lea eax, [esp + 0x80]
push eax
setne byte [esp + 0x2b]
call fcn.00511830
mov ebp, eax
xor edi, edi
add esp, 0xc
cmp ebp, edi
mov dword [esp + 0x20], ebp
mov dword [ebx + 0x1c], ebp
jne 0x4a5db0
lea ecx, [esp + 0x78]
push ecx
push str.:_Warning:_Cannot_Load_Static_Model__s_n
push 3
call dword [0x1313c40]
add esp, 0xc
jmp 0x4a6186
push ebp
call fcn.005137d0
fstp dword [ebx + 0x224]
mov eax, dword [ebp + 0xc]
add esp, 4
cmp eax, edi
mov dword [esp + 0x10], edi
jle 0x4a5e6d
mov dword [esp + 0x18], edi
mov esi, dword [ebp + 0x10]
mov ecx, dword [esp + 0x18]
add esi, ecx
xor ebx, ebx
cmp dword [esi + 0x150], edi
jle 0x4a5e47
lea ebp, [esi + 0x140]
lea edi, [esi + 0x40]
cmp byte [edi], 0
jne 0x4a5dfc
mov dword [ebp], 0
jmp 0x4a5e30
mov ecx, dword [esi + 0x154]
mov edx, 1
test dl, ch
je 0x4a5e0d
xor edx, edx
test ch, 2
mov eax, 1
je 0x4a5e19
xor eax, eax
push 1
push 1
push eax
push edx
push 0xffffffffffffffff
push edi
call fcn.004a6e80
mov edx, dword [eax + 0x44]
add esp, 0x18
mov dword [ebp], edx
mov eax, dword [esi + 0x150]
inc ebx
add edi, 0x40
add ebp, 4
cmp ebx, eax
jl 0x4a5dee
mov ebp, dword [esp + 0x20]
xor edi, edi
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov ecx, dword [ebp + 0xc]
inc eax
add edx, 0x15c
cmp eax, ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], edx
jl 0x4a5dd2
mov ebx, dword [esp + 0x2c]
lea eax, [esp + 0x60]
lea ecx, [esp + 0x6c]
push eax
lea edx, [esp + 0x3c]
push ecx
mov ecx, dword [ebx + 0x1c]
lea eax, [esp + 0x480]
push edx
push eax
push ecx
call fcn.00509660
fld dword [ebx + 0xc]
fmul dword [ebp + 0x14]
mov al, byte [esp + 0x33]
add esp, 0x14
test al, al
fmul dword [esp + 0x38]
fstp dword [ebx + 0x228]
jne 0x4a6186
mov eax, dword [ebp + 0x1d4]
mov dword [esp + 0x18], edi
cmp eax, edi
jle 0x4a6186
lea edx, [ebp + 0x1d8]
mov dword [esp + 0x30], edx
mov eax, dword [esp + 0x30]
movsx ecx, word [eax]
push ecx
call fcn.005163d0
mov ebx, eax
add esp, 4
cmp ebx, edi
mov dword [esp + 0x28], ebx
jne 0x4a5efc
lea edx, [esp + 0x78]
push edx
push str.:_Warning:_Missing_mesh_in_Static_Model__s_n
push 3
call dword [0x1313c40]
add esp, 0xc
jmp 0x4a6160
mov eax, dword [ebx + 0x44]
mov esi, dword [ebx + 0x50]
cmp eax, edi
mov dword [esp + 0x20], edi
jle 0x4a6160
cmp dword [esi + 0x4c], edi
jne 0x4a614c
mov eax, dword [esi + 0x48]
lea eax, [eax + eax*2]
shl eax, 4
push eax
call dword [0x1313d04]
mov edx, dword [esi + 0x48]
mov dword [esi + 0x4c], eax
mov ecx, edx
add esp, 4
shl ecx, 4
add eax, ecx
mov dword [esp + 0x10], edi
add ecx, eax
mov dword [esi + 0x50], eax
mov eax, dword [esi + 0x5c]
cmp edx, edi
mov dword [esi + 0x54], ecx
jle 0x4a6149
mov ecx, dword [esp + 0x18]
mov edx, dword [eax + 0x1c]
test ecx, ecx
jle 0x4a5f9b
mov ebx, dword [ebx + 0x4c]
lea ecx, [edx*8]
sub ecx, edx
movsx ecx, word [ebx + ecx*8]
mov dword [esp + 0x24], ecx
mov ecx, dword [ebp + 0x40]
test ecx, ecx
je 0x4a5f8f
movsx ebx, word [ebp + 0x3e]
cmp dword [esp + 0x24], ebx
jge 0x4a5f8f
mov ebx, dword [esp + 0x24]
mov cx, word [ecx + ebx*2]
mov ebx, dword [esp + 0x28]
movsx ecx, cx
jmp 0x4a5f9d
mov ebx, dword [esp + 0x28]
or ecx, 0xffffffff
movsx ecx, cx
jmp 0x4a5f9d
mov ecx, edx
shl ecx, 6
fld dword [esp + ecx + 0x4a8]
fmul dword [eax + 0x2c]
fld dword [esp + ecx + 0x498]
lea ecx, [esp + ecx + 0x478]
fmul dword [eax + 0x28]
faddp st(1)
fld dword [ecx + 0x10]
fmul dword [eax + 0x24]
faddp st(1)
fld dword [ecx + 0x34]
fmul dword [eax + 0x2c]
fld dword [ecx + 0x24]
fmul dword [eax + 0x28]
faddp st(1)
fld dword [ecx + 0x14]
fmul dword [eax + 0x24]
faddp st(1)
fstp dword [esp + 0x40]
fld dword [ecx + 0x38]
fmul dword [eax + 0x2c]
fld dword [ecx + 0x28]
fmul dword [eax + 0x28]
faddp st(1)
fld dword [ecx + 0x18]
fmul dword [eax + 0x24]
faddp st(1)
fstp dword [esp + 0x44]
fadd dword [ecx]
fmul dword [eax + 0x20]
fld dword [esp + 0x40]
fadd dword [ecx + 4]
fmul dword [eax + 0x20]
fstp dword [esp + 0x4c]
fld dword [esp + 0x44]
fadd dword [ecx + 8]
mov ecx, dword [esp + 0x18]
test ecx, ecx
fmul dword [eax + 0x20]
fstp dword [esp + 0x50]
jle 0x4a6077
lea ecx, [edx*8]
sub ecx, edx
mov edx, dword [ebx + 0x4c]
movsx edx, word [edx + ecx*8]
mov ecx, dword [ebp + 0x40]
test ecx, ecx
je 0x4a604b
movsx ebx, word [ebp + 0x3e]
cmp edx, ebx
mov ebx, dword [esp + 0x28]
jge 0x4a604b
mov cx, word [ecx + edx*2]
jmp 0x4a604e
or ecx, 0xffffffff
movsx ecx, cx
shl ecx, 6
fld dword [esp + ecx + 0x4a8]
fmul dword [eax + 8]
fld dword [esp + ecx + 0x498]
lea ecx, [esp + ecx + 0x488]
fmul dword [eax + 4]
faddp st(1)
fld dword [eax]
fmul dword [ecx]
jmp 0x4a609b
shl edx, 6
fld dword [esp + edx + 0x4a8]
fmul dword [eax + 8]
fld dword [esp + edx + 0x498]
lea ecx, [esp + edx + 0x488]
fmul dword [eax + 4]
faddp st(1)
fld dword [ecx]
fmul dword [eax]
faddp st(1)
fld dword [ecx + 0x24]
fmul dword [eax + 8]
fld dword [ecx + 0x14]
fmul dword [eax + 4]
mov edx, dword [esi + 0x4c]
add eax, 0x30
add edi, 0x10
faddp st(1)
fld dword [ecx + 4]
fmul dword [eax - 0x30]
faddp st(1)
fld dword [ecx + 0x28]
fmul dword [eax - 0x28]
fld dword [ecx + 0x18]
fmul dword [eax - 0x2c]
faddp st(1)
fld dword [ecx + 8]
fmul dword [eax - 0x30]
faddp st(1)
fstp dword [esp + 0x5c]
fxch st(2)
fstp dword [edi + edx - 0x10]
mov ecx, dword [esi + 0x4c]
fld dword [esp + 0x4c]
fstp dword [edi + ecx - 0xc]
mov edx, dword [esi + 0x4c]
fld dword [esp + 0x50]
fstp dword [edi + edx - 8]
mov ecx, dword [esi + 0x50]
fstp dword [edi + ecx - 0x10]
mov edx, dword [esi + 0x50]
fstp dword [edx + edi - 0xc]
mov ecx, dword [esi + 0x50]
fld dword [esp + 0x5c]
fstp dword [ecx + edi - 8]
mov edx, dword [esi + 0x54]
mov ecx, dword [eax - 0x24]
mov dword [edi + edx - 0x10], ecx
mov edx, dword [esi + 0x54]
mov ecx, dword [eax - 0x20]
mov dword [edx + edi - 0xc], ecx
mov edx, dword [esi + 0x54]
mov ecx, dword [eax - 0x24]
mov dword [edx + edi - 8], ecx
mov edx, dword [esi + 0x54]
mov ecx, dword [eax - 0x20]
mov dword [edx + edi - 4], ecx
mov ecx, dword [esp + 0x10]
mov edx, dword [esi + 0x48]
inc ecx
cmp ecx, edx
mov dword [esp + 0x10], ecx
jl 0x4a5f4e
xor edi, edi
mov esi, dword [esi + 0x64]
mov eax, dword [esp + 0x20]
mov ecx, dword [ebx + 0x44]
inc eax
cmp eax, ecx
mov dword [esp + 0x20], eax
jl 0x4a5f0e
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x30]
mov ecx, dword [ebp + 0x1d4]
inc eax
add edx, 2
cmp eax, ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x30], edx
jl 0x4a5ec8
mov ebx, dword [esp + 0x2c]
mov eax, dword [0x1313d40]
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x34]
inc ecx
mov edx, dword [eax + 0x40c]
sub edi, 0x2f4
add ebx, 0x2f4
cmp ecx, edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x34], edi
mov dword [esp + 0x2c], ebx
jl 0x4a5cf3
mov edx, dword [eax + 0x40c]
pop edi
mov dword [0x13147a4], edx
mov ecx, dword [eax + 0x410]
mov dword [0x13147a8], ecx
mov edx, dword [eax + 0x404]
mov dword [0x13147ac], edx
mov eax, dword [eax + 0x408]
pop esi
pop ebp
mov dword [0x13147b0], eax
pop ebx
add esp, 0x2468
ret