Function at 0x5747e0
Capabilities:
Encrypt data using curve25519
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x2bc
mov eax, dword [esp + 0x2d8]
mov ecx, dword [esp + 0x2d4]
xorps xmm0, xmm0
movups xmmword [esp + 0x25c], xmm0
movups xmmword [esp + 0x24c], xmm0
mov dword [esp + 0x270], 0
mov dword [esp + 0x26c], 0
movups xmmword [esp + 0x1e4], xmm0
movups xmmword [esp + 0x1d4], xmm0
mov dword [esp + 0x1f8], 0
mov dword [esp + 0x1f4], 0
movups xmmword [esp + 0x234], xmm0
movups xmmword [esp + 0x224], xmm0
mov dword [esp + 0x248], 0
mov dword [esp + 0x244], 0
movups xmmword [esp + 0x1bc], xmm0
movups xmmword [esp + 0x1ac], xmm0
mov dword [esp + 0x1d0], 0
mov dword [esp + 0x1cc], 0
movups xmmword [esp + 0x174], xmm0
movups xmmword [esp + 0x164], xmm0
mov dword [esp + 0x188], 0
mov dword [esp + 0x184], 0
movups xmmword [esp + 0x20c], xmm0
movups xmmword [esp + 0x1fc], xmm0
mov dword [esp + 0x220], 0
mov dword [esp + 0x21c], 0
movups xmmword [esp + 0x118], xmm0
movups xmmword [esp + 0x108], xmm0
mov dword [esp + 0x12c], 0
mov dword [esp + 0x128], 0
movups xmmword [esp + 0x14c], xmm0
movups xmmword [esp + 0x13c], xmm0
mov dword [esp + 0x160], 0
mov dword [esp + 0x15c], 0
movups xmm0, xmmword [ecx]
movups xmm1, xmmword [ecx + 0x10]
movups xmmword [esp + 0x29c], xmm0
and byte [esp + 0x29c], 0xf8
movups xmmword [esp + 0x2ac], xmm1
movzx ecx, byte [esp + 0x2bb]
and cl, 0x3f
or cl, 0x40
mov byte [esp + 0x2bb], cl
movups xmm0, xmmword [eax]
movups xmm1, xmmword [eax + 0x10]
movups xmmword [esp + 0x284], xmm1
movups xmmword [esp + 0x274], xmm0
and byte [esp + 0x293], 0x7f
lea ecx, [esp + 0x24c]
lea edx, [esp + 0x274]
call fcn.0056c0a0
xorps xmm0, xmm0
movups xmmword [esp + 0xa8], xmm0
movups xmmword [esp + 0xb8], xmm0
mov dword [esp + 0xc8], 0
mov dword [esp + 0xa4], 1
movups xmmword [esp + 0x7c], xmm0
movups xmmword [esp + 0x8c], xmm0
pxor xmm2, xmm2
mov dword [esp + 0xa0], 0
mov dword [esp + 0x9c], 0
movups xmm0, xmmword [esp + 0x24c]
movdqu xmm1, xmmword [esp + 0x25c]
movups xmmword [esp + 0xe0], xmm0
movdqu xmmword [esp + 0xf0], xmm1
movq xmm0, qword [esp + 0x26c]
movq qword [esp + 0x100], xmm0
movdqu xmmword [esp + 0x54], xmm2
movdqu xmmword [esp + 0x64], xmm2
mov dword [esp + 0x74], 0
mov dword [esp + 0x50], 1
mov eax, 0xfe
xor ecx, ecx
nop dword [eax + eax]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x78]
shr eax, 3
mov edx, ecx
movzx eax, byte [esp + eax + 0x29c]
mov ecx, dword [esp + 0x78]
and ecx, 7
bt eax, ecx
mov eax, 0
setb al
mov dword [esp + 0x138], eax
mov edi, dword [esp + 0xa4]
xor edx, eax
mov ebx, dword [esp + 0xa8]
mov ecx, dword [esp + 0xe0]
mov eax, dword [esp + 0xe4]
neg edx
mov esi, ecx
xor esi, edi
and esi, edx
xor edi, esi
mov dword [esp + 0x30], edi
mov dword [esp + 0xa4], edi
xor esi, ecx
mov dword [esp + 0x3c], esi
mov ecx, eax
mov dword [esp + 0xe0], esi
xor ecx, ebx
and ecx, edx
xor ebx, ecx
mov dword [esp + 0x34], ebx
mov dword [esp + 0xa8], ebx
xor ecx, eax
mov dword [esp + 0x4c], ecx
mov dword [esp + 0xe4], ecx
mov ecx, dword [esp + 0xac]
mov eax, dword [esp + 0xe8]
mov edi, eax
xor edi, ecx
and edi, edx
xor ecx, edi
mov dword [esp + 0x18], ecx
xor edi, eax
mov dword [esp + 0x48], edi
mov dword [esp + 0xac], ecx
mov dword [esp + 0xe8], edi
mov ecx, dword [esp + 0xb0]
mov eax, dword [esp + 0xec]
mov edi, eax
xor edi, ecx
and edi, edx
xor ecx, edi
mov dword [esp + 0x40], ecx
xor edi, eax
mov dword [esp + 0x44], edi
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xec], edi
mov edi, dword [esp + 0xb4]
mov eax, dword [esp + 0xf0]
mov ebx, eax
xor ebx, edi
and ebx, edx
xor edi, ebx
mov dword [esp + 0xdc], edi
xor ebx, eax
mov dword [esp + 0x38], ebx
mov esi, dword [esp + 0x7c]
mov ecx, dword [esp + 0x50]
mov eax, ecx
xor eax, esi
mov dword [esp + 0x10], edx
and eax, edx
xor esi, eax
mov dword [esp + 0x24], esi
xor eax, ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x7c], esi
mov ebp, dword [esp + 0x80]
mov ecx, dword [esp + 0x54]
mov eax, ecx
xor eax, ebp
and eax, edx
xor ebp, eax
mov dword [esp + 0x18c], ebp
xor eax, ecx
mov dword [esp + 0xc], eax
mov dword [esp + 0xb4], edi
mov dword [esp + 0xf0], ebx
mov esi, dword [esp + 0xb8]
mov ecx, dword [esp + 0xf4]
mov ebx, ecx
xor ebx, esi
and ebx, edx
xor esi, ebx
mov edi, esi
mov dword [esp + 0xd8], esi
xor ebx, ecx
mov esi, ebx
mov dword [esp + 0x80], ebp
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x84]
mov ebx, eax
xor ebx, ecx
and ebx, edx
xor ecx, ebx
mov dword [esp], ecx
xor ebx, eax
mov dword [esp + 0x28], ebx
mov dword [esp + 0x84], ecx
mov dword [esp + 0x58], ebx
mov ecx, dword [esp + 0x88]
mov eax, dword [esp + 0x5c]
mov ebx, eax
xor ebx, ecx
and ebx, edx
xor ecx, ebx
mov dword [esp + 4], ecx
xor ebx, eax
mov dword [esp + 8], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x88], ecx
mov ebx, dword [esp + 0x8c]
mov ecx, dword [esp + 0x60]
mov eax, ecx
xor eax, ebx
and eax, edx
xor ebx, eax
mov dword [esp + 0xd4], ebx
xor eax, ecx
mov dword [esp + 0xb8], edi
mov dword [esp + 0xf4], esi
mov ebp, esi
mov dword [esp + 0x130], esi
mov edi, dword [esp + 0xbc]
mov ecx, dword [esp + 0xf8]
mov esi, ecx
xor esi, edi
and esi, edx
xor edi, esi
mov dword [esp + 0xcc], edi
xor esi, ecx
mov dword [esp + 0xd0], esi
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x60], eax
mov edi, eax
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x90]
mov esi, eax
xor esi, ecx
and esi, edx
xor ecx, esi
mov dword [esp + 0x19c], ecx
xor esi, eax
mov dword [esp + 0x90], ecx
mov dword [esp + 0x64], esi
mov dword [esp + 0x134], esi
mov ebx, dword [esp + 0x94]
mov ecx, dword [esp + 0x68]
mov eax, ecx
xor eax, ebx
and eax, edx
xor ebx, eax
mov dword [esp + 0x20], ebx
xor eax, ecx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x3c]
sub eax, dword [esp + 0x14]
add eax, 0x7ffffda
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0x4c]
sub eax, dword [esp + 0xc]
add eax, 0x3fffffe
mov dword [esp + 0x10c], eax
mov eax, dword [esp + 0x48]
sub eax, dword [esp + 0x28]
add eax, 0x7fffffe
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0x44]
sub eax, dword [esp + 8]
add eax, 0x3fffffe
mov dword [esp + 0x114], eax
mov eax, dword [esp + 0x38]
sub eax, edi
add eax, 0x7fffffe
mov dword [esp + 0x118], eax
sub ebp, esi
add ebp, 0x3fffffe
mov dword [esp + 0x11c], ebp
mov ecx, dword [esp + 0x30]
mov eax, ecx
mov edx, dword [esp + 0x24]
sub eax, edx
add eax, 0x7ffffda
mov dword [esp + 0x13c], eax
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x18c]
sub eax, edi
add eax, 0x3fffffe
mov dword [esp + 0x140], eax
mov eax, dword [esp + 0x18]
sub eax, dword [esp]
add eax, 0x7fffffe
mov dword [esp + 0x144], eax
mov eax, dword [esp + 0x40]
sub eax, dword [esp + 4]
add eax, 0x3fffffe
mov dword [esp + 0x148], eax
mov eax, dword [esp + 0xdc]
sub eax, dword [esp + 0xd4]
add eax, 0x7fffffe
mov dword [esp + 0x14c], eax
mov eax, dword [esp + 0xd8]
sub eax, dword [esp + 0x19c]
add eax, 0x3fffffe
mov dword [esp + 0x150], eax
add edx, ecx
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0xcc]
mov dword [esp + 0xbc], edx
mov ebp, dword [esp + 0xd0]
mov dword [esp + 0xf8], ebp
mov eax, dword [esp + 0xc0]
mov esi, dword [esp + 0xfc]
mov ecx, esi
xor ecx, eax
mov ebx, dword [esp + 0x10]
and ecx, ebx
xor eax, ecx
xor ecx, esi
mov dword [esp + 0x30], ecx
mov ecx, ebp
mov ebp, dword [esp + 0x1c]
sub ecx, ebp
add ecx, 0x7fffffe
mov dword [esp + 0x120], ecx
mov ecx, edx
mov edx, dword [esp + 0x20]
sub ecx, edx
add ecx, 0x7fffffe
mov dword [esp + 0x154], ecx
add edi, dword [esp + 0x34]
mov dword [esp + 0x18c], edi
mov ecx, dword [esp]
add ecx, dword [esp + 0x18]
mov dword [esp], ecx
mov ecx, dword [esp + 4]
add ecx, dword [esp + 0x40]
mov dword [esp + 4], ecx
mov dword [esp + 0x94], edx
mov edi, edx
mov dword [esp + 0x68], ebp
mov esi, dword [esp + 0x98]
mov ecx, dword [esp + 0x6c]
mov edx, ecx
xor edx, esi
and edx, ebx
xor esi, edx
xor edx, ecx
mov dword [esp + 0x18], edx
mov ebp, dword [esp + 0xd4]
add ebp, dword [esp + 0xdc]
mov ecx, dword [esp + 0xd8]
add dword [esp + 0x19c], ecx
add edi, dword [esp + 0xcc]
mov dword [esp + 0x20], edi
mov dword [esp + 0xc0], eax
mov edx, dword [esp + 0x30]
mov dword [esp + 0xfc], edx
mov ebx, dword [esp + 0xc4]
mov ecx, dword [esp + 0x100]
mov edi, ecx
xor edi, ebx
and edi, dword [esp + 0x10]
xor ebx, edi
xor edi, ecx
mov dword [esp + 0x98], esi
mov ecx, eax
sub ecx, esi
add esi, eax
mov eax, edx
sub eax, dword [esp + 0x18]
add eax, 0x3fffffe
mov dword [esp + 0x124], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x1ac], eax
mov eax, dword [esp + 0x18c]
mov dword [esp + 0x1b0], eax
add ecx, 0x3fffffe
mov dword [esp + 0x158], ecx
mov eax, dword [esp]
mov dword [esp + 0x1b4], eax
mov eax, dword [esp + 4]
mov dword [esp + 0x1b8], eax
mov dword [esp + 0x1bc], ebp
mov dword [esp + 0xc4], ebx
mov dword [esp + 0x100], edi
mov ecx, dword [esp + 0xc8]
mov eax, dword [esp + 0x104]
mov edx, eax
xor edx, ecx
mov ebp, dword [esp + 0x10]
and edx, ebp
xor ecx, edx
mov dword [esp + 4], ecx
xor edx, eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x70]
mov dword [esp], ecx
mov ecx, dword [esp]
xor ecx, eax
and ecx, ebp
xor eax, ecx
xor ecx, dword [esp]
mov dword [esp + 0x9c], eax
mov ebp, ebx
sub ebx, eax
add eax, ebp
mov ebp, dword [esp + 0x19c]
mov dword [esp + 0x1c0], ebp
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x1c4], ebp
mov dword [esp + 0x1c8], esi
mov dword [esp + 0x1cc], eax
mov eax, edi
sub eax, ecx
add eax, 0x7fffffe
mov dword [esp + 0x128], eax
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x3c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xc]
add eax, dword [esp + 0x4c]
mov dword [esp + 0xc], eax
add ebx, 0x7fffffe
mov dword [esp + 0x15c], ebx
mov eax, dword [esp + 0x28]
add eax, dword [esp + 0x48]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 8]
add eax, dword [esp + 0x44]
mov dword [esp + 8], eax
mov dword [esp + 0x70], ecx
mov ebx, dword [esp + 0xa0]
mov eax, dword [esp + 0x74]
mov esi, eax
xor esi, ebx
and esi, dword [esp + 0x10]
mov ebp, dword [esp + 0x2c]
add ebp, dword [esp + 0x38]
mov dword [esp + 0x2c], ebp
mov ebp, dword [esp + 0x134]
add ebp, dword [esp + 0x130]
xor ebx, esi
xor esi, eax
mov eax, dword [esp + 0xd0]
add dword [esp + 0x1c], eax
mov eax, dword [esp + 0x30]
add dword [esp + 0x18], eax
add ecx, edi
mov edi, dword [esp + 4]
mov dword [esp + 0xc8], edi
mov dword [esp + 0xa0], ebx
mov eax, edi
sub eax, ebx
add ebx, edi
mov edi, dword [esp + 0x14]
mov dword [esp + 0x164], edi
mov edi, dword [esp + 0xc]
mov dword [esp + 0x168], edi
mov edi, dword [esp + 0x28]
mov dword [esp + 0x16c], edi
mov dword [esp + 0x104], edx
mov dword [esp + 0x74], esi
mov edi, edx
sub edi, esi
add esi, edx
mov edx, dword [esp + 8]
mov dword [esp + 0x170], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x174], edx
mov dword [esp + 0x178], ebp
mov dword [esp + 0x1d0], ebx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x17c], edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x180], edx
add edi, 0x3fffffe
mov dword [esp + 0x12c], edi
mov dword [esp + 0x184], ecx
mov dword [esp + 0x188], esi
add eax, 0x3fffffe
mov dword [esp + 0x160], eax
lea ecx, [esp + 0x50]
lea edx, [esp + 0x108]
lea esi, [esp + 0x1ac]
push esi
call fcn.00575b10
add esp, 4
lea ecx, [esp + 0x7c]
lea edx, [esp + 0x164]
lea edi, [esp + 0x13c]
push edi
call fcn.00575b10
add esp, 4
lea ecx, [esp + 0x1d4]
mov edx, edi
call fcn.00576a90
lea ebp, [esp + 0x224]
mov ecx, ebp
mov edx, esi
call fcn.00576a90
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x9c]
lea esi, [edx + eax]
mov ecx, dword [esp + 0x74]
mov edi, dword [esp + 0xa0]
lea ebx, [edi + ecx]
mov dword [esp + 0x21c], esi
mov dword [esp + 0x220], ebx
sub eax, edx
add eax, 0x7fffffe
sub ecx, edi
add ecx, 0x3fffffe
movdqu xmm1, xmmword [esp + 0x50]
movdqu xmm0, xmmword [esp + 0x60]
movdqu xmm2, xmmword [esp + 0x7c]
movdqu xmm3, xmmword [esp + 0x8c]
movdqa xmm4, xmm2
paddd xmm4, xmm1
movdqu xmmword [esp + 0x1fc], xmm4
psubd xmm1, xmm2
movdqa xmm2, xmmword [0x5a59f0]
paddd xmm1, xmm2
movdqu xmmword [esp + 0x164], xmm1
movdqa xmm1, xmm3
paddd xmm1, xmm0
movdqu xmmword [esp + 0x20c], xmm1
psubd xmm0, xmm3
movdqa xmm1, xmmword [0x5a5a00]
paddd xmm0, xmm1
movdqu xmmword [esp + 0x174], xmm0
mov dword [esp + 0x184], eax
mov dword [esp + 0x188], ecx
lea ecx, [esp + 0xa4]
mov edx, ebp
lea eax, [esp + 0x1d4]
push eax
call fcn.00575b10
add esp, 4
mov esi, dword [esp + 0x244]
mov eax, dword [esp + 0x1f4]
mov dword [esp + 0x28], eax
sub esi, eax
add esi, 0x7fffffe
mov dword [esp + 0x4c], esi
mov ecx, dword [esp + 0x248]
mov eax, dword [esp + 0x1f8]
mov dword [esp + 0x18], eax
sub ecx, eax
add ecx, 0x3fffffe
mov eax, ecx
mov dword [esp + 0x20], ecx
movdqu xmm0, xmmword [esp + 0x224]
movdqu xmm1, xmmword [esp + 0x234]
movdqu xmm3, xmmword [esp + 0x1d4]
movdqu xmmword [esp + 0x19c], xmm3
movdqu xmm2, xmmword [esp + 0x1e4]
movdqu xmmword [esp + 0x18c], xmm2
psubd xmm0, xmm3
mov ebx, 0x1db42
mul ebx
mov dword [esp + 0x24], eax
mov dword [esp + 0x1c], edx
psubd xmm1, xmm2
paddd xmm1, xmmword [0x5a5a00]
mov eax, esi
mul ebx
mov dword [esp + 0x2c], eax
mov dword [esp + 4], edx
pshufd xmm2, xmm1, 0xff
movd eax, xmm2
mul ebx
mov dword [esp + 0x48], eax
mov dword [esp], edx
pshufd xmm2, xmm1, 0xee
movd eax, xmm2
mul ebx
mov dword [esp + 0x44], eax
mov dword [esp + 0x14], edx
pshufd xmm2, xmm1, 0x55
movd eax, xmm2
mul ebx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x10], edx
paddd xmm0, xmmword [0x5a59f0]
movd eax, xmm1
mul ebx
mov dword [esp + 0x38], eax
mov dword [esp + 8], edx
pshufd xmm2, xmm0, 0xff
movd eax, xmm2
mul ebx
mov dword [esp + 0xc], eax
mov edi, edx
pshufd xmm2, xmm0, 0xee
movd eax, xmm2
mul ebx
mov dword [esp + 0x34], eax
mov ebp, edx
pshufd xmm2, xmm0, 0x55
movd eax, xmm2
mul ebx
mov ecx, eax
mov esi, edx
movd eax, xmm0
mul ebx
shld edx, eax, 6
and eax, 0x3fffffe
add edx, ecx
mov dword [esp + 0x40], edx
adc esi, 0
shld esi, edx, 7
add esi, dword [esp + 0x34]
adc ebp, 0
shld ebp, esi, 6
add ebp, dword [esp + 0xc]
mov dword [esp + 0xc], ebp
adc edi, 0
shld edi, ebp, 7
add edi, dword [esp + 0x38]
mov edx, dword [esp + 8]
adc edx, 0
shld edx, edi, 6
and edi, 0x3ffffff
add edx, dword [esp + 0x3c]
mov dword [esp + 8], edx
mov ecx, dword [esp + 0x10]
adc ecx, 0
shld ecx, edx, 7
add ecx, dword [esp + 0x44]
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x14]
adc edx, 0
shld edx, ecx, 6
add edx, dword [esp + 0x48]
mov dword [esp + 0x14], edx
mov ecx, dword [esp]
adc ecx, 0
shld ecx, edx, 7
add ecx, dword [esp + 0x2c]
mov dword [esp], ecx
movdqu xmmword [esp + 0x13c], xmm0
movdqu xmmword [esp + 0x14c], xmm1
mov ebx, dword [esp + 4]
adc ebx, 0
shld ebx, ecx, 6
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x15c], ecx
add ebx, dword [esp + 0x24]
mov dword [esp + 4], ebx
mov edx, dword [esp + 0x1c]
adc edx, 0
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x160], ecx
shld edx, ebx, 7
lea ecx, [edx + edx*8]
lea ebx, [edx + ecx*2]
add ebx, eax
mov ecx, ebx
and ecx, 0x3ffffff
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0x1d4]
add eax, ecx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x1e4]
add eax, edi
mov dword [esp + 0x24], eax
lea ecx, [esp + 0x7c]
lea edx, [esp + 0x164]
call fcn.00576a90
mov eax, dword [esp + 0x40]
and eax, 0x1ffffff
and esi, 0x3ffffff
shr ebx, 0x1a
add ebx, eax
mov ebp, ebx
shr ebp, 0x19
add ebp, esi
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0xc]
and eax, 0x1ffffff
mov dword [esp + 0xc], eax
and ebx, 0x1ffffff
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], ebp
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], edi
mov edi, dword [esp + 8]
and edi, 0x1ffffff
mov edx, dword [esp + 0x10]
and edx, 0x3ffffff
mov dword [esp + 0x10], edx
mov ecx, dword [esp + 0x14]
and ecx, 0x1ffffff
mov dword [esp + 0x14], ecx
mov eax, dword [esp]
and eax, 0x3ffffff
mov dword [esp], eax
mov esi, dword [esp + 4]
and esi, 0x1ffffff
mov dword [esp + 4], esi
mov dword [esp + 0x64], edi
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], esi
lea ecx, [esp + 0xe0]
lea edx, [esp + 0x1fc]
call fcn.00576a90
movdqu xmm1, xmmword [esp + 0x19c]
pshufd xmm0, xmm1, 0x55
movd eax, xmm0
add eax, ebx
mov dword [esp + 8], eax
pshufd xmm0, xmm1, 0xee
movd eax, xmm0
add eax, ebp
pshufd xmm0, xmm1, 0xff
movd edx, xmm0
add edx, dword [esp + 0xc]
movdqu xmm1, xmmword [esp + 0x18c]
pshufd xmm0, xmm1, 0x55
movd esi, xmm0
add esi, edi
pshufd xmm0, xmm1, 0xee
movd edi, xmm0
add edi, dword [esp + 0x10]
pshufd xmm0, xmm1, 0xff
movd ebx, xmm0
add ebx, dword [esp + 0x14]
mov ecx, dword [esp]
add ecx, dword [esp + 0x28]
mov dword [esp], ecx
mov ecx, dword [esp + 4]
add ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x108], ebp
mov ebp, dword [esp + 8]
mov dword [esp + 0x10c], ebp
mov dword [esp + 0x110], eax
mov dword [esp + 0x114], edx
mov eax, dword [esp + 0x24]
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], esi
mov dword [esp + 0x120], edi
mov dword [esp + 0x124], ebx
mov eax, dword [esp]
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], ecx
lea ecx, [esp + 0x50]
lea edx, [esp + 0x24c]
lea esi, [esp + 0x7c]
push esi
call fcn.00575b10
add esp, 4
mov ecx, esi
lea edx, [esp + 0x13c]
lea eax, [esp + 0x108]
push eax
call fcn.00575b10
mov ecx, dword [esp + 0x13c]
mov eax, dword [esp + 0x7c]
add esp, 4
add eax, 0xffffffff
jb 0x574a40
neg ecx
movd xmm1, ecx
pshufd xmm0, xmm1, 0
movdqu xmm2, xmmword [esp + 0xa4]
movdqu xmm3, xmmword [esp + 0xb4]
movdqa xmm4, xmm0
pandn xmm4, xmm2
movdqu xmm2, xmmword [esp + 0xe0]
movdqu xmm5, xmmword [esp + 0xf0]
pand xmm2, xmm0
por xmm2, xmm4
movdqu xmmword [esp + 0xa4], xmm2
movdqa xmm2, xmm0
pandn xmm2, xmm3
pand xmm5, xmm0
por xmm5, xmm2
movdqu xmmword [esp + 0xb4], xmm5
movq xmm2, qword [esp + 0xc4]
movq xmm3, qword [esp + 0x100]
pshufd xmm1, xmm1, 0x50
movdqa xmm4, xmm1
pandn xmm4, xmm2
pand xmm3, xmm1
por xmm3, xmm4
movq qword [esp + 0xc4], xmm3
movdqu xmm2, xmmword [esp + 0x7c]
movdqu xmm3, xmmword [esp + 0x8c]
movdqa xmm4, xmm0
pandn xmm4, xmm2
movdqu xmm2, xmmword [esp + 0x50]
movdqu xmm5, xmmword [esp + 0x60]
pand xmm2, xmm0
por xmm2, xmm4
movdqu xmmword [esp + 0x7c], xmm2
pand xmm5, xmm0
pandn xmm0, xmm3
por xmm0, xmm5
movdqu xmmword [esp + 0x8c], xmm0
movq xmm0, qword [esp + 0x9c]
movq xmm2, qword [esp + 0x70]
pand xmm2, xmm1
pandn xmm1, xmm0
por xmm1, xmm2
movq qword [esp + 0x9c], xmm1
movq qword [esp + 0x294], xmm1
movups xmm0, xmmword [esp + 0x8c]
movups xmmword [esp + 0x284], xmm0
movups xmm0, xmmword [esp + 0x7c]
movups xmmword [esp + 0x274], xmm0
lea edx, [esp + 0x274]
lea edi, [esp + 0x7c]
mov ecx, edi
call fcn.00575780
lea esi, [esp + 0xa4]
mov ecx, esi
mov edx, esi
push edi
call fcn.00575b10
add esp, 4
mov edi, dword [esp + 0x2d0]
mov ecx, edi
mov edx, esi
call fcn.0056a0a0
push 0x20
push edi
push 0x5a5e48
call sym.fastboot.exe_CRYPTO_memcmp
add esp, 0xc
xor ecx, ecx
test eax, eax
setne cl
mov eax, ecx
add esp, 0x2bc
pop esi
pop edi
pop ebx
pop ebp
ret