Function at 0x8bea00
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 dword [esp + 0x64], ecx
mov eax, dword [0xa7d04c]
xor eax, ebp
mov dword [esp + 0x108], eax
xor eax, eax
nop word cs:[eax + eax]
mov ecx, dword [edx + eax*8]
mov esi, dword [edx + eax*8 + 4]
bswap esi
bswap ecx
mov dword [esp + eax*8 + 0x8c], ecx
mov dword [esp + eax*8 + 0x88], esi
inc eax
cmp eax, 0x10
jne 0x8bea30
mov eax, dword [esp + 0x64]
movdqu xmm1, xmmword [eax]
mov ecx, dword [eax + 0x14]
mov dword [esp + 0x4c], ecx
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x48], ecx
movdqu xmm0, xmmword [eax + 0x18]
mov ecx, dword [eax + 0x2c]
mov dword [esp + 0x54], ecx
mov ecx, dword [eax + 0x28]
mov dword [esp + 0x50], ecx
mov ecx, dword [eax + 0x34]
mov dword [esp + 0x5c], ecx
mov ecx, dword [eax + 0x30]
mov dword [esp + 0x58], ecx
mov ecx, dword [eax + 0x3c]
mov dword [esp + 0x60], ecx
mov edx, dword [eax + 0x38]
mov edi, dword [eax + 4]
movd ebx, xmm1
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x6c], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x70], ecx
mov ecx, dword [eax + 0x1c]
mov dword [esp + 0x7c], ecx
movd dword [esp + 0x78], xmm0
mov esi, dword [eax + 0x24]
mov ecx, dword [eax + 0x20]
mov dword [esp + 4], 0
mov dword [esp + 0x80], edx
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x60]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x5c]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x50]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x74], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x4c]
jmp 0x8bed38
mov ebx, dword [esp + 4]
lea eax, [ebx + 0xe]
and eax, 0xf
mov ecx, dword [esp + eax*8 + 0x88]
mov edi, dword [esp + eax*8 + 0x8c]
mov edx, ecx
shld edx, edi, 0xd
mov esi, edi
shld esi, ecx, 0xd
mov eax, edi
shld eax, ecx, 3
xor eax, edx
mov edx, edi
shld edx, ecx, 0x1a
shld ecx, edi, 3
xor ecx, esi
xor ecx, edx
shr edi, 6
xor edi, eax
mov dword [esp + 4], ebx
lea eax, [ebx + 9]
and eax, 0xf
add ecx, dword [esp + eax*8 + 0x88]
adc edi, dword [esp + eax*8 + 0x8c]
lea eax, [ebx + 1]
and eax, 0xf
mov edx, dword [esp + eax*8 + 0x88]
mov eax, dword [esp + eax*8 + 0x8c]
mov esi, edx
shld esi, eax, 0x1f
mov ebx, edx
shld ebx, eax, 0x18
xor ebx, esi
mov esi, eax
shld esi, edx, 0x1f
mov dword [esp + 8], esi
mov esi, eax
shld esi, edx, 0x18
shrd edx, eax, 7
xor esi, dword [esp + 8]
xor edx, esi
shr eax, 7
xor eax, ebx
mov esi, dword [esp + 4]
and esi, 0xf
add ecx, dword [esp + esi*8 + 0x88]
adc edi, dword [esp + esi*8 + 0x8c]
add ecx, edx
mov edx, dword [esp + 0x2c]
adc edi, eax
mov dword [esp + 0x10], ecx
mov dword [esp + esi*8 + 0x88], ecx
mov dword [esp + 8], edi
mov dword [esp + esi*8 + 0x8c], edi
mov esi, dword [esp + 0x1c]
mov ebx, edx
shld edx, esi, 0x12
mov edi, esi
shld esi, ebx, 0x12
mov eax, ebx
shld eax, edi, 0xe
xor eax, edx
mov edx, edi
mov ecx, edi
shld edx, ebx, 0xe
xor edx, esi
mov edi, ebx
mov esi, ebx
mov ebx, ecx
shld edi, ecx, 0x17
xor edi, edx
mov ecx, esi
shld ebx, esi, 0x17
xor ebx, eax
mov eax, dword [esp + 0x40]
xor eax, dword [esp + 0x28]
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x44]
xor edx, esi
and edx, ecx
and eax, dword [esp + 0x1c]
xor eax, dword [esp + 0x28]
xor edx, esi
add edx, dword [esp + 0xc]
adc eax, dword [esp + 0x18]
add edx, edi
adc eax, ebx
add edx, dword [esp + 0x10]
adc eax, dword [esp + 8]
mov ecx, dword [esp + 4]
add edx, dword [ecx*8 + 0x9eb420]
adc eax, dword [ecx*8 + 0x9eb424]
mov esi, dword [esp + 0x14]
mov ecx, esi
mov ebx, dword [esp + 0x20]
shld ecx, ebx, 4
mov edi, ebx
shld edi, esi, 0x1e
xor edi, ecx
mov ecx, ebx
shld ecx, esi, 4
mov esi, dword [esp + 0x14]
shld esi, ebx, 0x1e
xor esi, ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xc], ecx
shld dword [esp + 0xc], ebx, 0x19
xor dword [esp + 0xc], esi
mov esi, ebx
shld esi, ecx, 0x19
xor esi, edi
mov dword [esp + 0x18], esi
mov edi, ecx
mov esi, dword [esp + 0x30]
and edi, esi
mov ebx, ecx
xor ebx, esi
and ebx, dword [esp + 0x34]
or ebx, edi
mov edi, dword [esp + 0x20]
mov esi, edi
and esi, dword [esp + 0x24]
xor edi, dword [esp + 0x24]
and edi, dword [esp + 0x38]
or edi, esi
add ebx, dword [esp + 0xc]
adc edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x78]
add ecx, edx
mov esi, dword [esp + 0x7c]
adc esi, eax
add ebx, edx
adc edi, eax
inc dword [esp + 4]
mov eax, dword [esp + 0x44]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x68], eax
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x84]
cmp dword [esp + 4], 0x50
je 0x8bedac
mov dword [esp + 0x20], edi
mov dword [esp + 0x14], ebx
mov edi, dword [esp + 0x6c]
mov dword [esp + 0x24], edi
mov edi, dword [esp + 0x70]
mov dword [esp + 0x30], edi
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x68]
mov dword [esp + 0x34], edx
mov edx, ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 8]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x44], eax
cmp dword [esp + 4], 0xf
mov dword [esp + 0x1c], esi
mov dword [esp + 0x2c], edx
ja 0x8beb00
mov eax, dword [esp + 4]
mov ecx, dword [esp + eax*8 + 0x88]
mov dword [esp + 0x10], ecx
mov eax, dword [esp + eax*8 + 0x8c]
mov dword [esp + 8], eax
jmp 0x8bebcf
movd xmm2, dword [esp + 0x14]
movd xmm4, dword [esp + 0x20]
movd xmm3, ebx
movd xmm5, edi
mov edx, dword [esp + 0x30]
add edx, dword [esp + 0x48]
mov edi, dword [esp + 0x24]
adc edi, dword [esp + 0x4c]
punpckldq xmm2, xmm4
punpckldq xmm3, xmm5
punpcklqdq xmm3, xmm2
paddq xmm3, xmm1
mov eax, dword [esp + 0x64]
movdqu xmmword [eax], xmm3
mov dword [eax + 0x10], edx
mov dword [eax + 0x14], edi
movd xmm1, ecx
movd xmm3, esi
movd xmm2, dword [esp + 0x34]
mov ecx, dword [esp + 0x2c]
add ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x1c]
adc edx, dword [esp + 0x54]
movd xmm4, dword [esp + 0x38]
punpckldq xmm1, xmm3
punpckldq xmm2, xmm4
punpcklqdq xmm2, xmm1
paddq xmm2, xmm0
movdqu xmmword [eax + 0x18], xmm2
mov dword [eax + 0x28], ecx
mov dword [eax + 0x2c], edx
mov edx, dword [esp + 0x3c]
add edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x40]
adc ecx, dword [esp + 0x5c]
mov dword [eax + 0x30], edx
mov dword [eax + 0x34], ecx
mov edx, dword [esp + 0x44]
add edx, dword [esp + 0x80]
mov ecx, dword [esp + 0x28]
adc ecx, dword [esp + 0x60]
mov dword [eax + 0x38], edx
mov dword [eax + 0x3c], ecx
mov ecx, dword [esp + 0x108]
xor ecx, ebp
call fcn.0091d849
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret