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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x2e4
push ebx
push esi
push edi
mov ebx, ecx
mov dword [esp + 0x48], ebx
movss xmm0, dword [0x68b4fc]
movss xmm2, dword [0x68b4fc]
mov al, byte [ebp + 0x10]
movss dword [esp + 0x20], xmm0
movss xmm0, dword [0x68b4fc]
movss dword [esp + 0x24], xmm0
movss xmm0, dword [0x68b4fc]
movss dword [esp + 0x28], xmm0
movss xmm0, dword [0x68b500]
movss dword [esp + 0x2c], xmm0
movaps xmm3, xmmword [esp + 0x20]
movss dword [esp + 0x20], xmm2
movss xmm2, dword [0x68c850]
movss dword [esp + 0x24], xmm2
movss xmm2, dword [0x68b4fc]
movss dword [esp + 0x28], xmm2
movss xmm2, dword [0x68b4fc]
movss dword [esp + 0x2c], xmm2
movaps xmm2, xmmword [esp + 0x20]
movaps xmm0, xmm3
shufps xmm0, xmm3, 0x39
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x39
movaps xmm5, xmm2
xor esi, esi
movaps xmm4, xmm1
unpckhps xmm5, xmm3
shufps xmm4, xmm1, 0x39
shufps xmm2, xmm5, 0xc4
push 8
mov dword [esp + 0x40], esi
mov dword [esp + 0x48], esi
movaps xmmword [esp + 0xa4], xmm4
movaps xmmword [esp + 0xb4], xmm1
movaps xmmword [esp + 0xc4], xmm0
movaps xmmword [esp + 0xd4], xmm2
mov byte [ebx + 0x1d4], al
mov byte [ebx + 0x1d0], al
call fcn.004ea7e0
mov edx, dword [ebp + 8]
mov dword [0x6d977c], esi
mov ecx, dword [ebx + 0x3a4]
mov eax, dword [ebx + 0x3a8]
add esp, 4
mov dword [ebx + 0x9c], ecx
push edx
mov ecx, 0x725b50
mov dword [ebx + 0x90], esi
mov dword [ebx + 0x94], esi
mov dword [ebx + 0x98], eax
mov dword [ebx + 0xa0], esi
call fcn.005f0ec0
cmp eax, esi
je 0x4c2013
mov cl, byte [ebp + 0x10]
test cl, cl
je 0x4c1fc0
movaps xmm0, xmmword [eax + 0x10]
movaps xmmword [esp + 0xa0], xmm0
movaps xmm0, xmmword [eax + 0x20]
movaps xmmword [esp + 0xb0], xmm0
movaps xmm0, xmmword [eax + 0x30]
movaps xmmword [esp + 0xc0], xmm0
movaps xmm0, xmmword [eax + 0x40]
movaps xmmword [esp + 0xd0], xmm0
jmp 0x4c201b
movss xmm1, dword [0x68b500]
movaps xmm0, xmmword [eax + 0x40]
movss dword [esp + 0x20], xmm1
movss xmm1, dword [0x68b4fc]
movss dword [esp + 0x24], xmm1
movss xmm1, dword [0x68b4fc]
movss dword [esp + 0x28], xmm1
movss xmm1, dword [0x68b4fc]
movss dword [esp + 0x2c], xmm1
movaps xmm1, xmmword [esp + 0x20]
shufps xmm1, xmm0, 0xe0
shufps xmm0, xmm1, 0x24
movaps xmmword [esp + 0xd0], xmm0
jmp 0x4c201b
movaps xmm0, xmmword [esp + 0xd0]
movaps xmm1, xmmword [esp + 0xa0]
movaps xmmword [ebx + 0x220], xmm1
movaps xmm1, xmmword [esp + 0xb0]
movaps xmmword [ebx + 0x230], xmm1
movaps xmm1, xmmword [esp + 0xc0]
movaps xmmword [ebx + 0x240], xmm1
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
movaps xmmword [esp + 0x80], xmm1
mov eax, dword [esp + 0x80]
movaps xmmword [ebx + 0x250], xmm0
mov dword [0x725c78], eax
xor eax, eax
lea esp, [esp]
mov esi, dword [ebp + 0xc]
mov edi, dword [esi + 0x6c]
lea ecx, [eax + eax*2]
shl ecx, 4
add edi, ecx
mov dword [esp + 0x54], ecx
mov ecx, dword [0x76ba40]
test ecx, ecx
je 0x4c20ae
cmp dword [ebx + 0x380], 0x7f
jne 0x4c20ae
movzx ecx, byte [0x744b21]
lea ecx, [ecx + ecx*2]
shl ecx, 5
cmp eax, dword [ecx + 0x6cdac4]
je 0x4c2824
cmp dword [ebx + 0x380], 0x80
jne 0x4c20d3
movzx ecx, byte [0x744b49]
lea edx, [ecx + ecx*2]
shl edx, 5
cmp eax, dword [edx + 0x6cdac4]
je 0x4c2824
mov cx, word [edi]
cmp cx, 0x8000
jne 0x4c2259
cmp word [edi + 0xa], cx
jbe 0x4c2259
mov eax, dword [0x6f2258]
test eax, eax
je 0x4c2824
lea eax, [esp + 0x270]
push eax
mov ecx, edi
call fcn.0060f0c0
push eax
lea ecx, [esp + 0x134]
push ecx
lea ecx, [esp + 0xa8]
call fcn.006020a0
mov ecx, dword [0x6f2258]
movaps xmm0, xmmword [eax]
add ecx, 0x10
movaps xmmword [ecx], xmm0
movaps xmm0, xmmword [eax + 0x10]
movaps xmmword [ecx + 0x10], xmm0
movaps xmm0, xmmword [eax + 0x20]
movaps xmmword [ecx + 0x20], xmm0
movaps xmm0, xmmword [eax + 0x30]
movaps xmmword [ecx + 0x30], xmm0
call fcn.004ea8a0
cmp byte [eax + 9], 0xb
je 0x4c2824
mov dword [eax + 0x1c8], 0x3fcccccd
mov ecx, dword [0x6f2258]
movaps xmm0, xmmword [ecx + 0x10]
movaps xmmword [eax + 0x10], xmm0
movaps xmm0, xmmword [ecx + 0x20]
movaps xmmword [eax + 0x20], xmm0
movaps xmm0, xmmword [ecx + 0x30]
movaps xmmword [eax + 0x30], xmm0
movaps xmm0, xmmword [ecx + 0x40]
movaps xmmword [eax + 0x40], xmm0
movss xmm0, dword [0x68b4fc]
mov edx, dword [0x6f2258]
add ecx, 0x10
movss dword [esp + 0x20], xmm0
movss xmm0, dword [0x68b610]
movss dword [esp + 0x24], xmm0
movss xmm0, dword [0x68b610]
movss dword [esp + 0x28], xmm0
movss xmm0, dword [0x68b4fc]
mov dword [eax + 0xe0], edx
mov ecx, dword [0x6f2258]
movaps xmm1, xmmword [ecx + 0x40]
movaps xmm3, xmmword [ecx + 0x30]
movss dword [esp + 0x2c], xmm0
movaps xmm0, xmmword [esp + 0x20]
movaps xmm2, xmm0
shufps xmm2, xmm0, 0xaa
mulps xmm3, xmm2
movaps xmm2, xmmword [ecx + 0x20]
addps xmm3, xmm1
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
mulps xmm2, xmm1
movaps xmm1, xmm0
shufps xmm1, xmm0, 0
movaps xmm0, xmmword [ecx + 0x10]
mulps xmm0, xmm1
movss xmm1, dword [0x68b500]
movss dword [esp + 0x70], xmm1
movss xmm1, dword [0x68b4fc]
movss dword [esp + 0x74], xmm1
movss xmm1, dword [0x68b4fc]
movss dword [esp + 0x78], xmm1
movss xmm1, dword [0x68b4fc]
movss dword [esp + 0x7c], xmm1
movaps xmm1, xmmword [esp + 0x70]
addps xmm2, xmm3
addps xmm0, xmm2
shufps xmm1, xmm0, 0xe0
shufps xmm0, xmm1, 0x24
movaps xmmword [eax + 0x40], xmm0
jmp 0x4c2824
cmp cx, 0x7fc
jne 0x4c2393
movaps xmm0, xmmword [edi + 0x10]
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xff
movaps xmmword [esp + 0x100], xmm1
mov eax, dword [esp + 0x100]
lea ecx, [esp + 0x120]
push ecx
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1c], eax
call fcn.0046b1e0
movaps xmm0, xmmword [edi + 0x20]
shufps xmm0, xmm0, 0xff
lea edx, [esp + 0x5c]
mov dword [esp + 0x5c], 0x3fff0000
movss xmm1, dword [edx]
movaps xmm2, xmm1
shufps xmm2, xmm1, 0
movaps xmm1, xmm0
shufps xmm1, xmm0, 0
movaps xmm0, xmmword [esp + 0x120]
mulps xmm0, xmm1
mulps xmm0, xmm2
xorps xmm1, xmm1
lea eax, [esp + 0x110]
shufps xmm1, xmm0, 0x20
shufps xmm0, xmm1, 0x24
push eax
lea ecx, [esp + 0x5c]
movaps xmmword [esp + 0x114], xmm0
call fcn.0046b160
fld dword [0x68b4fc]
movaps xmm0, xmmword [edi + 0x10]
movaps xmmword [esp + 0xe0], xmm0
fld dword [esp + 0xe0]
movaps xmm0, xmmword [edi + 0x10]
mov ecx, dword [esp + 0xe0]
fucompp
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
movaps xmm0, xmmword [edi + 0x10]
movaps xmmword [esp + 0x80], xmm1
fnstsw ax
mov edx, dword [esp + 0x80]
test ah, 0x44
movaps xmm1, xmm0
shufps xmm1, xmm0, 0xaa
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x4c], edx
movaps xmmword [esp + 0xf0], xmm1
jp 0x4c2351
mov dword [esp + 0x1c], 0x41200000
fld dword [esp + 0x80]
fcomp dword [esp + 0x1c]
fnstsw ax
test ah, 0x41
jp 0x4c236d
fld dword [esp + 0x1c]
fadd st(0), st(0)
fstp dword [esp + 0x4c]
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x1c]
push eax
mov eax, dword [esp + 0x5c]
push ecx
push edx
push eax
mov ecx, 0x6d9770
call fcn.00481fd0
jmp 0x4c2824
mov cx, word [edi + 0xa]
cmp cx, 0x8000
jbe 0x4c2799
push 0x4a
push 0x80
push eax
mov ecx, esi
call fcn.0060f550
mov esi, eax
test esi, esi
mov dword [esp + 0x18], esi
je 0x4c2821
push 0x8000
mov ecx, esi
call fcn.005f0080
mov ecx, dword [esi + 4]
mov bx, word [edi + 8]
or ecx, 0xa0000
mov dword [esi + 4], ecx
lea edi, [esi + 0x10]
push edi
lea ecx, [esp + 0x1f4]
push ecx
lea ecx, [esp + 0xa8]
mov dword [esp + 0x48], eax
call fcn.006020a0
movaps xmm0, xmmword [eax]
movaps xmmword [edi], xmm0
movaps xmm0, xmmword [eax + 0x10]
movaps xmmword [edi + 0x10], xmm0
movaps xmm0, xmmword [eax + 0x20]
movaps xmmword [edi + 0x20], xmm0
movaps xmm0, xmmword [eax + 0x30]
movaps xmmword [edi + 0x30], xmm0
mov eax, dword [esi + 0x5c]
test eax, eax
jne 0x4c242e
cmp bx, 0xffff
jne 0x4c242e
mov eax, dword [esi + 0x74]
test eax, eax
je 0x4c242e
or dword [esi + 4], 2
push 0
mov ecx, esi
call fcn.005eff70
mov eax, dword [esp + 0x3c]
test eax, eax
jne 0x4c2443
mov dword [esp + 0x3c], esi
mov eax, dword [0x6f2258]
test eax, eax
je 0x4c25b6
mov ecx, dword [esp + 0x40]
test ecx, ecx
je 0x4c25b6
lea edx, [esp + 0x170]
push edx
call fcn.0060f0c0
push eax
lea eax, [esp + 0x1b4]
push eax
mov ecx, edi
call fcn.006020a0
mov ecx, dword [0x6f2258]
movaps xmm0, xmmword [eax]
add ecx, 0x10
movaps xmmword [ecx], xmm0
movaps xmm0, xmmword [eax + 0x10]
movaps xmmword [ecx + 0x10], xmm0
movaps xmm0, xmmword [eax + 0x20]
movaps xmmword [ecx + 0x20], xmm0
movaps xmm0, xmmword [eax + 0x30]
movaps xmmword [ecx + 0x30], xmm0
call fcn.004ea8a0
mov dword [eax + 0x1c8], 0x3fcccccd
mov ecx, dword [0x6f2258]
movaps xmm0, xmmword [ecx + 0x10]
movaps xmmword [eax + 0x10], xmm0
movaps xmm0, xmmword [ecx + 0x20]
movaps xmmword [eax + 0x20], xmm0
movaps xmm0, xmmword [ecx + 0x30]
movaps xmmword [eax + 0x30], xmm0
movaps xmm0, xmmword [ecx + 0x40]
movaps xmmword [eax + 0x40], xmm0
movss xmm0, dword [0x68b4fc]
add ecx, 0x10
mov ecx, dword [0x6f2258]
movaps xmm1, xmmword [ecx + 0x40]
movaps xmm3, xmmword [ecx + 0x30]
movss dword [esp + 0x90], xmm0
movss xmm0, dword [0x68b610]
movss dword [esp + 0x94], xmm0
movss xmm0, dword [0x68b610]
movss dword [esp + 0x98], xmm0
movss xmm0, dword [0x68b4fc]
movss dword [esp + 0x9c], xmm0
movaps xmm0, xmmword [esp + 0x90]
movaps xmm2, xmm0
shufps xmm2, xmm0, 0xaa
mulps xmm3, xmm2
movaps xmm2, xmmword [ecx + 0x20]
addps xmm3, xmm1
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
mulps xmm2, xmm1
movaps xmm1, xmm0
shufps xmm1, xmm0, 0
movaps xmm0, xmmword [ecx + 0x10]
mulps xmm0, xmm1
movss xmm1, dword [0x68b500]
movss dword [esp + 0x60], xmm1
movss xmm1, dword [0x68b4fc]
movss dword [esp + 0x64], xmm1
movss xmm1, dword [0x68b4fc]
movss dword [esp + 0x68], xmm1
movss xmm1, dword [0x68b4fc]
movss dword [esp + 0x6c], xmm1
movaps xmm1, xmmword [esp + 0x60]
addps xmm2, xmm3
addps xmm0, xmm2
shufps xmm1, xmm0, 0xe0
shufps xmm0, xmm1, 0x24
movaps xmmword [eax + 0x40], xmm0
mov ecx, dword [0x6f2258]
mov dword [eax + 0xe0], ecx
cmp bx, 0xffff
je 0x4c2781
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x6c]
movzx esi, bx
lea edi, [esi + esi*2]
shl edi, 4
add edi, eax
mov ax, word [edi + 0xa]
cmp ax, 0x1000
mov dword [esp + 0x50], edi
jae 0x4c2671
cmp ax, 0xb
jne 0x4c2720
push esi
push 8
push ecx
call fcn.004a5c60
mov ecx, dword [ebp + 0xc]
mov esi, eax
add esp, 0xc
test esi, esi
je 0x4c2720
mov edi, dword [edi + 0xc]
mov eax, dword [ecx + 0x68]
push 0x48
push ebx
push esi
add edi, eax
call fcn.00616540
movzx edx, word [edi]
mov dword [esp + 0x40], edx
fild dword [esp + 0x40]
fstp dword [esi + 0x80]
mov cl, byte [edi + 3]
cmp cl, 1
sete al
mov byte [esi + 0x84], al
mov cx, word [edi + 0xa]
mov word [esi + 0xa0], cx
mov dx, word [edi + 0xc]
mov word [esi + 0xa2], dx
mov eax, dword [edi + 0x10]
mov dword [esi + 0xa4], eax
mov cx, word [edi + 4]
mov word [esi + 0xc], cx
mov al, byte [edi + 2]
test al, al
je 0x4c26a6
push esi
call fcn.004808e0
add esp, 4
jmp 0x4c26a6
push 0xf
push esi
call fcn.0060da40
test eax, eax
je 0x4c271d
mov edx, dword [ebp + 0xc]
push esi
push 8
push edx
call fcn.004a5c60
mov esi, eax
add esp, 0xc
test esi, esi
je 0x4c271d
mov ecx, dword [ebp + 0xc]
push 0x48
push ebx
push esi
call fcn.00616540
push 0
mov ecx, esi
call fcn.005eff70
mov edx, dword [esi + 4]
or edx, 0x80000
mov ecx, esi
mov dword [esi + 4], edx
call fcn.005ef620
test al, al
je 0x4c26cd
or dword [esi + 4], 0x20000
mov ecx, esi
call fcn.005ef660
mov ecx, dword [esp + 0x18]
lea edi, [esi + 0x10]
push edi
lea eax, [esp + 0x234]
push eax
add ecx, 0x10
call fcn.006020a0
movaps xmm0, xmmword [eax]
movaps xmmword [edi], xmm0
movaps xmm0, xmmword [eax + 0x10]
movaps xmmword [edi + 0x10], xmm0
movaps xmm0, xmmword [eax + 0x20]
movaps xmmword [edi + 0x20], xmm0
movaps xmm0, xmmword [eax + 0x30]
push 0
push esi
mov ecx, 0x725b20
movaps xmmword [edi + 0x30], xmm0
call fcn.005f2300
mov edi, dword [esp + 0x50]
jmp 0x4c276e
mov ecx, dword [ebp + 0xc]
push 0x48
push 0x80
push ebx
call fcn.0060f550
mov esi, eax
test esi, esi
je 0x4c276e
push 0
mov ecx, esi
call fcn.005eff70
mov ecx, esi
call fcn.005ef620
test al, al
mov ebx, dword [esp + 0x18]
je 0x4c2752
or dword [ebx + 4], 0x20000
test dword [esi + 4], 0x10000
je 0x4c2766
push esi
mov ecx, 0x725b70
call fcn.00401cb0
push esi
mov ecx, ebx
call fcn.005ef6a0
mov bx, word [edi + 6]
cmp bx, 0xffff
jne 0x4c25c1
mov esi, dword [esp + 0x18]
mov ecx, esi
call fcn.005ef660
mov ecx, esi
call fcn.005efb20
fstp st(0)
push 0
push esi
jmp 0x4c2813
cmp cx, 0x1000
jae 0x4c27b5
push 0
lea ecx, [esp + 0xa4]
push ecx
push eax
push esi
mov ecx, ebx
call fcn.004bf380
jmp 0x4c2824
push 0x48
push 0x80
push eax
mov ecx, esi
call fcn.0060f550
mov edi, eax
test edi, edi
je 0x4c2824
push 0
mov ecx, edi
call fcn.005eff70
mov ecx, edi
call fcn.005ef660
lea esi, [edi + 0x10]
push esi
lea edx, [esp + 0x2b4]
push edx
lea ecx, [esp + 0xa8]
call fcn.006020a0
movaps xmm0, xmmword [eax]
movaps xmmword [esi], xmm0
movaps xmm0, xmmword [eax + 0x10]
movaps xmmword [esi + 0x10], xmm0
movaps xmm0, xmmword [eax + 0x20]
movaps xmmword [esi + 0x20], xmm0
movaps xmm0, xmmword [eax + 0x30]
push 0
movaps xmmword [esi + 0x30], xmm0
push edi
mov ecx, 0x725b20
call fcn.005f2300
mov ebx, dword [esp + 0x48]
mov esi, dword [ebp + 0xc]
mov eax, dword [esi + 0x6c]
mov ecx, dword [esp + 0x54]
movzx eax, word [eax + ecx + 6]
cmp eax, 0xffff
jne 0x4c2070
mov ecx, dword [0x725b70]
mov eax, dword [ecx]
test eax, eax
je 0x4c2897
mov dl, 6
lea esp, [esp]
mov ecx, dword [ecx + 8]
cmp byte [ecx + 8], dl
jne 0x4c288f
mov esi, dword [ecx + 0xa0]
sub esi, 0
je 0x4c2888
dec esi
jne 0x4c288f
mov esi, dword [esp + 0x44]
mov edi, esi
inc esi
test edi, edi
mov dword [esp + 0x44], esi
jne 0x4c288f
movaps xmm0, xmmword [ecx + 0x30]
xorps xmm1, xmm1
subps xmm1, xmm0
movaps xmmword [0x725c10], xmm1
jmp 0x4c288f
mov byte [ebx + 0x1d4], 0
mov ecx, eax
mov eax, dword [eax]
test eax, eax
jne 0x4c2850
mov ecx, 0x725c80
call fcn.005ee600
mov eax, dword [esp + 0x3c]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc