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

Disassembly:
sub esp, 0x54
xor ecx, ecx
xor eax, eax
inc ecx
push ebx
push ebp
push esi
push edi
mov edi, dword [0x65a600]
test byte [edi + 8], 2
mov byte [edi + 0x9b], al
je 0x4cc146
mov bh, cl
test byte [edi + 0xc], cl
jne 0x4cc148
mov bh, al
movaps xmm0, xmmword [0x50e430]
mov byte [esp + 0x15], bh
movups xmmword [esp + 0x40], xmm0
movaps xmm0, xmmword [0x50e440]
movups xmmword [esp + 0x50], xmm0
test bh, bh
je 0x4cc191
lea esi, [esp + 0x40]
mov ecx, dword [esi]
xor edx, edx
call fcn.004c7e3d
test al, al
je 0x4cc183
mov dword [edi + 0x47f8], 3
add esi, 4
lea eax, [esp + 0x60]
cmp esi, eax
jne 0x4cc16c
xor ecx, ecx
inc ecx
mov bl, byte [edi + 8]
movaps xmm0, xmmword [0x50e420]
and bl, cl
mov byte [esp + 0x16], bl
movups xmmword [esp + 0x24], xmm0
mov dword [esp + 0x34], 0x201
mov dword [esp + 0x38], 0x203
mov dword [esp + 0x3c], 0x204
je 0x4cc1e6
lea esi, [esp + 0x24]
mov ecx, dword [esi]
xor edx, edx
call fcn.004c7e3d
test al, al
je 0x4cc1db
mov dword [edi + 0x47f8], 2
add esi, 4
lea eax, [esp + 0x40]
cmp esi, eax
jne 0x4cc1c4
xor edx, edx
mov dword [edi + 0x47e4], edx
cmp dword [edi + 0x480c], edx
je 0x4cc1fd
call fcn.004cc78d
xor edx, edx
cmp byte [edi + 0x4834], 0
mov word [edi + 0x4805], 0
mov dword [edi + 0x480c], edx
je 0x4cc21c
call fcn.004cd0cb
xor edx, edx
cmp byte [edi + 0x4801], 0
mov al, dl
mov dword [edi + 0x4878], edx
mov word [edi + 0x4834], 0
mov dword [esp + 0x18], eax
je 0x4cc268
cmp byte [edi + 0x4800], 0
je 0x4cc268
cmp byte [edi + 0x4802], 0
jne 0x4cc268
cmp byte [edi + 0x4803], 0
je 0x4cc268
cmp dword [edi + 0x47c8], edx
push 1
movzx eax, al
pop ecx
cmovne eax, ecx
mov dword [esp + 0x18], eax
mov ecx, dword [edi + 0x47c8]
mov byte [edi + 0x4801], dl
test ecx, ecx
je 0x4cc2a3
mov eax, ecx
cmp dword [eax + 0x300], eax
je 0x4cc299
test dword [eax + 0xc], 0x14000000
jne 0x4cc295
mov eax, dword [eax + 0x2f8]
test eax, eax
jne 0x4cc27a
test eax, eax
je 0x4cc2a3
cmp eax, ecx
je 0x4cc2a3
mov dword [eax + 0x310], ecx
mov eax, dword [edi + 0x47c8]
test eax, eax
je 0x4cc2c3
cmp dword [eax + 0x310], edx
je 0x4cc2c3
cmp dword [edi + 0x47fc], edx
jne 0x4cc2c3
mov dword [eax + 0x310], edx
call fcn.004cdb3b
test bl, bl
jne 0x4cc2d0
test bh, bh
je 0x4cc2ec
mov eax, dword [edi + 0x47c8]
test eax, eax
je 0x4cc2ec
test dword [eax + 0xc], 0x40000
jne 0x4cc2ec
xor edx, edx
inc edx
xor ecx, ecx
mov al, dl
jmp 0x4cc2f3
xor ecx, ecx
xor edx, edx
mov al, cl
inc edx
mov byte [edi + 0x9d], al
test al, al
je 0x4cc30e
cmp dword [edi + 0x47cc], ecx
je 0x4cc30e
cmp byte [edi + 0x4802], 0
je 0x4cc318
mov al, cl
cmp dword [edi + 0x4934], ecx
je 0x4cc31a
mov al, dl
mov byte [edi + 0x9e], al
call fcn.004cd445
xor ecx, ecx
mov dword [edi + 0x47dc], ecx
mov dword [edi + 0x47d8], ecx
mov dword [edi + 0x47d4], ecx
mov dword [edi + 0x47e0], ecx
cmp dword [edi + 0x47cc], ecx
je 0x4cc4e4
cmp byte [edi + 0x4802], cl
jne 0x4cc4e4
cmp dword [edi + 0x4934], ecx
jne 0x4cc4e4
mov eax, dword [edi + 0x47c8]
test eax, eax
je 0x4cc4e4
test dword [eax + 0xc], 0x40000
jne 0x4cc4e4
mov ebp, 0x26e
lea esi, [ebp - 0x62]
test bl, bl
je 0x4cc397
xor edx, edx
mov ecx, esi
call fcn.004c7e3d
test al, al
jne 0x4cc3a8
test bh, bh
je 0x4cc3de
xor edx, edx
mov ecx, ebp
call fcn.004c7e3d
test al, al
je 0x4cc3de
xor ecx, ecx
inc ecx
mov byte [esp + 0x17], cl
test bl, bl
je 0x4cc3c3
push 0
xor edx, edx
mov ecx, esi
call fcn.004c7e6a
pop ecx
test al, al
jne 0x4cc3d7
test bh, bh
je 0x4cc3e3
push 0
xor edx, edx
mov ecx, ebp
call fcn.004c7e6a
pop ecx
test al, al
je 0x4cc3e3
xor eax, eax
inc eax
mov bl, al
jmp 0x4cc3e5
mov byte [esp + 0x17], 0
xor bl, bl
cmp byte [esp + 0x16], 0
mov ebp, 0x26d
lea esi, [ebp - 0x60]
je 0x4cc401
xor edx, edx
mov ecx, esi
call fcn.004c7e3d
test al, al
jne 0x4cc412
test bh, bh
je 0x4cc44c
xor edx, edx
mov ecx, ebp
call fcn.004c7e3d
test al, al
je 0x4cc44c
xor eax, eax
inc eax
cmp byte [esp + 0x16], 0
mov bh, al
je 0x4cc42e
push 0
xor edx, edx
mov ecx, esi
call fcn.004c7e6a
pop ecx
test al, al
jne 0x4cc445
cmp byte [esp + 0x15], 0
je 0x4cc44e
push 0
xor edx, edx
mov ecx, ebp
call fcn.004c7e6a
pop ecx
test al, al
je 0x4cc44e
xor eax, eax
lea edx, [eax + 1]
jmp 0x4cc450
xor bh, bh
xor dl, dl
mov ecx, dword [edi + 0x3e94]
test ecx, ecx
jne 0x4cc476
test bl, bl
je 0x4cc47e
mov eax, dword [edi + 0x47cc]
mov dword [edi + 0x47d4], eax
mov dword [edi + 0x47e0], 2
jmp 0x4cc47e
cmp ecx, dword [edi + 0x47cc]
jne 0x4cc4da
test dl, dl
je 0x4cc497
mov eax, dword [edi + 0x47cc]
mov dword [edi + 0x47d4], eax
xor eax, eax
inc eax
mov dword [edi + 0x47e0], eax
test ecx, ecx
je 0x4cc4a3
cmp ecx, dword [edi + 0x47cc]
jne 0x4cc4da
cmp byte [esp + 0x17], 0
jne 0x4cc4ae
test bh, bh
je 0x4cc4ba
mov eax, dword [edi + 0x47cc]
mov dword [edi + 0x47d8], eax
test ecx, ecx
je 0x4cc4c6
cmp ecx, dword [edi + 0x47cc]
jne 0x4cc4da
test bl, bl
jne 0x4cc4ce
test dl, dl
je 0x4cc4da
mov eax, dword [edi + 0x47cc]
mov dword [edi + 0x47dc], eax
mov bh, byte [esp + 0x15]
xor ecx, ecx
mov bl, byte [esp + 0x16]
mov eax, dword [edi + 0x47c8]
test eax, eax
je 0x4cc500
test dword [eax + 0xc], 0x40000
je 0x4cc500
xor eax, eax
inc eax
mov byte [edi + 0x4802], al
mov eax, dword [edi + 0x47f0]
test eax, eax
je 0x4cc528
mov dword [edi + 0x47dc], eax
mov dword [edi + 0x47d8], eax
mov dword [edi + 0x47d4], eax
mov eax, dword [edi + 0x47f4]
mov dword [edi + 0x47e0], eax
mov dword [edi + 0x47f0], ecx
call fcn.004cc830
cmp dword [edi + 0x4844], 0xffffffff
jne 0x4cc541
call fcn.004ccfff
call fcn.004cbdd4
mov esi, dword [edi + 0x47c8]
xor edx, edx
mov byte [edi + 0x4800], dl
test esi, esi
je 0x4cc71e
test dword [esi + 0xc], 0x40000
jne 0x4cc71e
cmp dword [edi + 0x4934], edx
jne 0x4cc71e
mov ecx, esi
call fcn.004bc78c
xorps xmm4, xmm4
mulss xmm0, dword [0x50e288]
mov ecx, dword [edi + 0x4844]
movss xmm2, dword [0x50e190]
mulss xmm0, dword [edi + 0x18]
addss xmm0, dword [0x50e140]
cvttss2si eax, xmm0
movd xmm3, eax
cvtdq2ps xmm3, xmm3
cmp word [esi + 0x14c], dx
jne 0x4cc63f
cmp byte [esi + 0x152], dl
je 0x4cc63f
cmp ecx, 0xffffffff
je 0x4cc63f
movss xmm1, dword [0x50e328]
test ecx, ecx
je 0x4cc5df
xor eax, eax
inc eax
cmp ecx, eax
jne 0x4cc60a
movaps xmm0, xmm2
jmp 0x4cc5e2
movaps xmm0, xmm1
mulss xmm0, xmm3
and dword [esi + 0x90], edx
and dword [esi + 0x98], edx
addss xmm0, dword [esi + 0x78]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x88], xmm0
cmp ecx, 2
je 0x4cc617
cmp ecx, 3
jne 0x4cc63f
movaps xmm1, xmm2
and dword [esi + 0x94], edx
mulss xmm1, xmm3
and dword [esi + 0x9c], edx
addss xmm1, dword [esi + 0x7c]
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x8c], xmm0
test bh, bh
je 0x4cc71e
push 0x27c
push 0x27b
push 0x27a
mov edx, 0x279
lea ecx, [esp + 0x28]
call fcn.004c7ab8
add esp, 0xc
xor edx, edx
mov ecx, 0x273
call fcn.004c7e3d
test al, al
je 0x4cc681
movss xmm2, dword [0x50e104]
jmp 0x4cc699
xor edx, edx
mov ecx, 0x274
call fcn.004c7e3d
test al, al
je 0x4cc699
movss xmm2, dword [0x50e228]
movss xmm0, dword [esp + 0x1c]
ucomiss xmm0, xmm4
lahf
test ah, 0x44
jnp 0x4cc6df
cmp byte [esi + 0xa8], 0
je 0x4cc6df
mulss xmm0, xmm3
and dword [esi + 0x90], 0
and dword [esi + 0x98], 0
mulss xmm0, xmm2
addss xmm0, dword [esi + 0x78]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x88], xmm0
movss xmm0, dword [esp + 0x20]
ucomiss xmm0, xmm4
lahf
test ah, 0x44
jnp 0x4cc71c
mulss xmm0, xmm3
and dword [esi + 0x94], 0
and dword [esi + 0x9c], 0
mulss xmm0, xmm2
addss xmm0, dword [esi + 0x7c]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x8c], xmm0
xor edx, edx
test bl, bl
jne 0x4cc737
test bh, bh
jne 0x4cc737
xor eax, eax
mov byte [edi + 0x4803], dl
inc eax
mov byte [edi + 0x4802], al
jmp 0x4cc77d
cmp byte [esp + 0x18], 0
je 0x4cc77d
test byte [edi + 8], 4
je 0x4cc77d
test byte [edi + 0xc], 4
je 0x4cc77d
lea ecx, [esp + 0x1c]
call fcn.004cbebb
mov edx, dword [eax]
mov ecx, edx
mov esi, dword [eax + 4]
mov eax, esi
mov dword [edi + 0x36ac], eax
xor eax, eax
inc eax
mov dword [edi + 0x36a8], ecx
mov dword [edi + 0xdc0], edx
mov dword [edi + 0xdc4], esi
mov byte [edi + 0x9b], al
xor eax, eax
mov dword [edi + 0x4870], eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret