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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
push esi
push edi
push ebx
mov eax, 0x20f4
call fcn.00497d00
mov ebx, dword [ebp + 8]
mov esi, dword [ebp + 0x18]
mov edi, dword [ebp + 0xc]
mov ecx, dword [0x52cfb4]
mov eax, dword [ebx + esi*4 + 0x14bc0]
xor ecx, esp
mov edx, dword [ebx + esi*4 + 0x14bb8]
mov esi, dword [edi + 0x12ec]
neg esi
mov dword [esp + 0x20ec], ecx
xor ecx, ecx
add esi, dword [ebp + 0x1c]
mov ebx, ecx
mov dword [esp + 0x14], esi
mov dword [edi + 0x12ac], edx
mov dword [esp + 0x10], edx
mov edx, edi
mov esi, ecx
mov edi, eax
push 0
push edx
push dword [ebp + 0x14]
push dword [ebp + 8]
call fcn.0045a900
mov edx, dword [ebp + 0xc]
add esp, 0x10
cmp edi, 1
je 0x46204b
cmp eax, dword [esp + 0x14]
je 0x460908
jle 0x4608a0
cmp esi, 2
je 0x4608e6
test ebx, ebx
je 0x460897
mov esi, edi
shr esi, 0x1f
add edi, esi
sar edi, 1
mov eax, edi
mov esi, 1
jmp 0x4608bb
cmp esi, 1
je 0x460901
test ebx, ebx
je 0x4608b2
mov esi, edi
shr esi, 0x1f
add edi, esi
sar edi, 1
mov eax, edi
mov esi, 2
neg eax
add eax, dword [edx + 0x12ac]
js 0x4608ed
cmp eax, 0xff
jle 0x4608db
mov dword [edx + 0x12ac], 0xff
mov ebx, 1
jmp 0x46085c
mov dword [edx + 0x12ac], eax
jmp 0x46085c
mov ebx, 1
jmp 0x46088e
mov dword [edx + 0x12ac], 0
mov ebx, 1
jmp 0x46085c
mov ebx, 1
jmp 0x4608a9
mov ebx, dword [ebp + 8]
mov edi, edx
mov edx, dword [esp + 0x10]
mov ecx, dword [edi + 0x12ac]
sub edx, ecx
mov esi, 4
mov ecx, 2
cmp edx, 4
cmovge ecx, esi
mov esi, dword [ebp + 0x18]
mov dword [ebx + esi*4 + 0x14bc0], ecx
mov ecx, dword [edi + 0x12ac]
mov dword [ebx + esi*4 + 0x14bb8], ecx
mov dword [edi + 0x12a0], eax
cmp dword [ebx + 0x20], 0
je 0x460de9
mov ecx, 0x1c0
pxor xmm0, xmm0
movdqu xmmword [esp + 0x2000], xmm0
movq qword [esp + 0x2010], xmm0
movd dword [esp + 0x2018], xmm0
pxor xmm0, xmm0
movdqu xmmword [esp + ecx + 0x1e30], xmm0
movdqu xmmword [esp + ecx + 0x1e20], xmm0
movdqu xmmword [esp + ecx + 0x1e10], xmm0
movdqu xmmword [esp + ecx + 0x1e00], xmm0
sub ecx, 0x40
jne 0x460978
lea ecx, [esp + 0x1e40]
lea esi, [esp + 0x2034]
lea eax, [esp + 0x2050]
push ecx
push esi
push eax
push dword [ebp + 0x10]
push edi
call fcn.00436960
mov ecx, dword [edi + 0x12a0]
lea esi, [esp + 0x9c4]
mov dword [esi + 0x1698], ecx
push 0x1484
push edi
push esi
call fcn.0048a330
lea esi, [esp + 0xd0]
push 0x900
push dword [ebp + 0x14]
push esi
call fcn.0048a330
add esp, 0x2c
xor eax, eax
mov dword [esp + 0x98], 0x98967f
mov dword [esp + 0x8c], eax
mov ecx, dword [ebx + 0x2c]
movss xmm0, dword [0x4ca268]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov edx, dword [ebx + 0x14c68]
and edx, 2
mov dword [esp + 0xa4], edx
mov edi, dword [esp + 0x1cac]
cmp dword [ebx + 0x14c64], 0
je 0x460a92
movss xmm0, dword [esp + edi*4 + 0x2050]
comiss xmm0, dword [0x4ca268]
ja 0x460d67
cmp dword [esp + 0x1c64], 2
jne 0x460a92
movss xmm0, dword [esp + edi*4 + 0x2054]
comiss xmm0, dword [0x4ca268]
ja 0x460d67
movss xmm0, dword [esp + edi*4 + 0x2058]
comiss xmm0, dword [0x4ca268]
ja 0x460d67
cmp dword [esp + 0x1c94], 0
movss xmm2, dword [0x4ca258]
je 0x460aac
movss xmm2, dword [0x4ca264]
test edi, edi
jle 0x460b17
cmp edi, 8
jl 0x460e17
mov edx, edi
xor esi, esi
and edx, 0xfffffff8
pxor xmm1, xmm1
movups xmm0, xmmword [esp + esi*4 + 0x2050]
maxps xmm0, xmm1
movups xmm1, xmmword [esp + esi*4 + 0x2060]
add esi, 8
maxps xmm1, xmm0
cmp esi, edx
jb 0x460ac4
movaps xmm0, xmm1
movhlps xmm0, xmm1
maxps xmm1, xmm0
movaps xmm3, xmm1
shufps xmm3, xmm1, 0xf5
maxss xmm1, xmm3
cmp edx, edi
jae 0x460b1b
movss xmm0, dword [esp + edx*4 + 0x2050]
movaps xmm3, xmm1
movaps xmm1, xmm0
inc edx
comiss xmm1, xmm3
ja 0x460b11
movaps xmm1, xmm3
cmp edx, edi
jb 0x460af9
jmp 0x460b1b
pxor xmm1, xmm1
mov esi, ecx
cmp ecx, 3
jne 0x460b37
mov esi, 1
mov edx, 2
cmp dword [esp + 0x94], 1
cmove esi, edx
cmp esi, 2
je 0x460b6f
cmp esi, 1
jne 0x460b50
comiss xmm1, dword [0x4ca268]
jbe 0x460b63
sqrtss xmm1, xmm1
jmp 0x460b6f
comiss xmm1, dword [0x4ca268]
jbe 0x460b63
movss xmm1, dword [0x4ca268]
jmp 0x460b6f
movss xmm0, dword [0x4ca260]
mulss xmm1, xmm0
test edi, edi
jle 0x460d67
xor esi, esi
movaps xmm0, xmm2
shufps xmm0, xmm0, 0
xor edx, edx
mov eax, dword [esp + edx*4 + 0x1cb8]
add esi, eax
comiss xmm1, dword [esp + edx*4 + 0x2050]
ja 0x460d35
mov ecx, dword [ebp + 8]
test byte [ecx + 0x14c68], 2
je 0x460bdc
mov ecx, dword [ebp + 8]
cmp dword [ecx + edx*4 + 0x14bc8], 0
jne 0x460bc2
mov ecx, dword [ebp + 8]
mov dword [ecx + edx*4 + 0x14bc8], 1
jmp 0x460bdc
mov ecx, dword [ebp + 8]
mov dword [ecx + edx*4 + 0x14bc8], 0
mov ecx, dword [ecx + 0x2c]
cmp ecx, 2
je 0x460d3e
mov ecx, eax
inc dword [esp + edx*4 + 0x1bb0]
neg ecx
jns 0x460d23
movss xmm3, dword [esp + 0x1c4c]
cmp eax, 8
jl 0x46203b
mov ebx, esi
sub ebx, eax
mov ecx, dword [ebp + 0x14]
lea ecx, [ecx + ebx*4]
and ecx, 0xf
je 0x460c1f
test cl, 3
jne 0x46203b
neg ecx
add ecx, 0x10
shr ecx, 2
lea ebx, [ecx + 8]
invalid