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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x310
lea eax, [esp + 0x240]
push 0
push 1
push dword [ebp + 0xc]
push eax
call fcn.00432df0
add esp, 0x10
movdqa xmm0, xmmword [0x80ab10]
movdqa xmmword [esp + 0x70], xmm0
movdqa xmm1, xmmword [0x80ab20]
movdqa xmmword [esp + 0x80], xmm1
movaps xmm2, xmmword [0x80ab30]
movaps xmmword [esp + 0x90], xmm2
movaps xmm3, xmmword [0x80ab40]
movaps xmmword [esp + 0xa0], xmm3
xorps xmm4, xmm4
movaps xmmword [esp + 0x20], xmm4
movaps xmmword [esp + 0x30], xmm4
movaps xmmword [esp + 0x40], xmm4
movaps xmmword [esp + 0x50], xmm4
movaps xmm4, xmmword [esp + 0x240]
movdqa xmm5, xmmword [esp + 0x250]
movaps xmmword [esp + 0xb0], xmm4
movdqa xmmword [esp + 0xc0], xmm5
movaps xmm4, xmmword [esp + 0x260]
movaps xmmword [esp + 0xd0], xmm4
movdqa xmm4, xmmword [esp + 0x270]
movdqa xmmword [esp + 0xe0], xmm4
movaps xmmword [esp + 0x130], xmm3
movaps xmmword [esp + 0x120], xmm2
movdqa xmmword [esp + 0x110], xmm1
movdqa xmmword [esp + 0x100], xmm0
xor eax, eax
mov ecx, 0x1bf
nop word [eax + eax]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xc]
shr ecx, 3
mov edx, dword [ebp + 0x10]
movzx ecx, byte [edx + ecx]
mov edx, ecx
and dl, 0xfc
cmp dword [esp + 0xc], 0x1bf
mov esi, 0xff
cmove ecx, esi
cmp dword [esp + 0xc], 8
movzx edx, dl
cmovae edx, ecx
movzx ecx, dl
mov edx, dword [esp + 0xc]
and edx, 7
bt ecx, edx
mov ecx, 0
sbb ecx, ecx
mov edx, ecx
mov dword [esp + 0x18c], ecx
mov edi, dword [esp + 0x70]
mov esi, dword [esp + 0xb0]
mov ecx, esi
xor ecx, edi
mov ebx, edi
movd xmm0, eax
mov eax, dword [esp + 0xd4]
mov dword [esp], eax
movd xmm2, eax
punpckldq xmm2, xmm0
movd xmm0, edx
mov eax, dword [esp + 0x94]
mov dword [esp + 8], eax
movd xmm1, eax
movdqa xmmword [esp + 0x220], xmm0
punpckldq xmm1, xmm0
pxor xmm1, xmm2
pshufd xmm0, xmm1, 0x55
movd edx, xmm0
and ecx, edx
xor ebx, ecx
mov dword [esp + 0x1c], ebx
xor ecx, esi
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0xb4]
mov esi, eax
xor esi, ecx
and esi, edx
xor ecx, esi
mov dword [esp + 0x18], ecx
xor esi, eax
mov dword [esp + 0x68], esi
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0xb8]
mov esi, eax
xor esi, ecx
and esi, edx
xor ecx, esi
mov dword [esp + 0x14], ecx
xor esi, eax
mov dword [esp + 0x64], esi
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0xbc]
mov esi, eax
xor esi, ecx
and esi, edx
xor ecx, esi
mov dword [esp + 4], ecx
xor esi, eax
mov dword [esp + 0x60], esi
mov edi, dword [esp + 0x90]
mov ecx, dword [esp + 0xd0]
mov esi, ecx
xor esi, edi
and esi, edx
xor edi, esi
mov dword [esp + 0x178], edi
xor esi, ecx
mov dword [esp + 0xfc], esi
movd ecx, xmm1
and ecx, edx
mov eax, dword [esp + 8]
xor eax, ecx
mov dword [esp + 8], eax
xor ecx, dword [esp]
mov dword [esp + 0x188], ecx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x70], ebx
mov ebx, dword [esp + 0x6c]
mov dword [esp + 0xb0], ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x74], ebx
mov ebx, dword [esp + 0x68]
mov dword [esp + 0xb4], ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x78], ebx
mov ebx, dword [esp + 0x64]
mov dword [esp + 0xb8], ebx
mov ebx, dword [esp + 4]
mov dword [esp + 0x7c], ebx
mov ebx, dword [esp + 0x60]
mov dword [esp + 0xbc], ebx
mov dword [esp + 0x90], edi
mov dword [esp + 0xd0], esi
mov dword [esp + 0x94], eax
mov dword [esp + 0xd4], ecx
mov esi, dword [esp + 0xa8]
mov eax, dword [esp + 0xe8]
mov ecx, eax
xor ecx, esi
and ecx, edx
xor esi, ecx
mov dword [esp], esi
xor ecx, eax
mov dword [esp + 0x184], ecx
mov dword [esp + 0xa8], esi
mov dword [esp + 0xe8], ecx
mov ecx, dword [esp + 0xac]
mov eax, dword [esp + 0xec]
mov esi, eax
xor esi, ecx
and esi, edx
xor ecx, esi
mov edi, ecx
mov dword [esp + 0x10], ecx
xor esi, eax
mov dword [esp + 0x180], esi
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x100]
mov ebx, ecx
xor ebx, eax
and ebx, edx
xor eax, ebx
mov dword [esp + 0x16c], eax
xor ebx, ecx
mov dword [esp + 0x17c], ebx
mov dword [esp + 0x20], eax
mov dword [esp + 0x100], ebx
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x104]
mov ebx, eax
xor ebx, ecx
and ebx, edx
xor ecx, ebx
mov dword [esp + 0x164], ecx
xor ebx, eax
mov dword [esp + 0x174], ebx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x104], ebx
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x108]
mov ebx, eax
xor ebx, ecx
and ebx, edx
xor ecx, ebx
mov dword [esp + 0x160], ecx
xor ebx, eax
mov dword [esp + 0x170], ebx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x108], ebx
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x10c]
mov ebx, eax
xor ebx, ecx
and ebx, edx
xor ecx, ebx
mov dword [esp + 0x15c], ecx
xor ebx, eax
mov dword [esp + 0x168], ebx
mov dword [esp + 0xac], edi
mov dword [esp + 0xec], esi
mov dword [esp + 0x2c], ecx
movdqa xmm1, xmmword [esp + 0x20]
paddd xmm1, xmmword [esp + 0x70]
mov dword [esp + 0x10c], ebx
movdqa xmmword [esp + 0x190], xmm1
movdqa xmm2, xmmword [esp + 0x40]
movdqa xmm1, xmmword [esp + 0x120]
movdqa xmm4, xmm1
pxor xmm4, xmm2
pand xmm4, xmm0
pxor xmm1, xmm4
movdqa xmmword [esp + 0x120], xmm1
pxor xmm4, xmm2
movdqa xmm5, xmmword [esp + 0x50]
movdqa xmm2, xmmword [esp + 0x130]
movdqa xmm3, xmm2
pxor xmm3, xmm5
pand xmm3, xmm0
movdqa xmmword [esp + 0x210], xmm0
pxor xmm2, xmm3
pxor xmm3, xmm5
pshufd xmm5, xmm4, 0x55
pshufd xmm6, xmm3, 0xee
movd edx, xmm5
pshufd xmm5, xmm3, 0xff
movd esi, xmm6
movdqu xmm6, xmmword [esp + 0x98]
movd ebx, xmm5
movdqu xmm7, xmmword [esp + 0xd8]
movdqa xmm5, xmm7
pxor xmm5, xmm6
pand xmm5, xmm0
pxor xmm6, xmm5
pxor xmm5, xmm7
movd dword [esp + 0x98], xmm6
pshufd xmm7, xmm6, 0x55
movd dword [esp + 0x9c], xmm7
pshufd xmm7, xmm6, 0xee
movd dword [esp + 0xa0], xmm7
pshufd xmm7, xmm6, 0xff
movd dword [esp + 0xa4], xmm7
movdqa xmm7, xmmword [esp + 0x90]
paddd xmm7, xmm4
movd dword [esp + 0x158], xmm4
shufps xmm4, xmm3, 0x4e
psubd xmm6, xmm4
movdqa xmm0, xmmword [0x80a8c0]
paddd xmm6, xmm0
pshufd xmm4, xmm6, 0xff
movd eax, xmm4
neg edx
mov ecx, dword [esp + 8]
lea edi, [ecx + edx]
add edi, 0x1ffffffe
neg esi
mov ecx, dword [esp]
lea edx, [ecx + esi]
add edx, 0x1ffffffe
neg ebx
mov ecx, dword [esp + 0x10]
add ecx, ebx
add ecx, 0x1ffffffe
mov ebx, ecx
and ecx, 0xfffffff
mov esi, edx
shr esi, 0x1c
add esi, ecx
mov dword [esp + 0x20c], esi
and edx, 0xfffffff
shr eax, 0x1c
add eax, edx
mov dword [esp + 0x208], eax
movdqa xmmword [esp + 0x1b0], xmm7
paddd xmm3, xmmword [esp + 0xa0]
movdqa xmmword [esp + 0x1c0], xmm3
movdqa xmm3, xmm6
movd xmm4, edi
mov edx, edi
shufps xmm4, xmm6, 0xe4
shufps xmm6, xmm4, 0x24
movdqa xmmword [esp + 0x230], xmm1
pshufd xmm4, xmm1, 0xee
movdqa xmm0, xmmword [0x80a8d0]
pand xmm3, xmm0
shufps xmm6, xmm6, 0x93
psrld xmm6, 0x1c
paddd xmm6, xmm3
pshufd xmm3, xmm1, 0xff
movdqu xmmword [esp + 0x1f8], xmm6
pshufd xmm6, xmm2, 0x55
movd dword [esp + 0xd8], xmm5
movd dword [esp + 0x154], xmm4
pshufd xmm4, xmm5, 0x55
movd dword [esp + 0xdc], xmm4
movd dword [esp + 0x150], xmm3
pshufd xmm3, xmm5, 0xee
movd dword [esp + 0xe0], xmm3
movd dword [esp + 0x14c], xmm6
pshufd xmm6, xmm5, 0xff
movd dword [esp + 0xe4], xmm6
movd dword [esp + 8], xmm5
movdqa xmm7, xmmword [esp + 0x80]
movd dword [esp], xmm4
movdqa xmm4, xmmword [esp + 0xc0]
movdqa xmm5, xmm4
pxor xmm5, xmm7
movdqa xmm0, xmmword [esp + 0x210]
pand xmm5, xmm0
pxor xmm7, xmm5
pxor xmm5, xmm4
movd dword [esp + 0x80], xmm7
pshufd xmm4, xmm7, 0x55
movd dword [esp + 0x84], xmm4
movdqa xmmword [esp + 0x130], xmm2
movd dword [esp + 0x10], xmm3
movdqa xmm3, xmmword [esp + 0x30]
movdqa xmm4, xmmword [esp + 0x110]
movdqa xmm1, xmm4
pxor xmm1, xmm3
pand xmm1, xmm0
pxor xmm3, xmm1
pxor xmm1, xmm4
movd edi, xmm6
pshufd xmm6, xmm7, 0xee
pshufd xmm0, xmm7, 0xff
movdqa xmmword [esp + 0x210], xmm0
psubd xmm7, xmm3
paddd xmm7, xmmword [0x80a8c0]
pshufd xmm4, xmm7, 0xff
movd esi, xmm4
mov ecx, dword [esp + 4]
sub ecx, dword [esp + 0x15c]
add ecx, 0x1ffffffe
movd xmm4, ecx
shufps xmm4, xmm7, 0xe4
movdqa xmm0, xmm7
shufps xmm7, xmm4, 0x24
pand xmm0, xmmword [0x80a8d0]
shufps xmm7, xmm7, 0x93
psrld xmm7, 0x1c
paddd xmm7, xmm0
mov eax, dword [esp + 0x178]
sub eax, dword [esp + 0x158]
shr ebx, 0x1c
mov dword [esp + 4], ebx
add eax, ebx
add eax, 0x1ffffffc
mov ebx, edx
and ebx, 0xfffffff
mov edx, eax
shr edx, 0x1c
add edx, ebx
mov dword [esp + 0x1f4], edx
and eax, 0xfffffff
shr esi, 0x1c
add esi, eax
mov dword [esp + 0x1f0], esi
movdqa xmmword [esp + 0x1e0], xmm7
mov edx, dword [esp + 0x1c]
sub edx, dword [esp + 0x16c]
mov esi, dword [esp + 0x18]
sub esi, dword [esp + 0x164]
mov ebx, dword [esp + 0x14]
sub ebx, dword [esp + 0x160]
mov eax, dword [esp + 0x154]
sub dword [esp + 8], eax
mov eax, dword [esp + 0x150]
sub dword [esp], eax
movd eax, xmm2
sub dword [esp + 0x10], eax
sub edi, dword [esp + 0x14c]
add ebx, 0x1ffffffe
and ecx, 0xfffffff
mov eax, ebx
shr eax, 0x1c
add eax, ecx
mov dword [esp + 0x1dc], eax
add esi, 0x1ffffffe
and ebx, 0xfffffff
mov eax, esi
shr eax, 0x1c
add eax, ebx
mov dword [esp + 0x1d8], eax
add edx, 0x1ffffffe
and esi, 0xfffffff
mov eax, edx
shr eax, 0x1c
add eax, esi
mov dword [esp + 0x1d4], eax
mov eax, edx
and eax, 0xfffffff
add eax, dword [esp + 4]
mov dword [esp + 0x1d0], eax
mov eax, dword [esp + 0x17c]
sub dword [esp + 0x6c], eax
mov eax, dword [esp + 0x174]
sub dword [esp + 0x68], eax
mov eax, dword [esp + 0x170]
sub dword [esp + 0x64], eax
mov eax, dword [esp + 0x168]
sub dword [esp + 0x60], eax
movdqa xmm4, xmmword [esp + 0x230]
movd eax, xmm4
sub dword [esp + 0xfc], eax
movd eax, xmm1
neg eax
movd ecx, xmm5
add eax, ecx
add eax, 0x1ffffffe
mov dword [esp + 0x1c], eax
movd dword [esp + 0xc0], xmm5
movd dword [esp + 0x88], xmm6
pshufd xmm0, xmm5, 0x55
movd dword [esp + 0xc4], xmm0
movd eax, xmm0
pshufd xmm6, xmm1, 0x55
movd ecx, xmm6
neg ecx
add eax, ecx
add eax, 0x1ffffffe
mov dword [esp + 0x18], eax
pshufd xmm0, xmm4, 0x55
movd edx, xmm0
pshufd xmm0, xmm2, 0xee
movd eax, xmm0
pshufd xmm0, xmm5, 0xee
movd dword [esp + 0xc8], xmm0
movd ecx, xmm0
pshufd xmm7, xmm1, 0xee
movd esi, xmm7
neg esi
add ecx, esi
add ecx, 0x1ffffffe
mov dword [esp + 0x14], ecx
pshufd xmm0, xmm2, 0xff
pshufd xmm5, xmm5, 0xff
movd ecx, xmm0
pshufd xmm2, xmm1, 0xff
movd esi, xmm2
neg esi
movd ebx, xmm5
add esi, ebx
add esi, 0x1ffffffe
neg edx
mov ebx, dword [esp + 0x188]
add edx, ebx
add edx, 0x1ffffffe
neg eax
mov ebx, dword [esp + 0x184]
add eax, ebx
add eax, 0x1ffffffe
neg ecx
mov ebx, dword [esp + 0x180]
add ebx, ecx
add ebx, 0x1ffffffe
mov dword [esp + 4], ebx
and ebx, 0xfffffff
mov ecx, eax
shr ecx, 0x1c
add ecx, ebx
movaps xmm0, xmmword [esp + 0x210]
movss dword [esp + 0x8c], xmm0
movd dword [esp + 0x30], xmm3
pshufd xmm0, xmm3, 0x55
movd dword [esp + 0x34], xmm0
pshufd xmm0, xmm3, 0xee
movd dword [esp + 0x38], xmm0
movups xmm0, xmmword [esp + 0x34]
shufps xmm3, xmm0, 0xd7
unpcklps xmm0, xmmword [esp + 0x30]
mov dword [esp + 0x5c], ecx
add edi, 0x1ffffffe
and eax, 0xfffffff
mov ecx, edi
shr ecx, 0x1c
add ecx, eax
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x10]
add ecx, 0x1ffffffe
and edi, 0xfffffff
mov eax, ecx
shr eax, 0x1c
add eax, edi
mov dword [esp + 0x54], eax
mov edi, dword [esp]
add edi, 0x1ffffffe
and ecx, 0xfffffff
mov eax, edi
shr eax, 0x1c
add eax, ecx
mov dword [esp + 0x50], eax
mov ecx, dword [esp + 8]
add ecx, 0x1ffffffe
and edi, 0xfffffff
mov eax, ecx
shr eax, 0x1c
add eax, edi
mov dword [esp + 0x4c], eax
and ecx, 0xfffffff
mov eax, edx
shr eax, 0x1c
add eax, ecx
mov dword [esp + 0x48], eax
mov edi, dword [esp + 4]
shr edi, 0x1c
mov eax, dword [esp + 0xfc]
add eax, edi
add eax, 0x1ffffffc
and edx, 0xfffffff
mov ecx, eax
shr ecx, 0x1c
add ecx, edx
mov dword [esp + 0x44], ecx
and eax, 0xfffffff
mov ecx, esi
shr ecx, 0x1c
add ecx, eax
mov dword [esp + 0x40], ecx
and esi, 0xfffffff
mov ecx, dword [esp + 0x14]
mov eax, ecx
shr eax, 0x1c
add eax, esi
mov dword [esp + 0x3c], eax
and ecx, 0xfffffff
mov edx, ecx
mov ecx, dword [esp + 0x18]
mov eax, ecx
shr eax, 0x1c
add eax, edx
mov dword [esp + 0x38], eax
and ecx, 0xfffffff
mov edx, dword [esp + 0x1c]
mov eax, edx
shr eax, 0x1c
add eax, ecx
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x60]
add ecx, 0x1ffffffe
and edx, 0xfffffff
mov eax, ecx
shr eax, 0x1c
add eax, edx
mov dword [esp + 0x30], eax
mov edx, dword [esp + 0x64]
add edx, 0x1ffffffe
and ecx, 0xfffffff
mov eax, edx
shr eax, 0x1c
add eax, ecx
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x68]
add ecx, 0x1ffffffe
and edx, 0xfffffff
mov esi, edx
mov eax, ecx
mov edx, ecx
shr eax, 0x1c
add eax, esi
movd dword [esp + 0xcc], xmm5
movd dword [esp + 0x110], xmm1
movd dword [esp + 0x114], xmm6
movd dword [esp + 0x118], xmm7
shufps xmm0, xmm3, 0x21
paddd xmm0, xmmword [esp + 0x80]
movd dword [esp + 0x11c], xmm2
movdqa xmmword [esp + 0x1a0], xmm0
mov ecx, dword [esp + 0x6c]
add ecx, 0x1ffffffe
mov dword [esp + 0x28], eax
and edx, 0xfffffff
mov eax, ecx
shr eax, 0x1c
add eax, edx
mov dword [esp + 0x24], eax
and ecx, 0xfffffff
add ecx, edi
mov dword [esp + 0x20], ecx
lea eax, [esp + 0x20]
push eax
mov esi, eax
lea edi, [esp + 0x194]
push edi
lea eax, [esp + 0x78]
push eax
call fcn.004bb080
add esp, 0xc
movdqa xmm0, xmmword [esp + 0xb0]
movdqa xmm1, xmmword [esp + 0xc0]
paddd xmm0, xmmword [esp + 0x100]
movdqa xmmword [esp + 0x20], xmm0
paddd xmm1, xmmword [esp + 0x110]
movdqa xmmword [esp + 0x30], xmm1
movdqa xmm0, xmmword [esp + 0xd0]
paddd xmm0, xmmword [esp + 0x120]
movdqa xmmword [esp + 0x40], xmm0
movdqa xmm0, xmmword [esp + 0xe0]
paddd xmm0, xmmword [esp + 0x130]
movdqa xmmword [esp + 0x50], xmm0
push esi
mov edi, esi
lea ebx, [esp + 0x1d4]
push ebx
lea ebx, [esp + 0xb8]
push ebx
call fcn.004bb080
add esp, 0xc
movdqu xmm0, xmmword [esp + 0x84]
movdqu xmm1, xmmword [esp + 0x88]
punpckldq xmm1, xmm0
mov ecx, dword [esp + 0x94]
sub ecx, dword [esp + 0xd4]
add ecx, 0x1ffffffe
movdqu xmm0, xmmword [esp + 0x98]
movdqu xmm2, xmmword [esp + 0xd8]
psubd xmm0, xmm2
movdqa xmm5, xmmword [0x80a8c0]
paddd xmm0, xmm5
movq xmm2, qword [esp + 0xa8]
movq xmm3, qword [esp + 0xe8]
psubd xmm2, xmm3
movdqa xmm3, xmmword [0x80a8e0]
paddd xmm2, xmm3
pshufd xmm3, xmm2, 0x55
movd eax, xmm3
pshufd xmm3, xmm0, 0xff
punpckldq xmm3, xmm2
movdqa xmm4, xmmword [0x80a8f0]
pand xmm2, xmm4
psrld xmm3, 0x1c
paddd xmm3, xmm2
movq qword [esp + 0x138], xmm3
movdqa xmm2, xmm0
movd xmm3, ecx
shufps xmm3, xmm0, 0xe4
shufps xmm0, xmm3, 0x24
movdqu xmm3, xmmword [esp + 0xb4]
movdqa xmm4, xmmword [0x80a8d0]
pand xmm2, xmm4
shufps xmm0, xmm0, 0x93
psrld xmm0, 0x1c
paddd xmm0, xmm2
movdqu xmm2, xmmword [esp + 0xc8]
mov edx, dword [esp + 0x90]
sub edx, dword [esp + 0xd0]
shr eax, 0x1c
movdqu xmmword [esp + 0x128], xmm0
movdqu xmm0, xmmword [esp + 0x74]
psubd xmm0, xmm3
pshufd xmm1, xmm1, 0xe1
movd xmm3, dword [esp + 0xc4]
punpckldq xmm2, xmm3
movd xmm3, edx
pshufd xmm3, xmm3, 0
pshufd xmm2, xmm2, 0xe1
psubd xmm1, xmm2
movdqa xmm2, xmmword [0x80a900]
paddd xmm3, xmm2
shufps xmm3, xmm1, 0x23
shufps xmm1, xmm3, 0x24
movd xmm3, eax
movaps xmm2, xmmword [0x80a910]
shufps xmm3, xmm2, 0xe4
shufps xmm2, xmm3, 0x24
mov edx, dword [esp + 0x70]
sub edx, dword [esp + 0xb0]
add edx, 0x1ffffffe
and ecx, 0xfffffff
paddd xmm0, xmm5
paddd xmm2, xmm1
pshufd xmm1, xmm2, 0xff
movd esi, xmm1
shr esi, 0x1c
add esi, ecx
mov dword [esp + 0x124], esi
movdqa xmm1, xmm0
shufps xmm1, xmm2, 3
shufps xmm1, xmm2, 0x98
pand xmm2, xmm4
psrld xmm1, 0x1c
paddd xmm1, xmm2
movdqu xmmword [esp + 0x114], xmm1
movdqa xmm1, xmm0
movd xmm2, edx
shufps xmm2, xmm0, 0xe4
shufps xmm0, xmm2, 0x24
pand xmm1, xmm4
shufps xmm0, xmm0, 0x93
psrld xmm0, 0x1c
paddd xmm0, xmm1
movdqu xmmword [esp + 0x104], xmm0
and edx, 0xfffffff
add edx, eax
mov dword [esp + 0x100], edx
lea esi, [esp + 0x100]
push esi
push edi
call fcn.004bb9c0
add esp, 8
push edi
lea eax, [esp + 0x244]
push eax
push esi
call fcn.004bb080
add esp, 0xc
movdqa xmm0, xmmword [esp + 0xb0]
movdqa xmm1, xmmword [esp + 0xc0]
paddd xmm0, xmmword [esp + 0x70]
movdqa xmmword [esp + 0x20], xmm0
paddd xmm1, xmmword [esp + 0x80]
movdqa xmmword [esp + 0x30], xmm1
movdqa xmm0, xmmword [esp + 0xd0]
paddd xmm0, xmmword [esp + 0x90]
movdqa xmmword [esp + 0x40], xmm0
movdqa xmm0, xmmword [esp + 0xe0]
paddd xmm0, xmmword [esp + 0xa0]
movdqa xmmword [esp + 0x50], xmm0
push edi
push ebx
call fcn.004bb9c0
add esp, 8
lea ebx, [esp + 0x190]
push ebx
push edi
call fcn.004bb9c0
add esp, 8
lea eax, [esp + 0x1d0]
push eax
push ebx
call fcn.004bb9c0
add esp, 8
push ebx
push edi
lea eax, [esp + 0x78]
push eax
call fcn.004bb080
add esp, 0xc
movdqu xmm0, xmmword [esp + 0x34]
movdqu xmm1, xmmword [esp + 0x38]
punpckldq xmm1, xmm0
mov ecx, dword [esp + 0x44]
sub ecx, dword [esp + 0x1b4]
add ecx, 0x1ffffffe
movdqu xmm0, xmmword [esp + 0x48]
movdqu xmm2, xmmword [esp + 0x1b8]
psubd xmm0, xmm2
movdqa xmm4, xmmword [0x80a8c0]
paddd xmm0, xmm4
movq xmm2, qword [esp + 0x58]
movq xmm3, qword [esp + 0x1c8]
psubd xmm2, xmm3
paddd xmm2, xmmword [0x80a8e0]
pshufd xmm3, xmm2, 0x55
movd eax, xmm3
pshufd xmm3, xmm0, 0xff
punpckldq xmm3, xmm2
pand xmm2, xmmword [0x80a8f0]
psrld xmm3, 0x1c
paddd xmm3, xmm2
movq qword [esp + 0x208], xmm3
movdqa xmm2, xmm0
movd xmm3, ecx
shufps xmm3, xmm0, 0xe4
shufps xmm0, xmm3, 0x24
movdqu xmm3, xmmword [esp + 0x194]
movdqa xmm5, xmmword [0x80a8d0]
pand xmm2, xmm5
shufps xmm0, xmm0, 0x93
psrld xmm0, 0x1c
paddd xmm0, xmm2
movdqu xmm2, xmmword [esp + 0x1a8]
mov edx, dword [esp + 0x40]
sub edx, dword [esp + 0x1b0]
shr eax, 0x1c
movdqu xmmword [esp + 0x1f8], xmm0
movdqu xmm0, xmmword [esp + 0x24]
psubd xmm0, xmm3
pshufd xmm1, xmm1, 0xe1
movd xmm3, dword [esp + 0x1a4]
punpckldq xmm2, xmm3
movd xmm3, edx
pshufd xmm3, xmm3, 0
pshufd xmm2, xmm2, 0xe1
psubd xmm1, xmm2
paddd xmm3, xmmword [0x80a900]
shufps xmm3, xmm1, 0x23
shufps xmm1, xmm3, 0x24
movd xmm3, eax
movaps xmm2, xmmword [0x80a910]
shufps xmm3, xmm2, 0xe4
shufps xmm2, xmm3, 0x24
mov edx, dword [esp + 0x20]
sub edx, dword [esp + 0x190]
add edx, 0x1ffffffe
and ecx, 0xfffffff
paddd xmm0, xmm4
paddd xmm2, xmm1
pshufd xmm1, xmm2, 0xff
movd esi, xmm1
shr esi, 0x1c
add esi, ecx
mov dword [esp + 0x1f4], esi
movdqa xmm1, xmm0
shufps xmm1, xmm2, 3
shufps xmm1, xmm2, 0x98
pand xmm2, xmm5
psrld xmm1, 0x1c
paddd xmm1, xmm2
movdqu xmmword [esp + 0x1e4], xmm1
movdqa xmm1, xmm0
movd xmm2, edx
shufps xmm2, xmm0, 0xe4
shufps xmm0, xmm2, 0x24
pand xmm1, xmm5
shufps xmm0, xmm0, 0x93
psrld xmm0, 0x1c
paddd xmm0, xmm1
movdqu xmmword [esp + 0x1d4], xmm0
and edx, 0xfffffff
add edx, eax
mov dword [esp + 0x1d0], edx
push 0x98a9
lea esi, [esp + 0x1d4]
push esi
push ebx
call fcn.004bb720
add esp, 0xc
movdqa xmm0, xmmword [esp + 0x20]
movdqa xmm1, xmmword [esp + 0x30]
paddd xmm0, xmmword [esp + 0x190]
movdqa xmmword [esp + 0x190], xmm0
paddd xmm1, xmmword [esp + 0x1a0]
movdqa xmmword [esp + 0x1a0], xmm1
movdqa xmm0, xmmword [esp + 0x40]
paddd xmm0, xmmword [esp + 0x1b0]
movdqa xmmword [esp + 0x1b0], xmm0
movdqa xmm0, xmmword [esp + 0x50]
paddd xmm0, xmmword [esp + 0x1c0]
movdqa xmmword [esp + 0x1c0], xmm0
push ebx
push esi
push edi
call fcn.004bb080
mov ecx, dword [esp + 0x18]
add esp, 0xc
mov eax, dword [esp + 0x18c]
add ecx, 0xffffffff
jb 0x42f510
movdqa xmm3, xmmword [esp + 0x70]
movdqa xmm2, xmmword [esp + 0x80]
movdqa xmm4, xmmword [esp + 0xb0]
movdqa xmm1, xmmword [esp + 0xc0]
movdqa xmm5, xmm4
pxor xmm5, xmm3
pshufd xmm0, xmmword [esp + 0x220], 0
pand xmm5, xmm0
pxor xmm3, xmm5
movdqa xmmword [esp + 0x70], xmm3
pxor xmm5, xmm4
movdqa xmmword [esp + 0xb0], xmm5
movdqa xmm3, xmm1
pxor xmm3, xmm2
pand xmm3, xmm0
pxor xmm2, xmm3
movdqa xmmword [esp + 0x80], xmm2
pxor xmm3, xmm1
movdqa xmmword [esp + 0xc0], xmm3
movdqa xmm1, xmmword [esp + 0x90]
movdqa xmm2, xmmword [esp + 0xd0]
movdqa xmm3, xmm2
pxor xmm3, xmm1
pand xmm3, xmm0
pxor xmm1, xmm3
movdqa xmmword [esp + 0x90], xmm1
pxor xmm3, xmm2
movdqa xmmword [esp + 0xd0], xmm3
movdqa xmm1, xmmword [esp + 0xa0]
movdqa xmm2, xmmword [esp + 0xe0]
movdqa xmm3, xmm2
pxor xmm3, xmm1
pand xmm3, xmm0
pxor xmm1, xmm3
movdqa xmmword [esp + 0xa0], xmm1
pxor xmm3, xmm2
movdqa xmmword [esp + 0xe0], xmm3
movdqa xmm1, xmmword [esp + 0x20]
movdqa xmm2, xmmword [esp + 0x100]
movdqa xmm3, xmm2
pxor xmm3, xmm1
pand xmm3, xmm0
pxor xmm1, xmm3
movdqa xmmword [esp + 0x20], xmm1
pxor xmm3, xmm2
movdqa xmmword [esp + 0x100], xmm3
movdqa xmm1, xmmword [esp + 0x30]
movdqa xmm2, xmmword [esp + 0x110]
movdqa xmm3, xmm2
pxor xmm3, xmm1
pand xmm3, xmm0
pxor xmm1, xmm3
movdqa xmmword [esp + 0x30], xmm1
pxor xmm3, xmm2
movdqa xmmword [esp + 0x110], xmm3
movdqa xmm1, xmmword [esp + 0x40]
movdqa xmm2, xmmword [esp + 0x120]
movdqa xmm3, xmm2
pxor xmm3, xmm1
pand xmm3, xmm0
pxor xmm1, xmm3
movdqa xmmword [esp + 0x40], xmm1
pxor xmm3, xmm2
movdqa xmmword [esp + 0x120], xmm3
movdqa xmm1, xmmword [esp + 0x50]
movdqa xmm2, xmmword [esp + 0x130]
movdqa xmm3, xmm2
pxor xmm3, xmm1
pand xmm3, xmm0
pxor xmm1, xmm3
movdqa xmmword [esp + 0x50], xmm1
pxor xmm3, xmm2
movdqa xmmword [esp + 0x130], xmm3
lea esi, [esp + 0x2c0]
lea ebx, [esp + 0x20]
push ebx
push esi
call fcn.004bb9c0
add esp, 8
lea edi, [esp + 0x280]
push esi
push edi
call fcn.004332e0
add esp, 8
push edi
push esi
call fcn.004bb9c0
add esp, 8
push ebx
push esi
push edi
call fcn.004bb080
add esp, 0xc
movaps xmm0, xmmword [esp + 0x2b0]
movaps xmmword [esp + 0x50], xmm0
movaps xmm0, xmmword [esp + 0x2a0]
movaps xmmword [esp + 0x40], xmm0
movaps xmm0, xmmword [esp + 0x280]
movaps xmm1, xmmword [esp + 0x290]
movaps xmmword [esp + 0x30], xmm1
movaps xmmword [esp + 0x20], xmm0
push ebx
lea ebx, [esp + 0x74]
push ebx
lea edi, [esp + 0x248]
push edi
call fcn.004bb080
add esp, 0xc
push 1
push edi
push dword [ebp + 8]
call fcn.00432610
add esp, 0xc
push 0x80aa90
push edi
call fcn.00433270
add esp, 8
mov esi, eax
not esi
push 0x40
push edi
call fcn.00359a90
add esp, 8
push 0x40
push ebx
call fcn.00359a90
add esp, 8
push 0x40
lea eax, [esp + 0x24]
push eax
call fcn.00359a90
add esp, 8
push 0x40
lea eax, [esp + 0xb4]
push eax
call fcn.00359a90
add esp, 8
push 0x40
lea eax, [esp + 0x104]
push eax
call fcn.00359a90
add esp, 8
push 0x40
lea eax, [esp + 0x194]
push eax
call fcn.00359a90
add esp, 8
push 0x40
lea eax, [esp + 0x1d4]
push eax
call fcn.00359a90
add esp, 8
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret