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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
and esp, 0xfffffff0
sub esp, 0x60
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
add eax, 0x11f
add edx, 0x100
cmovns eax, edx
sar eax, 5
test ecx, ecx
je 0x57cfc0
mov edx, dword [ebp + 0x10]
test edx, edx
je 0x57cfc0
mov esi, dword [ebp + 0xc]
and esi, 0xffffffbf
cmp dword [ebp + 0xc], 0x100
mov dword [esp + 0x1c], esi
je 0x57c488
cmp esi, 0x80
jne 0x57cfb3
mov edi, dword [ebp + 0x10]
mov esi, dword [ebp + 8]
mov ecx, dword [ebp + 8]
mov dword [edi + 0x110], eax
mov eax, dword [ebp + 0xc]
mov edi, dword [esi + 4]
mov ecx, dword [ecx + 0xc]
lea ebx, [eax - 0x80]
mov esi, dword [esi + 8]
sar ebx, 6
mov dword [esp + 0x10], edi
bswap edi
shl ebx, 4
mov dword [esp + 0x38], edi
lea eax, [ebx + 0x6af980]
xor edi, dword [ebx + 0x6af984]
mov dword [esp + 0x18], ecx
bswap ecx
mov dword [esp + 0x50], eax
mov eax, dword [ebp + 8]
mov edx, edi
mov dword [esp + 0x54], ecx
mov edi, dword [esp + 0x54]
mov eax, dword [eax]
xor edi, dword [ebx + 0x6af98c]
mov dword [esp + 0x14], esi
bswap esi
mov dword [esp + 0x5c], edi
mov dword [esp + 0xc], eax
bswap eax
mov dword [esp + 0x30], eax
xor eax, dword [ebx + 0x6af980]
mov ecx, eax
mov eax, dword [ebx + 0x6af988]
mov dword [esp + 0x28], esi
mov ebx, ecx
movzx edi, cl
xor eax, esi
shr ebx, 0x18
movzx esi, ch
shr ecx, 0x10
mov ebx, dword [ebx*4 + 0x6af580]
xor ebx, dword [edi*4 + 0x6ae980]
movzx ecx, cl
mov edi, dword [esi*4 + 0x6aed80]
movzx esi, dl
xor ebx, dword [ecx*4 + 0x6af180]
mov ecx, edx
xor edi, ebx
movzx ebx, dh
shr edx, 0x10
shr ecx, 0x18
movzx edx, dl
mov ecx, dword [ecx*4 + 0x6af580]
xor ecx, dword [esi*4 + 0x6ae980]
xor ecx, dword [edx*4 + 0x6af180]
mov esi, dword [ebx*4 + 0x6aed80]
mov edx, eax
movzx ebx, al
shr edx, 0x18
xor esi, ecx
movzx ecx, ah
shr eax, 0x10
mov edx, dword [edx*4 + 0x6af580]
movzx eax, al
xor edx, dword [ebx*4 + 0x6ae980]
mov ebx, dword [esp + 0x5c]
xor edx, dword [eax*4 + 0x6af180]
mov eax, dword [ecx*4 + 0x6aed80]
movzx ecx, bh
xor eax, edx
mov edx, ebx
movzx ebx, byte [esp + 0x5c]
shr edx, 0x18
xor esi, eax
mov edx, dword [edx*4 + 0x6af580]
xor edx, dword [ebx*4 + 0x6ae980]
xor edi, esi
mov ebx, dword [esp + 0x5c]
shr ebx, 0x10
movzx ebx, bl
xor edx, dword [ebx*4 + 0x6af180]
xor edx, dword [ecx*4 + 0x6aed80]
mov ecx, esi
mov ebx, esi
xor eax, edx
xor eax, edi
xor ecx, eax
mov esi, ecx
shl esi, 8
and esi, 0xff00ff00
shr ecx, 8
xor edx, ebx
and ecx, 0xff00ff
rol eax, 0x10
bswap edx
or ecx, esi
xor ecx, eax
xor eax, edx
xor edi, ecx
xor edx, ecx
mov esi, edi
mov dword [esp + 0x24], edi
xor esi, eax
mov dword [esp + 0x58], edx
mov ebx, esi
mov dword [esp + 0x20], esi
xor ebx, ecx
cmp dword [ebp + 0xc], 0x80
mov dword [esp + 0x5c], ebx
je 0x57c658
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x10]
mov eax, dword [ecx + 0x14]
bswap edx
bswap eax
xor edi, edx
xor ebx, eax
cmp dword [esp + 0x1c], 0x80
mov dword [esp + 0x24], edi
mov dword [esp + 0x5c], ebx
je 0x57c658
mov eax, dword [ecx + 0x18]
mov edx, dword [ecx + 0x1c]
bswap eax
bswap edx
xor esi, eax
xor dword [esp + 0x58], edx
mov dword [esp + 0x20], esi
mov ebx, dword [esp + 0x50]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x20]
mov esi, ebx
xor ecx, dword [ebx + 0x10]
xor edx, dword [ebx + 0x14]
xor eax, dword [ebx + 0x18]
mov ebx, dword [esp + 0x58]
xor ebx, dword [esi + 0x1c]
movzx esi, ch
mov edi, ebx
mov ebx, ecx
mov dword [esp + 0x4c], esi
movzx esi, cl
shr ebx, 0x18
shr ecx, 0x10
mov ebx, dword [ebx*4 + 0x6aed80]
movzx ecx, cl
xor ebx, dword [esi*4 + 0x6af180]
mov esi, dword [esp + 0x4c]
xor ebx, dword [ecx*4 + 0x6ae980]
mov ecx, ebx
movzx ebx, dh
xor ecx, dword [esi*4 + 0x6af580]
movzx esi, dl
mov dword [esp + 0x4c], ecx
mov ecx, edx
shr edx, 0x10
shr ecx, 0x18
movzx edx, dl
mov ecx, dword [ecx*4 + 0x6aed80]
xor ecx, dword [esi*4 + 0x6af180]
xor ecx, dword [edx*4 + 0x6ae980]
xor ecx, dword [ebx*4 + 0x6af580]
mov edx, eax
movzx ebx, al
mov esi, ecx
movzx ecx, ah
shr eax, 0x10
shr edx, 0x18
movzx eax, al
mov edx, dword [edx*4 + 0x6aed80]
xor edx, dword [ebx*4 + 0x6af180]
mov ebx, edi
xor edx, dword [eax*4 + 0x6ae980]
mov eax, dword [ecx*4 + 0x6af580]
movzx ecx, bh
movzx ebx, bl
xor eax, edx
mov edx, edi
shr edi, 0x10
shr edx, 0x18
mov edx, dword [edx*4 + 0x6aed80]
xor edx, dword [ebx*4 + 0x6af180]
mov ebx, edi
movzx ebx, bl
xor edx, dword [ebx*4 + 0x6ae980]
xor edx, dword [ecx*4 + 0x6af580]
mov ecx, edx
mov edx, esi
mov esi, dword [esp + 0x4c]
xor edx, eax
xor eax, ecx
xor esi, edx
xor ecx, edx
mov ebx, esi
mov esi, ecx
shl ecx, 8
xor eax, ebx
and ecx, 0xff00ff00
xor edx, eax
shr esi, 8
and esi, 0xff00ff
mov edi, edx
rol ebx, 0x10
or ecx, esi
mov esi, edx
shl edx, 8
bswap esi
and esi, 0xff0000ff
and edx, 0xff0000
shr edi, 8
xor esi, eax
and edi, 0xff00
xor eax, ecx
xor edx, esi
mov esi, dword [esp + 0x54]
xor edx, edi
mov edi, dword [esp + 0x30]
xor ecx, esi
mov esi, dword [esp + 0x38]
xor ebx, edx
xor eax, ebx
xor edi, ebx
xor esi, edx
mov ebx, edi
xor edx, ecx
xor esi, eax
mov edi, esi
mov esi, dword [esp + 0x28]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x3c], edi
xor esi, eax
mov eax, esi
mov esi, edx
mov edx, dword [esp + 0x50]
mov dword [esp + 0x4c], eax
mov ecx, dword [edx + 0x20]
mov dword [esp + 0x44], esi
xor ecx, ebx
mov ebx, edx
mov edx, dword [edx + 0x24]
xor eax, dword [ebx + 0x28]
mov ebx, dword [ebx + 0x2c]
xor edx, edi
xor ebx, esi
mov dword [esp + 0x50], edx
movzx edx, cl
movzx esi, ch
mov edi, ebx
mov ebx, ecx
shr ecx, 0x10
shr ebx, 0x18
movzx ecx, cl
mov ebx, dword [ebx*4 + 0x6af580]
xor ebx, dword [edx*4 + 0x6ae980]
mov edx, dword [esp + 0x50]
xor ebx, dword [ecx*4 + 0x6af180]
xor ebx, dword [esi*4 + 0x6aed80]
mov ecx, edx
movzx esi, dl
mov dword [esp + 0x48], ebx
movzx ebx, dh
shr ecx, 0x18
mov ecx, dword [ecx*4 + 0x6af580]
xor ecx, dword [esi*4 + 0x6ae980]
shr edx, 0x10
movzx edx, dl
xor ecx, dword [edx*4 + 0x6af180]
mov edx, dword [ebx*4 + 0x6aed80]
movzx ebx, al
xor edx, ecx
movzx ecx, ah
mov esi, edx
mov edx, eax
shr eax, 0x10
shr edx, 0x18
movzx eax, al
mov edx, dword [edx*4 + 0x6af580]
xor edx, dword [ebx*4 + 0x6ae980]
mov ebx, edi
xor edx, dword [eax*4 + 0x6af180]
xor edx, dword [ecx*4 + 0x6aed80]
movzx ebx, bl
mov eax, edx
mov edx, edi
movzx ecx, dh
shr edx, 0x18
xor esi, eax
mov edx, dword [edx*4 + 0x6af580]
xor edx, dword [ebx*4 + 0x6ae980]
mov ebx, edi
shr ebx, 0x10
movzx ebx, bl
xor edx, dword [ebx*4 + 0x6af180]
mov ebx, dword [esp + 0x48]
xor edx, dword [ecx*4 + 0x6aed80]
mov ecx, esi
xor ebx, esi
xor eax, edx
xor edx, esi
xor eax, ebx
bswap edx
xor ecx, eax
rol eax, 0x10
mov edi, ecx
shr ecx, 8
shl edi, 8
and ecx, 0xff00ff
and edi, 0xff00ff00
or ecx, edi
mov edi, dword [esp + 0x24]
xor ecx, eax
xor eax, edx
xor ebx, ecx
mov esi, edi
xor esi, ebx
xor eax, ebx
mov dword [esp + 0x50], esi
mov ebx, dword [esp + 0x5c]
mov esi, dword [esp + 0x20]
xor ebx, ecx
xor ebx, eax
xor eax, esi
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x38]
xor edx, eax
xor edx, ecx
mov ecx, eax
mov dword [esp + 0x34], edx
mov edx, eax
mov eax, edi
shld edx, edi, 0xd
mov edi, dword [esp + 0x30]
xor edx, edi
mov edi, dword [ebp + 0x10]
mov dword [edi], edx
mov edi, dword [esp + 0x5c]
mov edx, eax
shld edx, edi, 0xd
xor edx, ebx
mov ebx, dword [ebp + 0x10]
mov dword [ebx + 4], edx
mov edx, edi
mov edi, dword [esp + 0x28]
shld edx, esi, 0xd
xor edx, edi
mov dword [ebx + 8], edx
mov ebx, dword [esp + 0x54]
mov edx, esi
shld edx, ecx, 0xd
mov ecx, dword [ebp + 0x10]
xor edx, ebx
mov ebx, dword [esp + 0x3c]
mov dword [ecx + 0xc], edx
mov edx, dword [esp + 0x44]
shl edx, 0xd
xor edx, eax
mov eax, dword [esp + 0x2c]
mov ecx, eax
shr ecx, 0x13
xor edx, ecx
mov ecx, dword [ebp + 0x10]
mov dword [ecx + 0x10], edx
mov ecx, dword [esp + 0x5c]
mov edx, eax
shl edx, 0xd
xor edx, ecx
mov ecx, ebx
shr ecx, 0x13
xor edx, ecx
mov ecx, dword [ebp + 0x10]
mov dword [ecx + 0x14], edx
mov ecx, dword [esp + 0x4c]
mov edx, ebx
mov ebx, dword [ebp + 0x10]
shld edx, ecx, 0xd
shl ecx, 0xd
xor edx, esi
mov dword [ebx + 0x18], edx
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x58]
shr edx, 0x13
xor edx, ebx
xor edx, ecx
mov ecx, dword [ebp + 0x10]
mov dword [ecx + 0x1c], edx
mov edx, dword [esp + 0x34]
mov ecx, dword [ebp + 0x10]
shl edx, 0xd
xor edx, eax
mov eax, dword [esp + 0x50]
mov ebx, eax
shr ebx, 0x13
xor edx, ebx
mov dword [ecx + 0x20], edx
mov edx, eax
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
shl edx, 0xd
mov ebx, eax
xor edx, ecx
shr ebx, 0x13
mov ecx, dword [ebp + 0x10]
xor edx, ebx
mov ebx, dword [esp + 0x48]
mov dword [ecx + 0x24], edx
mov ecx, dword [esp + 0x4c]
mov edx, eax
shld edx, ebx, 0xd
shl ebx, 0xd
xor edx, ecx
mov ecx, dword [ebp + 0x10]
mov dword [ecx + 0x28], edx
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x44]
shr edx, 0x13
xor edx, ecx
mov ecx, dword [ebp + 0x10]
xor edx, ebx
mov ebx, dword [esp + 0x50]
mov dword [ecx + 0x2c], edx
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x54]
shld edx, ecx, 0xd
xor edx, ebx
mov ebx, dword [ebp + 0x10]
mov dword [ebx + 0x30], edx
mov ebx, dword [esp + 0x38]
mov edx, ecx
shld edx, ebx, 0xd
xor edx, eax
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x34], edx
mov eax, dword [esp + 0x48]
mov edx, ebx
shld edx, edi, 0xd
xor edx, eax
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x38], edx
mov edx, edi
mov edi, dword [esp + 0x54]
shld edx, edi, 0xd
mov edi, dword [esp + 0x34]
xor edx, edi
mov dword [eax + 0x3c], edx
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x58]
shld edx, eax, 1
xor edx, ecx
mov ecx, dword [ebp + 0x10]
mov edi, dword [ebp + 0x10]
mov dword [ecx + 0x40], edx
mov ecx, dword [esp + 0x5c]
mov edx, eax
shld edx, ecx, 1
xor edx, ebx
mov ebx, dword [esp + 0x58]
mov dword [edi + 0x44], edx
mov edi, dword [esp + 0x28]
mov edx, ecx
shld edx, esi, 1
mov ecx, dword [ebp + 0x10]
xor edx, edi
mov edi, dword [esp + 0x3c]
mov dword [ecx + 0x48], edx
mov edx, esi
shld edx, ebx, 1
mov ebx, dword [esp + 0x54]
xor edx, ebx
mov ebx, dword [esp + 0x2c]
mov dword [ecx + 0x4c], edx
mov edx, dword [esp + 0x44]
mov ecx, ebx
add edx, edx
shr ecx, 0x1f
xor edx, eax
xor edx, ecx
mov ecx, dword [ebp + 0x10]
mov dword [ecx + 0x50], edx
mov ecx, dword [esp + 0x5c]
lea edx, [ebx + ebx]
mov ebx, dword [esp + 0x58]
xor edx, ecx
mov ecx, edi
shr ecx, 0x1f
xor edx, ecx
mov ecx, dword [ebp + 0x10]
mov dword [ecx + 0x54], edx
mov edx, edi
mov edi, dword [esp + 0x4c]
shld edx, edi, 1
xor edx, esi
mov dword [ecx + 0x58], edx
mov edx, dword [esp + 0x44]
lea ecx, [edi + edi]
shr edx, 0x1f
xor edx, ebx
mov ebx, dword [esp + 0x50]
xor edx, ecx
mov ecx, dword [ebp + 0x10]
shr ebx, 0x1f
mov dword [ecx + 0x5c], edx
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x2c]
add edx, edx
xor edx, ecx
mov ecx, dword [ebp + 0x10]
xor edx, ebx
mov dword [ecx + 0x60], edx
mov ecx, dword [esp + 0x50]
lea edx, [ecx + ecx]
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x40]
xor edx, ecx
shr ebx, 0x1f
mov ecx, dword [ebp + 0x10]
xor edx, ebx
mov ebx, dword [esp + 0x48]
mov dword [ecx + 0x64], edx
mov edx, dword [esp + 0x40]
shld edx, ebx, 1
xor edx, edi
mov edi, ecx
mov dword [ecx + 0x68], edx
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x44]
shr edx, 0x1f
xor edx, ecx
lea ecx, [ebx + ebx]
mov ebx, dword [esp + 0x54]
xor edx, ecx
mov dword [edi + 0x6c], edx
movzx edx, byte [esp + 0xc]
lea ecx, [ebx + ebx]
mov ebx, dword [esp + 0x38]
shr dl, 7
movzx edx, dl
xor edx, ecx
mov ecx, dword [esp + 0x50]
xor edx, ecx
mov dword [edi + 0x70], edx
movzx edx, byte [esp + 0x10]
mov edi, dword [esp + 0x30]
shr dl, 7
lea ecx, [edi + edi]
movzx edx, dl
mov edi, dword [esp + 0x40]
xor edx, ecx
lea ecx, [ebx + ebx]
mov ebx, dword [esp + 0x48]
xor edx, edi
mov edi, dword [ebp + 0x10]
mov dword [edi + 0x74], edx
movzx edx, byte [esp + 0x14]
shr dl, 7
movzx edx, dl
xor edx, ecx
xor edx, ebx
mov dword [edi + 0x78], edx
movzx edx, byte [esp + 0x18]
mov edi, dword [esp + 0x28]
shr dl, 7
lea ecx, [edi + edi]
movzx edx, dl
mov edi, dword [esp + 0x34]
xor edx, ecx
mov ecx, dword [esp + 0x5c]
xor edx, edi
mov edi, dword [ebp + 0x10]
mov dword [edi + 0x7c], edx
mov edi, dword [esp + 0x30]
mov edx, ecx
shld edx, esi, 0x1d
xor edx, edi
mov edi, dword [ebp + 0x10]
mov dword [edi + 0x80], edx
mov edi, dword [esp + 0x58]
mov edx, esi
mov ebx, dword [esp + 0x38]
shld edx, edi, 0x1d
xor edx, ebx
mov ebx, dword [ebp + 0x10]
mov dword [ebx + 0x84], edx
mov edx, edi
mov edi, dword [esp + 0x28]
shld edx, eax, 0x1d
xor edx, edi
mov dword [ebx + 0x88], edx
mov ebx, dword [esp + 0x54]
mov edx, eax
shld edx, ecx, 0x1d
mov ecx, dword [ebp + 0x10]
xor edx, ebx
mov ebx, dword [esp + 0x44]
mov dword [ecx + 0x8c], edx
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x3c]
shld edx, ecx, 0x1d
shl ecx, 0x1d
xor edx, eax
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x90], edx
mov eax, dword [esp + 0x5c]
mov edx, ebx
shr edx, 3
xor edx, eax
mov eax, dword [ebp + 0x10]
xor edx, ecx
mov dword [eax + 0x94], edx
mov edx, ebx
mov ebx, dword [esp + 0x58]
shl edx, 0x1d
xor edx, esi
mov esi, dword [esp + 0x2c]
mov ecx, esi
shr ecx, 3
xor edx, ecx
mov dword [eax + 0x98], edx
mov eax, dword [esp + 0x3c]
mov edx, esi
shl edx, 0x1d
mov ecx, eax
xor edx, ebx
mov ebx, dword [esp + 0x48]
shr ecx, 3
xor edx, ecx
mov ecx, dword [ebp + 0x10]
mov dword [ecx + 0x9c], edx
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x4c]
shld edx, ebx, 0x1d
xor edx, esi
mov esi, dword [ebp + 0x10]
mov dword [esi + 0xa0], edx
mov esi, dword [esp + 0x34]
mov edx, esi
shr edx, 3
xor edx, eax
mov eax, ebx
mov ebx, dword [esp + 0x50]
shl eax, 0x1d
xor edx, eax
mov eax, dword [ebp + 0x10]
mov dword [eax + 0xa4], edx
mov edx, esi
mov eax, esi
mov esi, ebx
shl edx, 0x1d
shr esi, 3
xor edx, ecx
mov ecx, dword [ebp + 0x10]
xor edx, esi
mov dword [ecx + 0xa8], edx
mov esi, dword [esp + 0x40]
mov edx, ebx
mov ecx, dword [esp + 0x44]
shl edx, 0x1d
mov ebx, dword [esp + 0x38]
xor edx, ecx
mov ecx, esi
shr ecx, 3
xor edx, ecx
mov ecx, dword [ebp + 0x10]
mov dword [ecx + 0xac], edx
mov ecx, dword [esp + 0x50]
mov edx, ebx
shld edx, edi, 0x1d
xor edx, ecx
mov ecx, dword [ebp + 0x10]
mov dword [ecx + 0xb0], edx
mov ecx, dword [esp + 0x54]
mov edx, edi
shld edx, ecx, 0x1d
xor edx, esi
mov esi, dword [ebp + 0x10]
mov dword [esi + 0xb4], edx
mov edx, ecx
mov ecx, dword [esp + 0x30]
mov esi, dword [esp + 0x48]
shld edx, ecx, 0x1d
xor edx, esi
mov esi, dword [ebp + 0x10]
mov dword [esi + 0xb8], edx
mov edx, ecx
shld edx, ebx, 0x1d
xor edx, eax
mov eax, dword [esp + 0x24]
mov dword [esi + 0xbc], edx
mov esi, dword [esp + 0x5c]
mov edx, eax
shld edx, esi, 0x1f
xor edx, ecx
mov ecx, dword [ebp + 0x10]
mov dword [ecx + 0xc0], edx
mov edx, esi
mov esi, dword [esp + 0x20]
shld edx, esi, 0x1f
xor edx, ebx
mov ebx, ecx
mov dword [ecx + 0xc4], edx
mov edx, esi
mov esi, dword [esp + 0x58]
shld edx, esi, 0x1f
xor edx, edi
mov dword [ecx + 0xc8], edx
mov ecx, dword [esp + 0x54]
mov edx, esi
shld edx, eax, 0x1f
xor edx, ecx
cmp dword [ebp + 0xc], 0x80
mov dword [ebx + 0xcc], edx
je 0x57cfa9
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x3c]
mov esi, dword [esp + 0x24]
mov edi, dword [ebp + 0x10]
mov edx, eax
mov ecx, ebx
shl edx, 0x1f
shr ecx, 1
xor edx, esi
mov esi, dword [esp + 0x5c]
xor edx, ecx
mov ecx, dword [esp + 0x4c]
mov dword [edi + 0xd0], edx
mov edx, ebx
shld edx, ecx, 0x1f
shl ecx, 0x1f
xor edx, esi
mov dword [edi + 0xd4], edx
mov edi, dword [esp + 0x44]
mov esi, edi
shr esi, 1
mov edx, esi
mov esi, dword [esp + 0x20]
xor edx, esi
mov esi, dword [ebp + 0x10]
xor edx, ecx
mov ecx, eax
mov dword [esi + 0xd8], edx
mov esi, edi
shr ecx, 1
shl esi, 0x1f
mov edx, esi
mov esi, dword [esp + 0x58]
xor edx, esi
mov esi, dword [ebp + 0x10]
xor edx, ecx
mov ecx, dword [esp + 0x4c]
mov dword [esi + 0xdc], edx
mov edx, dword [esp + 0x50]
mov esi, dword [esp + 0x40]
shl edx, 0x1f
xor edx, eax
mov eax, esi
shr eax, 1
xor edx, eax
mov eax, dword [ebp + 0x10]
mov dword [eax + 0xe0], edx
mov eax, dword [esp + 0x48]
mov edx, esi
mov esi, dword [esp + 0x34]
shld edx, eax, 0x1f
xor edx, ebx
mov ebx, dword [ebp + 0x10]
mov dword [ebx + 0xe4], edx
mov edx, esi
shr edx, 1
xor edx, ecx
mov ecx, eax
shl ecx, 0x1f
xor edx, ecx
mov dword [ebx + 0xe8], edx
mov edx, esi
shl edx, 0x1f
xor edx, edi
mov edi, dword [esp + 0x50]
mov ecx, edi
shr ecx, 1
xor edx, ecx
cmp dword [esp + 0x1c], 0x80
mov dword [ebx + 0xec], edx
je 0x57cfa9
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x30]
movd xmm3, eax
movd xmm4, dword [esp + 0x54]
movd xmm5, dword [esp + 0x38]
movd xmm0, ecx
movd xmm2, ebx
movd xmm6, ebx
mov eax, dword [ebp + 0x10]
punpckldq xmm0, xmm4
punpckldq xmm2, xmm5
movdqa xmm1, xmm4
punpcklqdq xmm2, xmm0
movd xmm7, ecx
movdqa xmm0, xmm5
movd xmm5, dword [esp + 0x40]
punpckldq xmm1, xmm6
punpckldq xmm0, xmm7
movd xmm4, esi
movd xmm6, dword [esp + 0x24]
punpcklqdq xmm0, xmm1
movdqa xmm1, xmm2
punpckldq xmm3, xmm4
movd xmm7, dword [esp + 0x20]
pslld xmm1, 0x1f
psrld xmm0, 1
pxor xmm0, xmm1
movd xmm1, edi
mov edi, dword [esp + 0x58]
punpckldq xmm1, xmm5
punpcklqdq xmm1, xmm3
movd xmm4, edi
pxor xmm0, xmm1
movd xmm1, edi
movups xmmword [eax + 0xf0], xmm0
mov eax, dword [esp + 0x5c]
punpckldq xmm1, xmm6
movd xmm0, eax
movd xmm5, eax
mov eax, dword [ebp + 0x10]
punpckldq xmm0, xmm7
punpcklqdq xmm0, xmm1
movdqa xmm1, xmm7
movdqa xmm3, xmm0
movdqa xmm0, xmm6
punpckldq xmm1, xmm4
punpckldq xmm0, xmm5
psrld xmm3, 0xd
punpcklqdq xmm0, xmm1
pslld xmm0, 0x13
pxor xmm0, xmm3
pxor xmm0, xmm2
movups xmmword [eax + 0x100], xmm0
xor eax, eax
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, 0xfffffffe
jmp 0x57cfab
mov eax, 0xffffffff
jmp 0x57cfab