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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x110
mov eax, dword [0xa47d50]
xor eax, ebp
mov dword [esp + 0x108], eax
xor eax, eax
nop
mov edi, dword [edx + eax*8]
mov esi, dword [edx + eax*8 + 4]
bswap esi
bswap edi
mov dword [esp + eax*8 + 0x8c], edi
mov dword [esp + eax*8 + 0x88], esi
inc eax
cmp eax, 0x10
jne 0x890350
movdqu xmm1, xmmword [ecx]
movdqu xmm0, xmmword [ecx + 0x18]
pshufd xmm2, xmm1, 0x55
movd ebx, xmm2
pshufd xmm2, xmm1, 0xff
movd dword [esp + 8], xmm2
pshufd xmm2, xmm1, 0xee
movd eax, xmm2
pshufd xmm2, xmm0, 0x55
movd dword [esp + 0x70], xmm2
pshufd xmm2, xmm0, 0xff
movd dword [esp], xmm2
pshufd xmm2, xmm0, 0xee
mov edx, dword [ecx + 0x14]
mov dword [esp + 0x44], edx
mov edx, dword [ecx + 0x10]
mov dword [esp + 0x40], edx
mov edx, dword [ecx + 0x2c]
mov dword [esp + 0x4c], edx
mov edx, dword [ecx + 0x28]
mov dword [esp + 0x48], edx
mov edx, dword [ecx + 0x34]
mov dword [esp + 0x54], edx
mov edx, dword [ecx + 0x30]
mov dword [esp + 0x50], edx
mov esi, dword [ecx + 0x3c]
mov dword [esp + 0x7c], ecx
mov edi, dword [ecx + 0x38]
movd edx, xmm1
movd dword [esp + 0x6c], xmm0
movd ecx, xmm2
mov dword [esp + 4], 0
mov dword [esp + 0x74], edi
mov dword [esp + 0xc], edi
mov dword [esp + 0x78], esi
mov dword [esp + 0x68], esi
mov esi, dword [esp + 0x50]
mov dword [esp + 0x64], esi
mov esi, dword [esp + 0x54]
mov dword [esp + 0x60], esi
mov esi, dword [esp + 0x48]
mov dword [esp + 0x58], esi
mov esi, dword [esp + 0x4c]
mov dword [esp + 0x5c], esi
mov esi, dword [esp + 0x40]
mov edi, dword [esp + 0x44]
jmp 0x89067c
mov eax, dword [esp + 4]
add eax, 0xe
and eax, 0xf
mov ecx, dword [esp + eax*8 + 0x88]
mov edi, dword [esp + eax*8 + 0x8c]
mov esi, ecx
shld esi, edi, 0xd
mov eax, edi
shld eax, ecx, 0xd
mov edx, edi
shld edx, ecx, 3
xor edx, esi
mov esi, edi
shld esi, ecx, 0x1a
shld ecx, edi, 3
xor ecx, eax
xor ecx, esi
shr edi, 6
xor edi, edx
mov eax, dword [esp + 4]
lea edx, [eax + 9]
and edx, 0xf
add ecx, dword [esp + edx*8 + 0x88]
adc edi, dword [esp + edx*8 + 0x8c]
lea edx, [eax + 1]
and edx, 0xf
mov esi, dword [esp + edx*8 + 0x88]
mov edx, dword [esp + edx*8 + 0x8c]
mov eax, esi
shld eax, edx, 0x1f
mov ebx, esi
shld ebx, edx, 0x18
xor ebx, eax
mov eax, edx
shld eax, esi, 0x1f
mov dword [esp], eax
mov eax, edx
shld eax, esi, 0x18
shrd esi, edx, 7
xor eax, dword [esp]
xor esi, eax
shr edx, 7
xor edx, ebx
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 4]
and eax, 0xf
add ecx, dword [esp + eax*8 + 0x88]
adc edi, dword [esp + eax*8 + 0x8c]
add ecx, esi
adc edi, edx
mov edx, dword [esp + 0x10]
mov dword [esp + 8], ecx
mov dword [esp + eax*8 + 0x88], ecx
mov dword [esp], edi
mov dword [esp + eax*8 + 0x8c], edi
mov eax, dword [esp + 0x20]
mov edi, eax
shld eax, edx, 0x12
mov ecx, ebx
mov ebx, edx
shld edx, edi, 0x12
mov esi, edi
shld esi, ebx, 0xe
xor esi, eax
mov eax, ebx
shld eax, edi, 0xe
xor eax, edx
mov edx, edi
shld edx, ebx, 0x17
xor edx, eax
mov eax, edi
shld ebx, edi, 0x17
xor ebx, esi
mov esi, dword [esp + 0x38]
xor esi, ecx
mov edi, dword [esp + 0x34]
mov ecx, dword [esp + 0x3c]
xor edi, ecx
and edi, eax
and esi, dword [esp + 0x10]
xor esi, dword [esp + 0x14]
xor edi, ecx
add edi, dword [esp + 0xc]
adc esi, dword [esp + 0x68]
add edi, edx
adc esi, ebx
add edi, dword [esp + 8]
adc esi, dword [esp]
mov eax, dword [esp + 4]
add edi, dword [eax*8 + 0x9b91d0]
adc esi, dword [eax*8 + 0x9b91d4]
mov eax, dword [esp + 0x24]
mov edx, eax
mov ebx, dword [esp + 0x18]
shld edx, ebx, 4
mov ecx, ebx
shld ecx, eax, 0x1e
xor ecx, edx
mov edx, ebx
shld edx, eax, 4
mov dword [esp], edx
mov edx, eax
shld edx, ebx, 0x1e
xor edx, dword [esp]
mov dword [esp], eax
shld dword [esp], ebx, 0x19
xor dword [esp], edx
mov edx, ebx
shld edx, eax, 0x19
xor edx, ecx
mov dword [esp + 0xc], edx
mov ecx, eax
mov ebx, dword [esp + 0x28]
and ecx, ebx
mov edx, eax
xor edx, ebx
and edx, dword [esp + 0x2c]
or edx, ecx
mov ebx, dword [esp + 0x18]
mov eax, ebx
and eax, dword [esp + 0x1c]
xor ebx, dword [esp + 0x1c]
and ebx, dword [esp + 0x30]
or ebx, eax
add edx, dword [esp]
adc ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0x6c]
add ecx, edi
mov eax, dword [esp + 0x70]
adc eax, esi
mov dword [esp], eax
add edx, edi
adc ebx, esi
mov eax, dword [esp + 4]
inc eax
mov esi, dword [esp + 0x3c]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x14]
mov dword [esp + 0x68], esi
mov esi, dword [esp + 0x34]
mov dword [esp + 0x64], esi
mov esi, dword [esp + 0x38]
mov dword [esp + 0x60], esi
mov esi, dword [esp + 0x20]
mov dword [esp + 0x58], esi
mov esi, dword [esp + 0x10]
mov dword [esp + 0x5c], esi
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x6c], esi
mov esi, dword [esp + 0x30]
mov dword [esp + 0x70], esi
mov esi, dword [esp + 0x28]
mov dword [esp + 0x80], esi
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x24]
mov dword [esp + 0x84], esi
mov esi, dword [esp + 0x18]
mov dword [esp + 8], esi
mov esi, dword [esp + 0x80]
mov dword [esp + 4], eax
cmp eax, 0x50
mov eax, dword [esp + 0x84]
je 0x8906ee
mov dword [esp + 0x18], ebx
mov dword [esp + 0x24], edx
mov edx, dword [esp + 8]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x30], edi
mov dword [esp + 0x2c], esi
mov edx, dword [esp]
mov eax, ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x34], ecx
mov ebx, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x3c], ecx
cmp dword [esp + 4], 0xf
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], edx
mov dword [esp + 0x20], eax
ja 0x890440
mov esi, dword [esp + 4]
mov ecx, dword [esp + esi*8 + 0x88]
mov dword [esp + 8], ecx
mov esi, dword [esp + esi*8 + 0x8c]
mov dword [esp], esi
jmp 0x890510
movd xmm2, dword [esp + 0x24]
movd xmm4, dword [esp + 0x18]
movd xmm3, edx
movd xmm5, ebx
mov eax, dword [esp + 0x28]
add eax, dword [esp + 0x40]
mov esi, dword [esp + 0x1c]
adc esi, dword [esp + 0x44]
punpckldq xmm2, xmm4
punpckldq xmm3, xmm5
punpcklqdq xmm3, xmm2
paddq xmm3, xmm1
mov edx, dword [esp + 0x7c]
movdqu xmmword [edx], xmm3
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], esi
movd xmm1, ecx
movd xmm3, dword [esp]
movd xmm2, dword [esp + 0x2c]
mov eax, dword [esp + 0x20]
add eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x10]
adc ecx, dword [esp + 0x4c]
movd xmm4, dword [esp + 0x30]
punpckldq xmm1, xmm3
punpckldq xmm2, xmm4
punpcklqdq xmm2, xmm1
paddq xmm2, xmm0
movdqu xmmword [edx + 0x18], xmm2
mov dword [edx + 0x28], eax
mov dword [edx + 0x2c], ecx
mov ecx, dword [esp + 0x34]
add ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x38]
adc eax, dword [esp + 0x54]
mov dword [edx + 0x30], ecx
mov dword [edx + 0x34], eax
mov ecx, dword [esp + 0x3c]
add ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x14]
adc eax, dword [esp + 0x78]
mov dword [edx + 0x38], ecx
mov dword [edx + 0x3c], eax
mov ecx, dword [esp + 0x108]
xor ecx, ebp
call fcn.008ea1d3
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret