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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x410
mov edi, edx
mov ebx, ecx
mov eax, dword [0x10443bf0]
xor eax, ebp
mov dword [esp + 0x408], eax
lea esi, [esp + 0x208]
push 0x200
push 0xff
push esi
call fcn.1023e960
add esp, 0xc
mov eax, dword [edi]
mov ecx, dword [edi + 4]
bswap ecx
bswap eax
mov dword [esi - 0x7c], eax
mov dword [esi - 0x80], ecx
mov eax, dword [edi + 8]
mov ecx, dword [edi + 0xc]
bswap eax
bswap ecx
mov dword [esi - 0x78], ecx
mov dword [esi - 0x74], eax
mov eax, dword [edi + 0x10]
mov ecx, dword [edi + 0x14]
bswap ecx
bswap eax
mov dword [esi - 0x6c], eax
mov dword [esi - 0x70], ecx
mov eax, dword [edi + 0x18]
mov ecx, dword [edi + 0x1c]
bswap ecx
bswap eax
mov dword [esi - 0x64], eax
mov dword [esi - 0x68], ecx
mov eax, dword [edi + 0x20]
mov ecx, dword [edi + 0x24]
bswap ecx
bswap eax
mov dword [esi - 0x5c], eax
mov dword [esi - 0x60], ecx
mov eax, dword [edi + 0x28]
mov ecx, dword [edi + 0x2c]
bswap ecx
bswap eax
mov dword [esi - 0x54], eax
mov dword [esi - 0x58], ecx
mov eax, dword [edi + 0x30]
mov ecx, dword [edi + 0x34]
bswap ecx
bswap eax
mov dword [esi - 0x4c], eax
mov dword [esi - 0x50], ecx
mov eax, dword [edi + 0x38]
mov ecx, dword [edi + 0x3c]
bswap ecx
bswap eax
mov dword [esi - 0x44], eax
mov dword [esi - 0x48], ecx
mov eax, dword [edi + 0x40]
mov ecx, dword [edi + 0x44]
bswap ecx
bswap eax
mov dword [esi - 0x3c], eax
mov dword [esi - 0x40], ecx
mov eax, dword [edi + 0x48]
mov ecx, dword [edi + 0x4c]
bswap ecx
bswap eax
mov dword [esi - 0x34], eax
mov dword [esi - 0x38], ecx
mov eax, dword [edi + 0x50]
mov ecx, dword [edi + 0x54]
bswap ecx
bswap eax
mov dword [esi - 0x2c], eax
mov dword [esi - 0x30], ecx
mov eax, dword [edi + 0x58]
mov ecx, dword [edi + 0x5c]
bswap ecx
bswap eax
mov dword [esi - 0x24], eax
mov dword [esi - 0x28], ecx
mov eax, dword [edi + 0x60]
mov ecx, dword [edi + 0x64]
bswap ecx
bswap eax
mov dword [esi - 0x1c], eax
mov dword [esi - 0x20], ecx
mov eax, dword [edi + 0x68]
mov ecx, dword [edi + 0x6c]
bswap ecx
bswap eax
mov dword [esi - 0x14], eax
mov dword [esi - 0x18], ecx
mov eax, dword [edi + 0x70]
mov ecx, dword [edi + 0x74]
bswap ecx
bswap eax
mov dword [esi - 0xc], eax
mov dword [esi - 0x10], ecx
mov eax, dword [edi + 0x78]
mov ecx, dword [edi + 0x7c]
bswap ecx
bswap eax
mov dword [esi - 4], eax
mov dword [esi - 8], ecx
movdqu xmm6, xmmword [ebx + 8]
movdqu xmm5, xmmword [ebx + 0x18]
movdqu xmm4, xmmword [ebx + 0x28]
mov dword [esp + 0x118], ebx
movdqu xmm3, xmmword [ebx + 0x38]
pshufd xmm0, xmm6, 0x55
movd edx, xmm0
pshufd xmm0, xmm5, 0x55
movd dword [esp + 0x10], xmm0
pshufd xmm0, xmm5, 0xff
movd dword [esp + 0x48], xmm0
pshufd xmm0, xmm5, 0xee
movd dword [esp + 0xd8], xmm0
pshufd xmm0, xmm4, 0x55
movd edi, xmm0
pshufd xmm0, xmm3, 0x55
pshufd xmm1, xmm3, 0xff
pshufd xmm2, xmm3, 0xee
movdqa xmm7, xmm6
punpckhqdq xmm7, xmm4
movdqa xmmword [esp + 0x100], xmm7
movd dword [esp + 8], xmm0
movd dword [esp + 0xc], xmm1
movd dword [esp], xmm2
movdqa xmmword [esp + 0x140], xmm6
movd esi, xmm6
movdqa xmmword [esp + 0x150], xmm5
movd dword [esp + 0x2c], xmm5
movdqa xmmword [esp + 0x160], xmm4
movd dword [esp + 0x50], xmm4
movdqa xmmword [esp + 0x170], xmm3
movd dword [esp + 0x80], xmm3
mov dword [esp + 0x64], 0
mov ecx, 7
cmp dword [esp + 0x64], 1
mov dword [esp + 0x14], edx
mov dword [esp + 4], esi
mov dword [esp + 0x90], edi
mov dword [esp + 0xdc], ecx
ja 0x10144641
mov eax, dword [esp + 0x64]
lea edx, [eax*8]
mov esi, edx
or esi, 1
mov dword [esp + 0xbc], esi
mov esi, edx
or esi, 2
mov dword [esp + 0xb0], esi
mov esi, edx
or esi, 3
mov dword [esp + 0xb4], esi
mov esi, edx
or esi, 4
mov dword [esp + 0xb8], esi
mov esi, edx
or esi, 5
mov dword [esp + 0xc4], esi
mov esi, edx
or esi, 6
mov dword [esp + 0xac], esi
or edx, 7
mov dword [esp + 0xd4], edx
mov eax, dword [esp + ecx*8 + 0x150]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + ecx*8 + 0x154]
mov dword [esp + 0x20], eax
mov eax, dword [esp + ecx*8 + 0x15c]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + ecx*8 + 0x158]
mov dword [esp + 0x68], eax
mov eax, dword [esp + ecx*8 + 0x164]
mov dword [esp + 0x24], eax
mov eax, dword [esp + ecx*8 + 0x160]
mov dword [esp + 0x28], eax
mov eax, dword [esp + ecx*8 + 0x16c]
mov dword [esp + 0x120], eax
mov eax, dword [esp + ecx*8 + 0x168]
mov dword [esp + 0x130], eax
mov eax, dword [esp + ecx*8 + 0x174]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + ecx*8 + 0x170]
mov dword [esp + 0x70], eax
mov eax, dword [esp + ecx*8 + 0x17c]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + ecx*8 + 0x178]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + ecx*8 + 0x184]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + ecx*8 + 0x180]
mov dword [esp + 0x18], eax
mov eax, dword [esp + ecx*8 + 0x18c]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + ecx*8 + 0x188]
mov dword [esp + 0xcc], eax
jmp 0x10144c62
mov esi, dword [esp + ecx*8 + 0x148]
mov edx, dword [esp + ecx*8 + 0x14c]
mov dword [esp + 0x18], edx
mov ebx, edx
shld ebx, esi, 0xd
mov eax, esi
shld eax, edx, 0xd
mov edi, esi
shld edi, edx, 3
xor edi, ebx
mov ebx, edx
shld ebx, esi, 3
movd xmm0, esi
movdqa xmmword [esp + 0xf0], xmm0
xor ebx, eax
shrd esi, edx, 6
xor esi, edi
mov dword [esp + 0x30], esi
shr edx, 6
xor edx, ebx
mov dword [esp + 0x70], edx
movdqu xmm1, xmmword [esp + ecx*8 + 0x138]
movdqa xmmword [esp + 0xe0], xmm1
pshufd xmm0, xmm1, 0xee
movd esi, xmm0
pshufd xmm0, xmm1, 0xff
movd edi, xmm0
mov ebx, edi
shld ebx, esi, 0xd
mov eax, esi
shld eax, edi, 3
xor eax, ebx
mov ebx, esi
shld ebx, edi, 0xd
mov edx, ecx
mov ecx, edi
shld ecx, esi, 3
shrd esi, edi, 6
xor ecx, ebx
xor esi, eax
shr edi, 6
xor edi, ecx
movups xmm0, xmmword [esp + edx*8 + 0xd8]
movaps xmm1, xmm0
movaps xmm3, xmm0
movaps xmm5, xmm0
movd xmm6, esi
movd xmm2, edi
mov edi, dword [esp + 0x90]
punpcklqdq xmm2, xmm6
movaps xmm6, xmm0
shufps xmm2, xmm0, 0x42
psrlq xmm0, 1
psllq xmm1, 0x3f
por xmm1, xmm0
movdqu xmm0, xmmword [esp + edx*8 + 0x118]
psrlq xmm3, 8
psllq xmm5, 0x38
por xmm5, xmm3
movdqu xmm7, xmmword [esp + edx*8 + 0xe0]
pxor xmm5, xmm1
psrlq xmm6, 7
pxor xmm6, xmm5
movd xmm1, dword [esp + 0x70]
movd xmm3, dword [esp + 0x30]
punpckldq xmm3, xmm1
movq xmm1, qword [esp + edx*8 + 0xd0]
punpcklqdq xmm1, xmm3
paddq xmm1, xmm0
paddq xmm1, xmm6
movdqu xmm0, xmmword [esp + edx*8 + 0x128]
paddq xmm0, xmm7
movdqa xmmword [esp + 0x70], xmm0
paddq xmm2, xmm1
movdqu xmmword [esp + edx*8 + 0x150], xmm2
movss xmm0, dword [esp + edx*8 + 0xe8]
movss xmm5, dword [esp + edx*8 + 0xec]
movlhps xmm5, xmm0
movdqa xmm0, xmm2
movdqa xmm6, xmm2
movdqa xmm1, xmm2
shufps xmm1, xmm5, 0x24
psrlq xmm0, 0x13
movaps xmm5, xmm1
psrlq xmm5, 1
movsd xmm5, xmm0
psllq xmm6, 0x2d
movaps xmm0, xmm1
psllq xmm0, 0x3f
movsd xmm0, xmm6
movdqa xmm6, xmm2
orpd xmm0, xmm5
psrlq xmm6, 0x3d
movaps xmm7, xmm1
psrlq xmm7, 8
movsd xmm7, xmm6
movdqa xmm6, xmm2
movdqa xmmword [esp + 0x30], xmm2
psllq xmm6, 3
movaps xmm5, xmm1
psllq xmm5, 0x38
movsd xmm5, xmm6
orpd xmm5, xmm7
movdqa xmm6, xmm2
xorpd xmm5, xmm0
pshufd xmm7, xmm2, 0x4e
psrlq xmm6, 6
psrlq xmm1, 7
movsd xmm1, xmm6
xorpd xmm1, xmm5
movapd xmm2, xmm1
movdqu xmm3, xmmword [esp + edx*8 + 0xf0]
movdqa xmm6, xmm7
punpcklqdq xmm6, xmm3
movdqa xmm0, xmm7
psrlq xmm0, 0x13
movdqa xmm5, xmm6
psrlq xmm5, 1
movsd xmm5, xmm0
movdqa xmm1, xmm7
psllq xmm1, 0x2d
movdqa xmm0, xmm6
psllq xmm0, 0x3f
movsd xmm0, xmm1
orpd xmm0, xmm5
movdqa xmm1, xmm7
psrlq xmm1, 0x3d
movdqa xmm4, xmm6
psrlq xmm4, 8
movsd xmm4, xmm1
movdqa xmm1, xmm7
psllq xmm1, 3
movdqa xmm5, xmm6
psllq xmm5, 0x38
movsd xmm5, xmm1
orpd xmm5, xmm4
xorpd xmm5, xmm0
psrlq xmm7, 6
psrlq xmm6, 7
movsd xmm6, xmm7
xorpd xmm6, xmm5
movapd xmm0, xmm2
unpcklpd xmm0, xmm6
paddq xmm0, xmmword [esp + 0x70]
unpckhpd xmm2, xmm6
paddq xmm2, xmm0
movdqa xmm1, xmm2
movdqa xmm0, xmm2
psrlq xmm0, 0x13
movdqa xmm5, xmm3
psrlq xmm3, 1
movsd xmm3, xmm0
psllq xmm1, 0x2d
movdqa xmm0, xmm5
psllq xmm0, 0x3f
movsd xmm0, xmm1
movdqa xmm1, xmm2
orpd xmm0, xmm3
psrlq xmm1, 0x3d
movdqa xmm3, xmm5
psrlq xmm3, 8
movsd xmm3, xmm1
movdqa xmm1, xmm2
psllq xmm1, 3
movdqa xmm4, xmm5
psllq xmm4, 0x38
movsd xmm4, xmm1
movdqu xmmword [esp + edx*8 + 0x160], xmm2
orpd xmm4, xmm3
movdqa xmm1, xmm2
movdqa xmmword [esp + 0x70], xmm2
xorpd xmm4, xmm0
psrlq xmm1, 6
movdqa xmm3, xmm5
psrlq xmm3, 7
movsd xmm3, xmm1
pshufd xmm6, xmm2, 0xee
xorpd xmm3, xmm4
pshufd xmm0, xmmword [esp + 0x30], 0x55
paddq xmm5, xmmword [esp + 0xe0]
movdqa xmmword [esp + 0xe0], xmm5
movd dword [esp + 0x20], xmm0
movdqu xmm2, xmmword [esp + edx*8 + 0x100]
movdqa xmm5, xmm6
punpcklqdq xmm5, xmm2
movdqa xmm0, xmm6
psrlq xmm0, 0x13
movdqa xmm1, xmm5
psrlq xmm1, 1
movsd xmm1, xmm0
movdqa xmm0, xmm6
psllq xmm0, 0x2d
movdqa xmm7, xmm5
psllq xmm7, 0x3f
movsd xmm7, xmm0
orpd xmm7, xmm1
movdqa xmm0, xmm6
psrlq xmm0, 0x3d
movdqa xmm1, xmm5
psrlq xmm1, 8
movsd xmm1, xmm0
movdqa xmm4, xmm6
psllq xmm4, 3
movdqa xmm0, xmm5
psllq xmm0, 0x38
movsd xmm0, xmm4
orpd xmm0, xmm1
xorpd xmm0, xmm7
movd dword [esp + 0x130], xmm6
psrlq xmm6, 6
psrlq xmm5, 7
movsd xmm5, xmm6
xorpd xmm5, xmm0
movapd xmm0, xmm3
unpcklpd xmm0, xmm5
paddq xmm0, xmmword [esp + 0xe0]
unpckhpd xmm3, xmm5
paddq xmm3, xmm0
movdqa xmm7, xmm2
pshufd xmm5, xmm2, 0xee
movdqa xmm1, xmm5
punpcklqdq xmm1, xmm3
movdqa xmm4, xmm1
psrlq xmm4, 0x13
movdqa xmm0, xmm5
psrlq xmm0, 1
shufps xmm0, xmm4, 0xe4
movdqa xmm4, xmm1
psllq xmm4, 0x2d
movdqa xmm6, xmm5
psllq xmm6, 0x3f
shufps xmm6, xmm4, 0xe4
orps xmm6, xmm0
movss xmm2, dword [esp + 0x18]
unpcklpd xmm2, xmmword [esp + 0xf0]
shufps xmm2, xmmword [esp + 0x30], 0x42
movdqa xmm4, xmm1
psrlq xmm4, 0x3d
paddq xmm2, xmm7
psrldq xmm7, 9
shufps xmm7, xmm4, 0xe4
movdqa xmm4, xmm1
psllq xmm4, 3
movdqa xmm0, xmm5
psllq xmm0, 0x38
shufps xmm0, xmm4, 0xe4
orps xmm0, xmm7
movdqu xmmword [esp + edx*8 + 0x170], xmm3
xorps xmm0, xmm6
psrlq xmm1, 6
psrlq xmm5, 7
shufps xmm5, xmm1, 0xe4
xorps xmm5, xmm0
movss xmm0, dword [esp + edx*8 + 0x110]
movss xmm6, dword [esp + edx*8 + 0x114]
movlhps xmm6, xmm0
shufps xmm6, xmm3, 0xe2
movdqa xmm0, xmm3
psrlq xmm0, 0x13
movaps xmm1, xmm6
psrlq xmm1, 1
shufps xmm1, xmm0, 0xe4
movdqa xmm0, xmm3
psllq xmm0, 0x2d
movaps xmm4, xmm6
psllq xmm4, 0x3f
shufps xmm4, xmm0, 0xe4
orps xmm4, xmm1
movdqa xmm0, xmm3
psrlq xmm0, 0x3d
movaps xmm1, xmm6
psrlq xmm1, 8
shufps xmm1, xmm0, 0xe4
movdqa xmm0, xmm3
psllq xmm0, 3
movaps xmm7, xmm6
psllq xmm7, 0x38
shufps xmm7, xmm0, 0xe4
orps xmm7, xmm1
movdqa xmm1, xmmword [esp + 0x30]
movd dword [esp + 0x1c], xmm1
xorps xmm7, xmm4
movdqa xmm0, xmm3
psrlq xmm0, 6
psrlq xmm6, 7
shufps xmm6, xmm0, 0xe4
pshufd xmm0, xmm1, 0xff
movdqa xmmword [esp + 0xf0], xmm0
pshufd xmm1, xmm1, 0xee
movdqa xmm0, xmmword [esp + 0x70]
movd dword [esp + 0x28], xmm0
xorps xmm6, xmm7
movaps xmm4, xmm5
movlhps xmm4, xmm6
paddq xmm4, xmm2
pshufd xmm2, xmm0, 0x55
pshufd xmm7, xmm0, 0xff
movd dword [esp + 0x70], xmm3
unpckhpd xmm5, xmm6
pshufd xmm6, xmm3, 0x55
paddq xmm5, xmm4
pshufd xmm4, xmm3, 0xff
pshufd xmm3, xmm3, 0xee
movdqu xmmword [esp + edx*8 + 0x180], xmm5
movaps xmm0, xmmword [esp + 0xf0]
movss dword [esp + 0x6c], xmm0
pshufd xmm0, xmm5, 0x55
movd dword [esp + 0x68], xmm1
pshufd xmm1, xmm5, 0xff
movd dword [esp + 0x24], xmm2
pshufd xmm2, xmm5, 0xee
movd dword [esp + 0x120], xmm7
movd dword [esp + 0xe0], xmm6
movd dword [esp + 0xc8], xmm4
movd dword [esp + 0xc0], xmm3
movd dword [esp + 0x18], xmm5
movd dword [esp + 0xf0], xmm0
movd dword [esp + 0xd0], xmm1
movd dword [esp + 0xcc], xmm2
lea eax, [edx - 6]
mov dword [esp + 0xbc], eax
lea eax, [edx - 5]
mov dword [esp + 0xb0], eax
lea eax, [edx - 4]
mov dword [esp + 0xb4], eax
lea eax, [edx - 3]
mov dword [esp + 0xb8], eax
lea eax, [edx - 2]
mov dword [esp + 0xc4], eax
lea eax, [edx - 1]
mov dword [esp + 0xac], eax
mov dword [esp + 0xd4], edx
mov ebx, dword [esp + 0x50]
mov ecx, ebx
shld ecx, edi, 0x12
mov edx, edi
shld edx, ebx, 0x12
mov eax, ebx
shld eax, edi, 0xe
xor eax, ecx
mov esi, edi
shld esi, ebx, 0xe
xor esi, edx
mov ecx, ebx
shld ecx, edi, 0x17
xor ecx, esi
mov esi, edi
shld esi, ebx, 0x17
xor esi, eax
movdqa xmm2, xmmword [esp + 0x100]
pshufd xmm0, xmm2, 0xee
pshufd xmm1, xmm2, 0xff
movd eax, xmm1
mov dword [esp + 0x30], eax
mov edx, ebx
mov dword [esp + 0x50], ebx
mov ebx, eax
xor ebx, dword [esp + 8]
movd edi, xmm0
mov dword [esp + 0x4c], edi
mov eax, dword [esp + 0x80]
xor edi, eax
and edi, edx
and ebx, dword [esp + 0x90]
xor ebx, dword [esp + 8]
xor edi, eax
add edi, dword [esp]
adc ebx, dword [esp + 0xc]
add edi, ecx
adc ebx, esi
add edi, dword [esp + 0x1c]
adc ebx, dword [esp + 0x20]
mov eax, dword [esp + 0xdc]
add edi, dword [eax*8 + 0x1031b318]
mov dword [esp + 0x11c], edi
adc ebx, dword [eax*8 + 0x1031b31c]
mov ecx, dword [esp + 4]
mov esi, ecx
mov eax, dword [esp + 0x14]
shld esi, eax, 4
mov edi, eax
shld edi, ecx, 4
mov edx, eax
shld edx, ecx, 0x1e
shld ecx, eax, 0x1e
xor edx, esi
mov esi, dword [esp + 4]
shld esi, eax, 0x19
xor ecx, edi
mov edi, dword [esp + 4]
shld eax, edi, 0x19
xor esi, ecx
mov dword [esp + 0x20], esi
xor eax, edx
mov dword [esp + 0x1c], eax
movd ecx, xmm2
mov dword [esp + 0xc], ecx
mov esi, dword [esp + 4]
mov eax, esi
and eax, ecx
or esi, ecx
and esi, dword [esp + 0x2c]
or esi, eax
pshufd xmm0, xmm2, 0x55
movd edx, xmm0
mov dword [esp], edx
mov eax, dword [esp + 0x14]
mov ecx, eax
and ecx, edx
mov edx, eax
or edx, dword [esp]
and edx, dword [esp + 0x10]
or edx, ecx
add esi, dword [esp + 0x20]
adc edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x90]
xor eax, dword [esp + 0x30]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x50]
xor eax, dword [esp + 0x4c]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x80]
add dword [esp + 0x68], eax
mov eax, dword [esp + 8]
adc dword [esp + 0x6c], eax
mov ecx, dword [esp + 0x28]
add ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x24]
adc eax, dword [esp + 0x30]
mov edi, dword [esp + 0xb0]
add ecx, dword [edi*8 + 0x1031b350]
mov dword [esp + 0x28], ecx
adc eax, dword [edi*8 + 0x1031b354]
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x130]
add ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x120]
adc eax, dword [esp + 0x90]
mov edi, dword [esp + 0xb4]
add ecx, dword [edi*8 + 0x1031b350]
mov dword [esp + 0x130], ecx
adc eax, dword [edi*8 + 0x1031b354]
mov dword [esp + 0x120], eax
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0xac]
add ecx, dword [eax*8 + 0x1031b350]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0xf0]
adc ecx, dword [eax*8 + 0x1031b354]
mov dword [esp + 0xf0], ecx
movd xmm1, ebx
movd xmm2, dword [esp + 0x11c]
movd xmm0, esi
movd xmm3, edx
movd xmm4, dword [esp + 0xd8]
movd xmm5, dword [esp + 0x48]
punpckldq xmm2, xmm1
pshufd xmm1, xmm2, 0x44
punpckldq xmm0, xmm3
punpckldq xmm4, xmm5
punpcklqdq xmm0, xmm4
paddq xmm0, xmm1
pshufd xmm1, xmm0, 0xff
pshufd xmm2, xmm0, 0xee
movd ecx, xmm2
mov dword [esp + 0x4c], ecx
mov eax, ecx
xor eax, dword [esp + 0x50]
mov dword [esp + 0x80], eax
movd edx, xmm1
mov dword [esp + 0x48], edx
mov eax, edx
xor eax, dword [esp + 0x90]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x70]
add eax, ecx
mov ecx, dword [esp + 0xe0]
adc ecx, edx
mov edx, dword [esp + 0xb8]
add eax, dword [edx*8 + 0x1031b350]
mov dword [esp + 0x70], eax
adc ecx, dword [edx*8 + 0x1031b354]
mov dword [esp + 0xe0], ecx
movss xmm2, dword [esp + 0x68]
movss xmm3, dword [esp + 0x6c]
movdqa xmm1, xmm0
psrlq xmm1, 0x1c
movdqa xmm4, xmm0
psrlq xmm4, 0xe
movsd xmm4, xmm1
movdqa xmm1, xmm0
psllq xmm1, 0x24
movdqa xmm5, xmm0
psllq xmm5, 0x32
movsd xmm5, xmm1
orpd xmm5, xmm4
movdqa xmm1, xmm0
psrlq xmm1, 0x22
movdqa xmm4, xmm0
psrlq xmm4, 0x12
movsd xmm4, xmm1
movdqa xmm1, xmm0
psllq xmm1, 0x1e
movdqa xmm6, xmm0
psllq xmm6, 0x2e
movsd xmm6, xmm1
orpd xmm6, xmm4
xorpd xmm6, xmm5
movdqa xmm1, xmm0
psrlq xmm1, 0x27
movdqa xmm4, xmm0
psrlq xmm4, 0x29
movsd xmm4, xmm1
movdqa xmm5, xmm0
psllq xmm5, 0x19
movdqa xmm1, xmm0
psllq xmm1, 0x17
movsd xmm1, xmm5
orpd xmm1, xmm4
mov eax, dword [esp + 0xbc]
movss xmm4, dword [eax*8 + 0x1031b350]
movss xmm7, dword [eax*8 + 0x1031b354]
xorpd xmm1, xmm6
movlhps xmm3, xmm2
movdqa xmm2, xmm0
shufps xmm2, xmm3, 0x24
movss xmm5, dword [esp + 4]
movss xmm3, dword [esp + 0x14]
unpcklps xmm5, xmm3
movss xmm3, dword [esp + 0x1c]
movlhps xmm7, xmm4
movaps xmm4, xmm5
shufps xmm4, xmm7, 0x24
movss xmm6, dword [esp + 0x20]
paddq xmm4, xmm2
movdqa xmm2, xmm0
pand xmm2, xmm5
movlhps xmm6, xmm3
movdqa xmm3, xmm0
por xmm3, xmm5
shufps xmm5, xmm6, 0x24
andps xmm5, xmm0
movdqa xmm6, xmmword [esp + 0x100]
pand xmm3, xmm6
por xmm3, xmm2
xorps xmm5, xmm6
paddq xmm5, xmm4
movsd xmm5, xmm3
paddq xmm5, xmm1
pshufd xmm1, xmm5, 0xee
movd edi, xmm1
add edi, dword [esp + 0x2c]
pshufd xmm2, xmm5, 0xff
movd ebx, xmm2
adc ebx, dword [esp + 0x10]
mov dword [esp + 8], ebx
mov eax, edi
shld eax, ebx, 0x12
mov ecx, ebx
shld ecx, edi, 0x12
mov edx, edi
shld edx, ebx, 0xe
xor edx, eax
mov esi, ebx
shld esi, edi, 0xe
xor esi, ecx
mov eax, edi
shld eax, ebx, 0x17
xor eax, esi
mov ecx, ebx
shld ecx, edi, 0x17
mov dword [esp + 0x100], edi
xor ecx, edx
mov esi, dword [esp + 0x30]
and esi, ebx
xor esi, dword [esp + 0x90]
mov edx, dword [esp + 0x80]
and edx, edi
xor edx, dword [esp + 0x50]
add edx, dword [esp + 0x28]
adc esi, dword [esp + 0x24]
add edx, eax
mov dword [esp + 0x80], edx
adc esi, ecx
mov dword [esp + 0x30], esi
paddq xmm5, xmm1
pshufd xmm1, xmm5, 0x55
movd eax, xmm5
movd edx, xmm1
mov esi, eax
shld esi, edx, 4
mov ecx, edx
shld ecx, eax, 0x1e
xor ecx, esi
mov esi, edx
shld esi, eax, 4
mov ebx, eax
shld ebx, edx, 0x1e
xor ebx, esi
mov edi, eax
shld edi, edx, 0x19
xor edi, ebx
shld edx, eax, 0x19
xor edx, ecx
movdqa xmm1, xmm5
pand xmm1, xmm0
movdqa xmm2, xmm5
por xmm2, xmm0
movd ecx, xmm2
and ecx, dword [esp + 4]
movd eax, xmm1
or ecx, eax
pshufd xmm1, xmm1, 0x55
pshufd xmm2, xmm2, 0x55
movd ebx, xmm2
and ebx, dword [esp + 0x14]
movd eax, xmm1
or ebx, eax
add ecx, edi
mov dword [esp + 0x90], ecx
adc ebx, edx
mov edi, dword [esp + 0xc]
add edi, dword [esp + 0x80]
mov dword [esp + 0xc], edi
mov edx, dword [esp]
adc edx, dword [esp + 0x30]
mov eax, edi
shld eax, edx, 0x12
mov esi, edx
mov dword [esp], edx
shld esi, edi, 0x12
mov ecx, edi
shld ecx, edx, 0xe
xor ecx, eax
mov eax, edx
shld eax, edi, 0xe
xor eax, esi
mov esi, edi
shld esi, edx, 0x17
xor esi, eax
mov eax, edx
shld eax, edi, 0x17
xor eax, ecx
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x48]
xor ecx, edx
and ecx, dword [esp]
xor ecx, edx
mov dword [esp + 0x50], ecx
mov edi, dword [esp + 0x100]
mov edx, dword [esp + 0x4c]
xor edi, edx
mov ecx, dword [esp + 0xc]
and edi, ecx
xor edi, edx
add edi, dword [esp + 0x130]
mov edx, dword [esp + 0x50]
adc edx, dword [esp + 0x120]
add edi, esi
mov dword [esp + 0x10], edi
adc edx, eax
mov dword [esp + 0x50], edx
movd xmm3, ebx
movd xmm2, dword [esp + 0x90]
mov eax, dword [esp + 0xc4]
movd xmm4, dword [eax*8 + 0x1031b354]
movd xmm6, dword [eax*8 + 0x1031b350]
movd xmm7, dword [esp + 0x30]
movd xmm1, dword [esp + 0x80]
punpckldq xmm2, xmm3
movd xmm3, dword [esp + 0xc0]
mov eax, dword [esp]
mov edi, eax
xor edi, dword [esp + 8]
mov ebx, ecx
xor ebx, dword [esp + 0x100]
add dword [esp + 0x18], ecx
adc dword [esp + 0xf0], eax
punpckldq xmm6, xmm4
movd xmm4, dword [esp + 0xc8]
punpcklqdq xmm2, xmm6
punpckldq xmm1, xmm7
punpckldq xmm3, xmm4
punpcklqdq xmm1, xmm3
paddq xmm1, xmm2
pshufd xmm2, xmm1, 0x55
movd ecx, xmm1
movdqa xmm4, xmm1
movd eax, xmm2
mov esi, ecx
shld esi, eax, 0x1e
mov dword [esp + 0x28], esi
mov esi, eax
shld esi, ecx, 0x1e
mov dword [esp + 0x24], esi
mov esi, ecx
shld esi, eax, 0x19
mov dword [esp + 0x80], esi
shld eax, ecx, 0x19
mov dword [esp + 0x30], eax
movdqa xmm2, xmm1
pand xmm2, xmm5
movdqa xmm3, xmm1
por xmm3, xmm5
pand xmm3, xmm0
por xmm3, xmm2
movdqa xmm1, xmm3
mov esi, dword [esp + 4]
add esi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
adc eax, dword [esp + 0x50]
mov edx, esi
shld edx, eax, 0x12
mov ecx, eax
shld ecx, esi, 0x12
mov dword [esp + 0x2c], ecx
movd xmm2, eax
mov ecx, eax
movdqa xmmword [esp + 0x130], xmm2
movd xmm3, esi
mov dword [esp + 4], esi
movdqa xmmword [esp + 0x120], xmm3
punpcklqdq xmm2, xmm3
movdqa xmm3, xmm4
movdqa xmmword [esp + 0x90], xmm4
shufps xmm4, xmm2, 0x24
movaps xmm2, xmm4
psrlq xmm2, 0x29
movdqa xmm6, xmm3
psrlq xmm6, 0x1c
shufps xmm6, xmm2, 0xe4
psllq xmm4, 0x17
movdqa xmm2, xmm3
psllq xmm2, 0x24
shufps xmm2, xmm4, 0xe4
mov eax, esi
shld eax, ecx, 0xe
xor eax, edx
mov esi, ecx
mov edx, ecx
mov ecx, dword [esp + 4]
shld esi, ecx, 0xe
xor esi, dword [esp + 0x2c]
orps xmm2, xmm6
movd xmm4, eax
movd xmm6, esi
punpckldq xmm6, xmm4
movd xmm7, dword [esp + 0x24]
movd xmm4, dword [esp + 0x28]
punpckldq xmm4, xmm7
punpcklqdq xmm4, xmm6
pxor xmm4, xmm2
movd xmm2, dword [esp + 0x30]
movd xmm3, dword [esp + 0x80]
punpckldq xmm3, xmm2
mov eax, edx
mov dword [esp + 0x14], edx
and edi, edx
and ebx, ecx
xor edi, dword [esp + 8]
xor ebx, dword [esp + 0x100]
add ebx, dword [esp + 0x70]
adc edi, dword [esp + 0xe0]
movd xmm2, edi
movd xmm6, ebx
punpcklqdq xmm2, xmm6
movdqa xmm6, xmm4
pxor xmm6, xmm3
shufps xmm3, xmm2, 0x24
paddq xmm3, xmm4
punpcklqdq xmm1, xmm0
movd xmm2, dword [esp + 0x50]
shufps xmm6, xmm3, 0xe4
paddq xmm1, xmm6
movdqa xmm7, xmm1
movd xmm0, dword [esp + 0x10]
xor eax, dword [esp]
punpckldq xmm0, xmm2
movd xmm2, eax
mov eax, ecx
xor eax, dword [esp + 0xc]
movd xmm4, eax
punpckldq xmm4, xmm2
punpcklqdq xmm0, xmm4
movdqa xmmword [esp + 0x80], xmm0
paddq xmm1, xmm0
pshufd xmm2, xmm1, 0x55
movdqa xmmword [esp + 0x50], xmm1
movd ebx, xmm2
mov dword [esp + 0x70], ebx
movdqa xmm2, xmm1
movdqa xmm0, xmmword [esp + 0x90]
pand xmm2, xmm0
movdqa xmm6, xmm1
por xmm6, xmm0
pand xmm6, xmm5
por xmm6, xmm2
movd eax, xmm1
mov ecx, eax
shld ecx, ebx, 4
pshufd xmm2, xmm6, 0x55
movd dword [esp + 0x10], xmm2
mov esi, ebx
shld esi, eax, 4
movd edi, xmm6
mov edx, ebx
mov dword [esp + 0xe0], eax
shld edx, eax, 0x1e
xor edx, ecx
mov ecx, eax
shld ecx, ebx, 0x1e
xor ecx, esi
mov esi, eax
shld esi, ebx, 0x19
xor esi, ecx
mov ecx, ebx
shld ecx, eax, 0x19
xor ecx, edx
add edi, esi
mov eax, dword [esp + 0x10]
adc eax, ecx
movd xmm2, eax
movd xmm6, edi
punpckldq xmm6, xmm2
mov eax, dword [esp + 0xd4]
movd xmm2, dword [eax*8 + 0x1031b354]
movd xmm4, dword [eax*8 + 0x1031b350]
punpckldq xmm4, xmm2
punpcklqdq xmm6, xmm4
movss xmm2, dword [esp + 0xcc]
movss xmm4, dword [esp + 0xd0]
movlhps xmm4, xmm2
shufps xmm3, xmm4, 0x2e
paddq xmm3, xmm6
movdqa xmm2, xmm3
psrlq xmm2, 0x1c
movdqa xmm1, xmm7
movdqa xmm4, xmm7
psrlq xmm4, 0xe
movsd xmm4, xmm2
movdqa xmm2, xmm3
psllq xmm2, 0x24
movdqa xmm6, xmm7
psllq xmm6, 0x32
movsd xmm6, xmm2
orpd xmm6, xmm4
movdqa xmm2, xmm3
psrlq xmm2, 0x22
movdqa xmm4, xmm7
psrlq xmm4, 0x12
movsd xmm4, xmm2
movdqa xmm7, xmm3
psllq xmm7, 0x1e
movdqa xmm2, xmm1
psllq xmm2, 0x2e
movsd xmm2, xmm7
orpd xmm2, xmm4
xorpd xmm2, xmm6
movdqa xmm4, xmm3
psrlq xmm4, 0x27
movdqa xmm7, xmm1
psrlq xmm7, 0x29
movsd xmm7, xmm4
movdqa xmm4, xmm3
psllq xmm4, 0x19
movdqa xmm6, xmm1
movdqa xmmword [esp + 0x30], xmm1
psllq xmm6, 0x17
movsd xmm6, xmm4
orpd xmm6, xmm7
xorpd xmm6, xmm2
movss xmm4, dword [esp]
movss xmm2, dword [esp + 0xc]
movlhps xmm4, xmm2
movdqa xmm2, xmm3
shufps xmm2, xmm4, 0x24
movdqa xmm0, xmmword [esp + 0x80]
pand xmm0, xmm1
xorps xmm2, xmm0
movd xmm0, dword [esp + 8]
movd xmm4, dword [esp + 0x100]
punpckldq xmm4, xmm0
movdqa xmm0, xmm3
movdqa xmm1, xmmword [esp + 0x50]
pand xmm0, xmm1
movdqa xmm7, xmm3
por xmm7, xmm1
movdqa xmm1, xmmword [esp + 0x90]
pand xmm7, xmm1
por xmm7, xmm0
pshufd xmm0, xmm4, 0x44
paddq xmm0, xmm1
paddq xmm0, xmm2
movsd xmm0, xmm7
paddq xmm0, xmm6
pshufd xmm2, xmm0, 0xee
paddq xmm5, xmm2
pshufd xmm4, xmm5, 0x55
movd edi, xmm4
paddq xmm0, xmm2
pshufd xmm2, xmm0, 0x55
movd dword [esp + 0x10], xmm2
movdqa xmm1, xmmword [esp + 0x30]
pshufd xmm2, xmm1, 0xee
movd dword [esp], xmm2
pshufd xmm2, xmm1, 0xff
movd dword [esp + 0xc], xmm2
movdqa xmm2, xmm0
por xmm2, xmm3
pand xmm2, xmmword [esp + 0x50]
movd ebx, xmm5
mov eax, ebx
mov dword [esp + 8], edi
shld eax, edi, 0x12
movdqa xmm4, xmm0
pand xmm4, xmm3
por xmm2, xmm4
mov ecx, ebx
shld ecx, edi, 0xe
xor ecx, eax
mov eax, edi
shld eax, ebx, 0x12
mov edx, edi
shld edx, ebx, 0xe
xor edx, eax
mov eax, ebx
shld eax, edi, 0x17
xor eax, edx
mov edx, edi
shld edx, ebx, 0x17
xor edx, ecx
mov esi, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
xor esi, ecx
and esi, edi
xor esi, ecx
mov edi, dword [esp]
mov ecx, dword [esp + 4]
xor edi, ecx
and edi, ebx
xor edi, ecx
add edi, dword [esp + 0x18]
adc esi, dword [esp + 0xf0]
pshufd xmm4, xmm2, 0x55
movd dword [esp + 4], xmm4
add edi, eax
adc esi, edx
movd dword [esp + 0x14], xmm2
movd xmm2, esi
movd xmm1, edi
punpckldq xmm1, xmm2
movd eax, xmm0
mov edi, eax
mov ecx, dword [esp + 0x10]
shld edi, ecx, 4
mov esi, ecx
shld esi, eax, 0x1e
xor esi, edi
mov edx, ecx
shld edx, eax, 4
mov edi, eax
shld edi, ecx, 0x1e
xor edi, edx
mov edx, eax
shld edx, ecx, 0x19
xor edx, edi
mov edi, ecx
mov dword [esp + 0x2c], eax
shld edi, eax, 0x19
xor edi, esi
mov ecx, dword [esp + 0x14]
add ecx, edx
mov eax, dword [esp + 4]
adc eax, edi
movd xmm2, eax
movd xmm4, ecx
punpckldq xmm4, xmm2
punpcklqdq xmm4, xmmword [esp + 0x90]
pshufd xmm1, xmm1, 0x44
paddq xmm4, xmm1
pshufd xmm1, xmm4, 0xee
movd ecx, xmm1
pshufd xmm1, xmm4, 0xff
movd edx, xmm1
movdqa xmm1, xmm4
psrlq xmm1, 0x1c
movdqa xmm6, xmm4
psrlq xmm6, 0xe
movsd xmm6, xmm1
movdqa xmm1, xmm4
psllq xmm1, 0x24
movdqa xmm2, xmm4
psllq xmm2, 0x32
movsd xmm2, xmm1
orpd xmm2, xmm6
movdqa xmm1, xmm4
psrlq xmm1, 0x22
movdqa xmm7, xmm4
psrlq xmm7, 0x12
movsd xmm7, xmm1
movdqa xmm6, xmm4
psllq xmm6, 0x1e
movdqa xmm1, xmm4
psllq xmm1, 0x2e
movsd xmm1, xmm6
orpd xmm1, xmm7
xorpd xmm1, xmm2
movdqa xmm2, xmm4
psrlq xmm2, 0x27
movdqa xmm7, xmm4
psrlq xmm7, 0x29
movsd xmm7, xmm2
movdqa xmm2, xmm4
psllq xmm2, 0x19
movdqa xmm6, xmm4
psllq xmm6, 0x17
movsd xmm6, xmm2
orpd xmm6, xmm7
xorpd xmm6, xmm1
mov dword [esp + 0x80], ebx
xor ebx, dword [esp]
and ecx, ebx
mov eax, dword [esp + 8]
xor eax, dword [esp + 0xc]
and edx, eax
movd xmm1, ecx
movd xmm7, edx
punpcklqdq xmm7, xmm1
movdqa xmm2, xmm0
shufps xmm2, xmm7, 0x24
movdqa xmm7, xmmword [esp + 0x120]
punpckldq xmm7, xmmword [esp + 0x130]
movdqa xmm1, xmm4
pand xmm1, xmm0
movdqa xmmword [esp + 0x100], xmm4
por xmm4, xmm0
pand xmm4, xmm3
por xmm4, xmm1
xorps xmm2, xmmword [esp + 0x30]
pshufd xmm1, xmm7, 0x44
paddq xmm1, xmm3
paddq xmm1, xmm2
movsd xmm1, xmm4
paddq xmm1, xmm6
pshufd xmm2, xmm1, 0xee
movd eax, xmm2
add eax, dword [esp + 0xe0]
mov dword [esp + 0x50], eax
pshufd xmm4, xmm1, 0xff
movd edi, xmm4
adc edi, dword [esp + 0x70]
pshufd xmm4, xmm3, 0x55
paddq xmm1, xmm2
pshufd xmm2, xmm1, 0x55
inc dword [esp + 0x64]
mov ecx, dword [esp + 0xdc]
add ecx, 8
movd dword [esp + 0x48], xmm4
movd edx, xmm2
movd dword [esp + 0xd8], xmm3
movd esi, xmm1
cmp ecx, 0x57
jne 0x101444f6
movdqa xmm2, xmmword [esp + 0x100]
punpcklqdq xmm1, xmm2
paddq xmm1, xmmword [esp + 0x140]
mov eax, dword [esp + 0x118]
movdqu xmmword [eax + 8], xmm1
punpcklqdq xmm0, xmm3
paddq xmm0, xmmword [esp + 0x150]
movdqu xmmword [eax + 0x18], xmm0
movd xmm0, dword [esp + 0x50]
movd xmm1, edi
punpcklqdq xmm1, xmm0
shufps xmm1, xmm2, 0xe2
paddq xmm1, xmmword [esp + 0x160]
movdqu xmmword [eax + 0x28], xmm1
movapd xmm0, xmmword [esp + 0x30]
movsd xmm0, xmm5
paddq xmm0, xmmword [esp + 0x170]
movdqu xmmword [eax + 0x38], xmm0
mov ecx, dword [esp + 0x408]
xor ecx, ebp
call fcn.1023b4d8
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret