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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2c
push ebx
push esi
push edi
mov edi, ecx
mov eax, dword [edi + 0x54]
cmp eax, dword [0x503d7c]
mov dword [esp + 0x18], edi
je 0x49cb92
call sym.XR_3DA.exe_private:_void___thiscall_CCF_Skeleton::BuildTopLevel_void_
mov esi, dword [edi + 4]
fld dword [esi + 0x60]
mov ebx, dword [ebp + 8]
fmul dword [edi + 0x28]
fld dword [edi + 0x24]
fmul dword [esi + 0x50]
faddp st(1)
fld dword [esi + 0x70]
fmul dword [edi + 0x2c]
faddp st(1)
fadd dword [esi + 0x80]
fstp dword [esp + 0x28]
fld dword [esi + 0x64]
fmul dword [edi + 0x28]
fld dword [esi + 0x54]
fmul dword [edi + 0x24]
faddp st(1)
fld dword [esi + 0x74]
fmul dword [edi + 0x2c]
faddp st(1)
fadd dword [esi + 0x84]
fstp dword [esp + 0x2c]
fld dword [esi + 0x68]
fmul dword [edi + 0x28]
fld dword [esi + 0x58]
fmul dword [edi + 0x24]
faddp st(1)
fld dword [esi + 0x78]
fmul dword [edi + 0x2c]
faddp st(1)
fadd dword [esi + 0x88]
fstp dword [esp + 0x30]
fld dword [edi + 0x30]
fstp dword [esp + 0x34]
fld dword [ebx + 0x18]
fstp dword [esp + 0x14]
fld dword [ebx]
fsub dword [esp + 0x28]
fstp dword [esp + 0x1c]
fld dword [ebx + 4]
fsub dword [esp + 0x2c]
fstp dword [esp + 0x20]
fld dword [ebx + 8]
fsub dword [esp + 0x30]
fstp dword [esp + 0x24]
fld dword [esp + 0x14]
fld st(0)
fmul st(0), st(0)
fstp dword [esp + 0x10]
fld dword [ebx + 0x10]
fld dword [esp + 0x20]
fld st(0)
fmulp st(2)
fld dword [ebx + 0xc]
fld dword [esp + 0x1c]
fld st(0)
fmulp st(2)
fxch st(3)
faddp st(1)
fld dword [ebx + 0x14]
fld dword [esp + 0x24]
fld st(0)
fmulp st(2)
fxch st(2)
faddp st(1)
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fmul st(4)
fstp dword [esp + 0xc]
fld dword [esp + 0xc]
fld st(0)
fld dword [esp + 0x34]
fld st(1)
fmulp st(2)
fld st(5)
fmulp st(6)
fld st(4)
fmulp st(5)
fxch st(5)
faddp st(4)
fld st(2)
fmulp st(3)
fxch st(3)
faddp st(2)
fxch st(1)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fld st(3)
fmulp st(4)
fsubrp st(3)
fxch st(2)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fld dword [esp + 0x10]
fld st(0)
fmulp st(2)
fxch st(2)
fsubrp st(1)
fstp dword [esp + 0x1c]
fldz
fld dword [esp + 0x1c]
fcom st(1)
fnstsw ax
test ah, 5
jnp 0x49cf45
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x49cd4f
fstp st(4)
push ecx
fstp st(0)
fstp st(0)
fstp st(0)
fstp dword [esp]
call fcn.004223d0
fstp dword [esp + 0x20]
add esp, 4
fld dword [esp + 0x10]
fld1
fdivrp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0xc]
fld st(0)
fchs
fld dword [esp + 0x1c]
fld st(0)
fsubp st(2)
fld dword [esp + 0x14]
fld st(0)
fmulp st(3)
fld dword [esp + 0x10]
fld st(0)
fmulp st(4)
fxch st(3)
fstp dword [esp + 0x1c]
fxch st(1)
fsubrp st(3)
fld st(0)
fmulp st(3)
fxch st(2)
fmulp st(1)
fstp dword [esp + 0x20]
fldz
fld dword [esp + 0x1c]
fcom st(1)
fnstsw ax
test ah, 1
je 0x49cd72
fstp st(2)
fstp st(1)
fcomp dword [esp + 0x20]
fnstsw ax
test ah, 0x41
jp 0x49cf4f
jmp 0x49cd81
fstp st(0)
fxch st(2)
fchs
fdivrp st(1)
fmul st(2)
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x49cf4b
jmp 0x49cd74
fstp st(1)
fcompp
fnstsw ax
test ah, 0x41
je 0x49cf4f
mov ecx, dword [0x503d7c]
cmp dword [edi + 0x50], ecx
jne 0x49cdc4
mov esi, dword [esi + 0x90]
test esi, esi
je 0x49cda1
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
mov ecx, esi
call eax
jmp 0x49cda3
xor eax, eax
mov ecx, dword [eax + 0xa4]
cmp ecx, dword [edi + 0x38]
jne 0x49cdb9
mov edx, dword [eax + 0xa8]
cmp edx, dword [edi + 0x3c]
je 0x49cdcb
mov eax, dword [0x503d7c]
add eax, 0xffffffff
mov dword [edi + 0x50], eax
mov ecx, edi
call sym.XR_3DA.exe_private:_void___thiscall_CCF_Skeleton::BuildState_void_
lea ecx, [esp + 0xc]
lea esi, [edi + 0x40]
push ecx
mov ecx, esi
mov dword [esp + 0x18], 0
call fcn.0041a340
lea edx, [esp + 0x1c]
push edx
mov ecx, esi
call fcn.0041a700
push eax
lea ecx, [esp + 0x10]
call fcn.0041ca70
test al, al
je 0x49cf38
lea ecx, [esp + 0xc]
call fcn.004191c0
cmp word [eax + 0x4e], 0xffff
je 0x49cf10
cmp word [eax + 0x4c], 0
je 0x49cf10
fld dword [ebx + 0x18]
lea ecx, [esp + 0xc]
fstp dword [esp + 0x10]
call fcn.004191c0
movzx eax, word [eax + 0x4c]
sub eax, 1
je 0x49ce9c
sub eax, 1
je 0x49ce78
sub eax, 1
jne 0x49cf10
lea ecx, [esp + 0xc]
call fcn.004191c0
push eax
lea esi, [esp + 0x14]
lea ecx, [ebx + 0xc]
mov edx, ebx
call fcn.00437960
cmp eax, 2
je 0x49ced2
test byte [ebx + 0x1c], 1
jne 0x49cf10
cmp eax, 1
je 0x49ced2
jmp 0x49cf10
lea ecx, [esp + 0xc]
call fcn.004191c0
mov ecx, dword [ebx + 0x1c]
and ecx, 1
push ecx
push eax
lea esi, [esp + 0x18]
lea ecx, [ebx + 0xc]
mov edx, ebx
call fcn.004372d0
add esp, 8
jmp 0x49cece
lea ecx, [esp + 0xc]
call fcn.004191c0
lea ecx, [esp + 0xc]
mov esi, eax
call fcn.004191c0
mov edx, dword [ebx + 0x1c]
and edx, 1
push edx
lea ecx, [esp + 0x14]
push ecx
add esi, 0x40
push esi
push eax
lea ecx, [ebx + 0xc]
mov edx, ebx
call fcn.00437160
add esp, 0x10
test al, al
je 0x49cf10
lea ecx, [esp + 0xc]
mov dword [esp + 0x14], 1
call fcn.004191c0
fld dword [esp + 0x10]
mov edx, dword [ebx + 0x1c]
movzx edi, word [eax + 0x4e]
mov eax, dword [esp + 0x18]
mov esi, dword [ebp + 0xc]
and edx, 4
push edx
push ecx
mov ecx, dword [eax + 4]
fstp dword [esp]
push ecx
call fcn.00437060
test byte [ebx + 0x1c], 2
jne 0x49cf38
mov edi, dword [esp + 0x18]
lea ecx, [esp + 0xc]
call fcn.00420720
lea edx, [esp + 0x1c]
push edx
lea ecx, [edi + 0x40]
call fcn.0041a700
push eax
lea ecx, [esp + 0x10]
call fcn.0041ca70
test al, al
jne 0x49ce00
mov eax, dword [esp + 0x14]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
fstp st(4)
fstp st(3)
fstp st(2)
fstp st(1)
fstp st(0)
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 8