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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xe0
mov esi, esp
mov dword [esi + 0xc8], ebp
mov dword [esi + 0xcc], esp
mov dword [esi + 0xd8], 0xffffffff
mov dword [esi + 0xd4], 0x577fd0
mov dword [esi + 0x1c], edx
lea eax, [esi + 0xd0]
mov edx, dword fs:[0]
mov dword [esi + 0xd0], edx
mov dword fs:[0], eax
mov edx, dword [ecx + 0xc]
mov dword [esi + 8], edx
inc edx
je 0x57eef7
mov edi, dword [ecx + 4]
mov dword [esi + 4], ecx
lea eax, [edi + 1]
mov dword [esi + 0x40], edi
mov ebx, eax
mov ecx, eax
shr ebx, 3
and ecx, 0xfffffff8
sub ecx, ebx
cmp edi, 8
cmovb ecx, edi
mov edi, dword [esi + 4]
mov ebx, ecx
shr ebx, 1
cmp edx, ebx
jbe 0x57e286
inc ecx
cmp edx, ecx
cmova ecx, edx
cmp ecx, 8
jae 0x57e304
xor eax, eax
cmp ecx, 4
setae al
lea edi, [eax*4 + 4]
jmp 0x57e33d
mov ecx, eax
xor edx, edx
mov ebx, edi
shr ecx, 4
test al, 0xf
setne dl
add edx, ecx
mov ecx, dword [edi]
je 0x57e2c6
movdqa xmm0, xmmword [0x589330]
mov edi, ecx
nop word cs:[eax + eax]
nop
pxor xmm1, xmm1
dec edx
pcmpgtb xmm1, xmmword [edi]
por xmm1, xmm0
movdqa xmmword [edi], xmm1
lea edi, [edi + 0x10]
jne 0x57e2b0
cmp eax, 0x10
jae 0x57e3ae
push eax
push ecx
add ecx, 0x10
push ecx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov ecx, dword [esi + 0x40]
mov dword [esi + 0x28], 0
mov dword [esi + 0x2c], 0xc
mov dword [esi + 0x24], ebx
cmp ecx, 0xffffffff
jne 0x57e3d6
mov ecx, dword [esi + 8]
xor eax, eax
jmp 0x57e958
cmp ecx, 0x20000000
jae 0x57eef7
shl ecx, 3
mov edi, 1
cmp ecx, 0xe
jb 0x57e33d
mov edx, 0x24924925
mov eax, ecx
mov edi, 0xffffffff
mul edx
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 2
dec ecx
bsr ecx, ecx
not ecx
shr edi, cl
inc edi
mov ecx, 0xc
mov eax, edi
mul ecx
jo 0x57eef7
add eax, 0xf
jb 0x57eef7
and eax, 0xfffffff0
lea ecx, [edi + 0x10]
mov ebx, eax
add ebx, ecx
jb 0x57eef7
cmp ebx, 0x7ffffff1
jae 0x57eef7
test ebx, ebx
mov dword [esi + 0x14], ecx
mov dword [esi + 0xc], edi
je 0x57e962
mov dword [esi + 0x10], eax
lea edx, [ebx + 0x10]
xor ecx, ecx
movzx eax, byte [0x5fd2ec]
call fcn.0056a9f0
test eax, eax
je 0x57eefc
mov edi, eax
and edi, 0xfffffff0
mov dword [edi + 0xc], eax
mov eax, dword [esi + 0x10]
add edi, 0x10
jmp 0x57e967
movq xmm0, qword [ecx]
movq xmm1, qword [ecx + 8]
movq qword [ecx + eax + 8], xmm1
movq qword [ecx + eax], xmm0
mov ecx, dword [esi + 0x40]
mov dword [esi + 0x28], 0
mov dword [esi + 0x2c], 0xc
mov dword [esi + 0x24], ebx
movd xmm0, dword [esi + 0x1c]
movd xmm1, dword [ebp + 8]
xor edi, edi
punpckldq xmm0, xmm1
movd xmm1, dword [ebp + 0x10]
pshufd xmm0, xmm0, 0x44
pxor xmm0, xmmword [str.uespemosarenegylmodnarodsetybdet]
movdqa xmmword [esi + 0xa0], xmm0
movd xmm0, dword [ebp + 0xc]
punpckldq xmm0, xmm1
pshufd xmm0, xmm0, 0x44
pxor xmm0, xmmword [0x589260]
movdqa xmmword [esi + 0xb0], xmm0
jmp 0x57e44a
mov ebx, dword [esi + 0xc]
mov edi, dword [esi + 0x10]
shr ebx, 0x19
lea eax, [edi - 0x10]
mov byte [ecx + edi], bl
mov ecx, dword [esi + 4]
and edx, eax
mov eax, dword [ecx]
mov byte [edx + eax + 0x10], bl
mov ebx, ecx
mov ecx, dword [esi + 0x40]
cmp edi, ecx
lea edi, [edi + 1]
je 0x57e93f
mov eax, dword [ebx]
cmp byte [eax + edi], 0x80
jne 0x57e43f
mov ecx, edi
mov dword [esi + 0x10], edi
neg edi
not ecx
mov dword [esi + 0x20], edi
lea ecx, [ecx + ecx*2]
lea ecx, [eax + ecx*4]
mov dword [esi + 0x18], ecx
nop word [eax + eax]
mov ecx, dword [esi + 0x20]
movaps xmm0, xmmword [esi + 0xa0]
mov dword [esi + 0xd8], 1
lea edx, [ecx + ecx*2]
movups xmmword [esi + 0x60], xmm0
movaps xmm0, xmmword [esi + 0xb0]
mov ecx, dword [esi + 0x1c]
movups xmmword [esi + 0x70], xmm0
mov dword [esi + 0x80], ecx
mov ecx, dword [ebp + 8]
mov dword [esi + 0x84], ecx
mov ecx, dword [ebp + 0xc]
mov dword [esi + 0x88], ecx
mov ecx, dword [ebp + 0x10]
mov dword [esi + 0x8c], ecx
lea ecx, [esi + 0x90]
mov dword [ecx + 8], 0
mov dword [ecx], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 4], 0
mov ecx, dword [eax + edx*4 - 0xc]
mov edx, dword [eax + edx*4 - 8]
lea eax, [esi + 0x60]
push eax
call fcn.00416c20
add esp, 4
mov eax, dword [esi + 0x98]
mov ecx, dword [esi + 0x90]
mov edx, dword [esi + 0x78]
mov edi, dword [esi + 0x7c]
movdqu xmm0, xmmword [esi + 0x68]
movdqu xmm3, xmmword [esi + 0x60]
shl eax, 0x18
xor edx, ecx
movdqa xmm5, xmm0
or eax, dword [esi + 0x94]
movd xmm4, edx
movd xmm2, edx
psrlq xmm5, 0x33
xor edi, eax
movd xmm1, edi
punpckldq xmm2, xmm1
punpcklqdq xmm1, xmm4
punpcklqdq xmm2, xmm3
shufps xmm1, xmm0, 0xe2
movaps xmm4, xmm1
paddq xmm2, xmm0
psllq xmm1, 0x10
psllq xmm0, 0xd
pshufd xmm3, xmm2, 0xff
psrlq xmm4, 0x30
movsd xmm0, xmm1
movdqa xmm1, xmm2
movd edx, xmm3
movsd xmm5, xmm4
orpd xmm0, xmm5
movd xmm3, edx
shufps xmm1, xmm3, 0x4e
xorpd xmm0, xmm2
shufps xmm1, xmm2, 0x42
movapd xmm2, xmm0
movapd xmm3, xmm0
psrlq xmm2, 0x2b
psrlq xmm3, 0x2f
paddq xmm1, xmm0
movsd xmm3, xmm2
movdqa xmm2, xmm0
psllq xmm0, 0x11
psllq xmm2, 0x15
movsd xmm0, xmm2
pshufd xmm2, xmm1, 0xff
movd edi, xmm2
pshufd xmm2, xmm1, 0x55
orpd xmm0, xmm3
movd edx, xmm2
xor edi, 0xff
xorpd xmm0, xmm1
xor edx, eax
movd eax, xmm1
movd xmm2, edi
xor eax, ecx
movd xmm4, edx
shufpd xmm1, xmm2, 1
movd xmm3, eax
shufps xmm1, xmm0, 0xe2
punpcklqdq xmm4, xmm3
movaps xmm3, xmm0
shufps xmm3, xmm4, 0x24
movaps xmm4, xmm0
paddq xmm1, xmm3
psrlq xmm4, 0x33
pshufd xmm2, xmm1, 0xff
movd eax, xmm2
movaps xmm2, xmm0
psrlq xmm2, 0x30
movd xmm3, eax
movsd xmm4, xmm2
movaps xmm2, xmm0
psllq xmm0, 0xd
psllq xmm2, 0x10
movsd xmm0, xmm2
movdqa xmm2, xmm1
orpd xmm0, xmm4
shufps xmm2, xmm3, 0x4e
xorpd xmm0, xmm1
shufps xmm2, xmm1, 0x42
movapd xmm1, xmm0
movapd xmm3, xmm0
paddq xmm2, xmm0
psrlq xmm1, 0x2b
psrlq xmm3, 0x2f
movsd xmm3, xmm1
movdqa xmm1, xmm0
psllq xmm0, 0x11
psllq xmm1, 0x15
movsd xmm0, xmm1
pshufd xmm1, xmm2, 0xff
movd eax, xmm1
orpd xmm0, xmm3
movdqa xmm1, xmm2
movd xmm3, eax
xorpd xmm0, xmm2
shufps xmm1, xmm3, 0x4e
movapd xmm4, xmm0
shufps xmm1, xmm2, 0x42
psrlq xmm4, 0x33
paddq xmm1, xmm0
pshufd xmm2, xmm1, 0xff
movd eax, xmm2
movdqa xmm2, xmm0
psrlq xmm2, 0x30
movd xmm3, eax
movsd xmm4, xmm2
movdqa xmm2, xmm0
psllq xmm0, 0xd
psllq xmm2, 0x10
movsd xmm0, xmm2
movdqa xmm2, xmm1
orpd xmm0, xmm4
shufps xmm2, xmm3, 0x4e
xorpd xmm0, xmm1
shufps xmm2, xmm1, 0x42
movapd xmm1, xmm0
movapd xmm3, xmm0
paddq xmm2, xmm0
psrlq xmm1, 0x2b
psrlq xmm3, 0x2f
movsd xmm3, xmm1
movdqa xmm1, xmm0
psllq xmm0, 0x11
psllq xmm1, 0x15
movsd xmm0, xmm1
pshufd xmm1, xmm2, 0xff
movd eax, xmm1
orpd xmm0, xmm3
movdqa xmm1, xmm2
movd xmm3, eax
xorpd xmm0, xmm2
shufps xmm1, xmm3, 0x4e
movapd xmm3, xmm0
shufps xmm1, xmm2, 0x42
movapd xmm2, xmm0
psrlq xmm3, 0x33
psrlq xmm2, 0x30
paddq xmm1, xmm0
movsd xmm3, xmm2
movdqa xmm2, xmm0
psllq xmm0, 0xd
psllq xmm2, 0x10
movsd xmm0, xmm2
orpd xmm0, xmm3
xorpd xmm0, xmm1
pshufd xmm2, xmm0, 0xee
paddq xmm2, xmm1
pshufd xmm1, xmm2, 0x55
movd ecx, xmm2
movdqa xmm2, xmm0
movd eax, xmm1
movdqa xmm1, xmm0
psrlq xmm2, 0x2f
psrlq xmm1, 0x2b
xor eax, ecx
movsd xmm2, xmm1
movdqa xmm1, xmm0
psllq xmm0, 0x11
psllq xmm1, 0x15
movsd xmm0, xmm1
orpd xmm0, xmm2
pshufd xmm1, xmm0, 0xee
pxor xmm1, xmm0
movd edi, xmm1
xor edi, eax
mov eax, dword [esi + 4]
mov dword [esi + 0xc], edi
mov edx, dword [eax + 4]
mov ecx, dword [eax]
mov eax, edx
and eax, edi
movdqu xmm0, xmmword [ecx + eax]
mov edi, eax
mov dword [esi + 8], eax
pmovmskb ebx, xmm0
test ebx, ebx
jne 0x57e7f4
mov edi, dword [esi + 8]
mov eax, 0x10
nop word cs:[eax + eax]
nop dword [eax + eax]
add edi, eax
add eax, 0x10
and edi, edx
movdqu xmm0, xmmword [ecx + edi]
pmovmskb ebx, xmm0
test ebx, ebx
je 0x57e7e0
tzcnt ebx, ebx
add ebx, edi
and ebx, edx
cmp byte [ecx + ebx], 0
js 0x57e80e
movdqa xmm0, xmmword [ecx]
pmovmskb eax, xmm0
tzcnt ebx, eax
mov eax, dword [esi + 0x10]
mov edi, ebx
sub edi, dword [esi + 8]
sub eax, dword [esi + 8]
xor edi, eax
and edi, edx
cmp edi, 0x10
jb 0x57e420
lea eax, [ebx - 0x10]
mov edi, dword [esi + 4]
and eax, edx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x14], eax
movzx eax, byte [ecx + ebx]
shr edx, 0x19
mov byte [ecx + ebx], dl
mov byte [esi + 8], al
mov eax, dword [esi + 0x14]
not ebx
mov edi, dword [edi]
cmp byte [esi + 8], 0xff
mov byte [eax + edi + 0x10], dl
lea eax, [ebx + ebx*2]
lea eax, [ecx + eax*4]
je 0x57e910
mov edi, dword [esi + 0x18]
movzx edx, byte [eax]
movzx ecx, byte [edi]
mov byte [edi], dl
mov byte [eax], cl
movzx ecx, byte [edi + 1]
movzx edx, byte [eax + 1]
mov byte [edi + 1], dl
mov byte [eax + 1], cl
movzx ecx, byte [edi + 2]
movzx edx, byte [eax + 2]
mov byte [edi + 2], dl
mov byte [eax + 2], cl
movzx ecx, byte [edi + 3]
movzx edx, byte [eax + 3]
mov byte [edi + 3], dl
mov byte [eax + 3], cl
movzx ecx, byte [edi + 4]
movzx edx, byte [eax + 4]
mov byte [edi + 4], dl
mov byte [eax + 4], cl
movzx ecx, byte [edi + 5]
movzx edx, byte [eax + 5]
mov byte [edi + 5], dl
mov byte [eax + 5], cl
movzx ecx, byte [edi + 6]
movzx edx, byte [eax + 6]
mov byte [edi + 6], dl
mov byte [eax + 6], cl
movzx ecx, byte [edi + 7]
movzx edx, byte [eax + 7]
mov byte [edi + 7], dl
mov byte [eax + 7], cl
movzx ecx, byte [edi + 8]
movzx edx, byte [eax + 8]
mov byte [edi + 8], dl
mov byte [eax + 8], cl
movzx ecx, byte [edi + 9]
movzx edx, byte [eax + 9]
mov byte [edi + 9], dl
mov byte [eax + 9], cl
movzx ecx, byte [edi + 0xa]
movzx edx, byte [eax + 0xa]
mov byte [edi + 0xa], dl
mov byte [eax + 0xa], cl
movzx ecx, byte [edi + 0xb]
movzx edx, byte [eax + 0xb]
mov byte [edi + 0xb], dl
mov byte [eax + 0xb], cl
mov eax, dword [esi + 4]
mov eax, dword [eax]
jmp 0x57e470
mov ebx, dword [esi + 4]
mov edi, dword [esi + 0x10]
mov edx, dword [ebx]
lea ecx, [edi - 0x10]
and ecx, dword [ebx + 4]
mov byte [edx + edi], 0xff
mov edx, dword [ebx]
mov byte [ecx + edx + 0x10], 0xff
mov edx, dword [esi + 0x18]
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
movq xmm0, qword [edx]
movq qword [eax], xmm0
jmp 0x57e43c
mov ecx, dword [ebx + 4]
lea eax, [ecx + 1]
mov edx, eax
and eax, 0xfffffff8
shr edx, 3
sub eax, edx
cmp ecx, 8
cmovb eax, ecx
mov ecx, dword [ebx + 0xc]
sub eax, ecx
mov dword [ebx + 8], eax
jmp 0x57eede
mov edi, 0x10
mov ecx, dword [esi + 0xc]
mov edx, ecx
mov ebx, ecx
shr edx, 3
and ebx, 0xfffffff8
sub ebx, edx
cmp ecx, 9
lea ecx, [ecx - 1]
cmovb ebx, ecx
add edi, eax
mov eax, dword [esi + 4]
mov dword [esi + 0x18], ecx
add eax, 0x10
mov dword [esi + 0xc], eax
push dword [esi + 0x14]
push 0xff
push edi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x18]
mov dword [esi + 0xa0], edi
mov dword [esi + 0x58], ebx
mov dword [esi + 0x24], eax
mov dword [esi + 0x28], 0xc
mov dword [esi + 0x2c], 0x10
mov dword [esi + 0x30], edi
mov dword [esi + 0x34], ecx
mov ecx, dword [esi + 8]
mov dword [esi + 0x38], ebx
mov dword [esi + 0x3c], 0
test ecx, ecx
je 0x57ee89
mov eax, dword [esi + 4]
movd xmm1, dword [ebp + 8]
mov ebx, dword [eax]
xor eax, eax
movdqa xmm0, xmmword [ebx]
mov edi, ebx
pmovmskb edx, xmm0
movd xmm0, dword [esi + 0x1c]
not edx
punpckldq xmm0, xmm1
movd xmm1, dword [ebp + 0x10]
pshufd xmm0, xmm0, 0x44
pxor xmm0, xmmword [str.uespemosarenegylmodnarodsetybdet]
movdqa xmmword [esi + 0xb0], xmm0
movd xmm0, dword [ebp + 0xc]
punpckldq xmm0, xmm1
pshufd xmm0, xmm0, 0x44
pxor xmm0, xmmword [0x589260]
movdqa xmmword [esi + 0x40], xmm0
jmp 0x57ea97
lea ecx, [edx - 0x10]
shr eax, 0x19
and ecx, ebx
mov byte [edi + edx], al
not edx
mov byte [ecx + edi + 0x10], al
mov ecx, dword [esi + 0x14]
lea edx, [edx + edx*2]
lea eax, [ecx - 1]
and eax, ecx
mov ecx, dword [esi + 4]
mov dword [esi + 0x14], eax
mov eax, edi
mov edi, dword [ecx]
mov ecx, dword [esi + 0x20]
not ecx
lea ecx, [ecx + ecx*2]
mov ebx, dword [edi + ecx*4 + 8]
mov dword [eax + edx*4 + 8], ebx
mov ebx, edi
movq xmm0, qword [edi + ecx*4]
mov ecx, dword [esi + 8]
mov edi, dword [esi + 0x10]
movq qword [eax + edx*4], xmm0
mov eax, dword [esi + 0xc]
dec ecx
mov edx, dword [esi + 0x14]
test ecx, ecx
je 0x57ee7e
test dx, dx
mov dword [esi + 8], ecx
jne 0x57eac3
nop
movdqa xmm0, xmmword [edi + 0x10]
add edi, 0x10
add eax, 0x10
pmovmskb edx, xmm0
cmp edx, 0xffff
je 0x57eaa0
not edx
mov dword [esi + 0xd8], 0
tzcnt ecx, edx
movaps xmm0, xmmword [esi + 0xb0]
mov dword [esi + 0xc], eax
movaps xmm1, xmmword [esi + 0x40]
mov dword [esi + 0x14], edx
mov dword [esi + 0x10], edi
add ecx, eax
mov eax, ecx
mov dword [esi + 0x20], ecx
mov ecx, dword [esi + 0x1c]
neg eax
movups xmmword [esi + 0x60], xmm0
movups xmmword [esi + 0x70], xmm1
lea eax, [eax + eax*2]
mov dword [esi + 0x80], ecx
mov ecx, dword [ebp + 8]
mov dword [esi + 0x84], ecx
mov ecx, dword [ebp + 0xc]
mov dword [esi + 0x88], ecx
mov ecx, dword [ebp + 0x10]
mov dword [esi + 0x8c], ecx
lea ecx, [esi + 0x90]
mov dword [ecx + 8], 0
mov dword [ecx], 0
mov dword [ecx + 0xc], 0
mov dword [ecx + 4], 0
mov ecx, dword [ebx + eax*4 - 0xc]
mov edx, dword [ebx + eax*4 - 8]
lea eax, [esi + 0x60]
mov dword [esi + 0xd8], 0
push eax
call fcn.00416c20
add esp, 4
mov eax, dword [esi + 0x98]
mov ecx, dword [esi + 0x90]
mov edx, dword [esi + 0x78]
movdqu xmm0, xmmword [esi + 0x68]
movdqu xmm3, xmmword [esi + 0x60]
mov ebx, dword [esi + 0x18]
mov edi, dword [esi + 0xa0]
shl eax, 0x18
xor edx, ecx
movdqa xmm5, xmm0
or eax, dword [esi + 0x94]
movd xmm4, edx
movd xmm2, edx
mov edx, dword [esi + 0x7c]
psrlq xmm5, 0x33
xor edx, eax
movd xmm1, edx
punpckldq xmm2, xmm1
punpcklqdq xmm1, xmm4
punpcklqdq xmm2, xmm3
shufps xmm1, xmm0, 0xe2
movaps xmm4, xmm1
paddq xmm2, xmm0
psllq xmm1, 0x10
psllq xmm0, 0xd
pshufd xmm3, xmm2, 0xff
psrlq xmm4, 0x30
movsd xmm0, xmm1
movdqa xmm1, xmm2
movd edx, xmm3
movsd xmm5, xmm4
orpd xmm0, xmm5
movd xmm3, edx
shufps xmm1, xmm3, 0x4e
xorpd xmm0, xmm2
shufps xmm1, xmm2, 0x42
movapd xmm2, xmm0
movapd xmm3, xmm0
psrlq xmm2, 0x2b
psrlq xmm3, 0x2f
paddq xmm1, xmm0
movsd xmm3, xmm2
movdqa xmm2, xmm0
psllq xmm0, 0x11
psllq xmm2, 0x15
movsd xmm0, xmm2
pshufd xmm2, xmm1, 0xff
orpd xmm0, xmm3
pshufd xmm3, xmm1, 0x55
movd edx, xmm3
xorpd xmm0, xmm1
xor edx, eax
movd eax, xmm1
xor eax, ecx
movd ecx, xmm2
movd xmm4, edx
xor ecx, 0xff
movd xmm3, eax
movd xmm2, ecx
punpcklqdq xmm4, xmm3
movapd xmm3, xmm0
shufpd xmm1, xmm2, 1
shufps xmm3, xmm4, 0x24
movapd xmm4, xmm0
shufps xmm1, xmm0, 0xe2
psrlq xmm4, 0x33
paddq xmm1, xmm3
pshufd xmm2, xmm1, 0xff
movd eax, xmm2
movaps xmm2, xmm0
psrlq xmm2, 0x30
movd xmm3, eax
movsd xmm4, xmm2
movaps xmm2, xmm0
psllq xmm0, 0xd
psllq xmm2, 0x10
movsd xmm0, xmm2
movdqa xmm2, xmm1
orpd xmm0, xmm4
shufps xmm2, xmm3, 0x4e
xorpd xmm0, xmm1
shufps xmm2, xmm1, 0x42
movapd xmm1, xmm0
movapd xmm3, xmm0
paddq xmm2, xmm0
psrlq xmm1, 0x2b
psrlq xmm3, 0x2f
movsd xmm3, xmm1
movdqa xmm1, xmm0
psllq xmm0, 0x11
psllq xmm1, 0x15
movsd xmm0, xmm1
pshufd xmm1, xmm2, 0xff
movd eax, xmm1
orpd xmm0, xmm3
movdqa xmm1, xmm2
movd xmm3, eax
xorpd xmm0, xmm2
shufps xmm1, xmm3, 0x4e
movapd xmm4, xmm0
shufps xmm1, xmm2, 0x42
psrlq xmm4, 0x33
paddq xmm1, xmm0
pshufd xmm2, xmm1, 0xff
movd eax, xmm2
movdqa xmm2, xmm0
psrlq xmm2, 0x30
movd xmm3, eax
movsd xmm4, xmm2
movdqa xmm2, xmm0
psllq xmm0, 0xd
psllq xmm2, 0x10
movsd xmm0, xmm2
movdqa xmm2, xmm1
orpd xmm0, xmm4
shufps xmm2, xmm3, 0x4e
xorpd xmm0, xmm1
shufps xmm2, xmm1, 0x42
movapd xmm1, xmm0
movapd xmm3, xmm0
paddq xmm2, xmm0
psrlq xmm1, 0x2b
psrlq xmm3, 0x2f
movsd xmm3, xmm1
movdqa xmm1, xmm0
psllq xmm0, 0x11
psllq xmm1, 0x15
movsd xmm0, xmm1
pshufd xmm1, xmm2, 0xff
movd eax, xmm1
orpd xmm0, xmm3
movdqa xmm1, xmm2
movd xmm3, eax
xorpd xmm0, xmm2
shufps xmm1, xmm3, 0x4e
movapd xmm3, xmm0
shufps xmm1, xmm2, 0x42
movapd xmm2, xmm0
psrlq xmm3, 0x33
psrlq xmm2, 0x30
paddq xmm1, xmm0
movsd xmm3, xmm2
movdqa xmm2, xmm0
psllq xmm0, 0xd
psllq xmm2, 0x10
movsd xmm0, xmm2
orpd xmm0, xmm3
xorpd xmm0, xmm1
pshufd xmm2, xmm0, 0xee
paddq xmm2, xmm1
pshufd xmm1, xmm2, 0x55
movd eax, xmm2
movdqa xmm2, xmm0
movd ecx, xmm1
movdqa xmm1, xmm0
psrlq xmm2, 0x2f
psrlq xmm1, 0x2b
xor ecx, eax
movsd xmm2, xmm1
movdqa xmm1, xmm0
psllq xmm0, 0x11
psllq xmm1, 0x15
movsd xmm0, xmm1
orpd xmm0, xmm2
pshufd xmm1, xmm0, 0xee
pxor xmm1, xmm0
movd eax, xmm1
xor eax, ecx
mov ecx, ebx
and ecx, eax
movdqu xmm0, xmmword [edi + ecx]
pmovmskb edx, xmm0
test edx, edx
jne 0x57ee5b
mov dword [esi + 0x5c], eax
mov eax, ebx
mov ebx, edi
mov edi, 0x10
nop word cs:[eax + eax]
nop dword [eax]
add ecx, edi
add edi, 0x10
and ecx, eax
movdqu xmm0, xmmword [ebx + ecx]
pmovmskb edx, xmm0
test edx, edx
je 0x57ee40
mov edi, ebx
mov ebx, eax
mov eax, dword [esi + 0x5c]
tzcnt edx, edx
add edx, ecx
and edx, ebx
cmp byte [edi + edx], 0
js 0x57ea40
movdqa xmm0, xmmword [edi]
pmovmskb ecx, xmm0
tzcnt edx, ecx
jmp 0x57ea40
mov edi, dword [esi + 4]
mov ecx, dword [edi + 4]
mov eax, dword [edi + 0xc]
jmp 0x57ee93
mov edi, dword [esi + 4]
mov ecx, dword [esi + 0x40]
xor eax, eax
mov ebx, dword [edi]
mov edx, dword [esi + 0xa0]
mov dword [edi], edx
mov edx, dword [esi + 0x18]
mov dword [edi + 4], edx
mov edx, dword [esi + 0x58]
sub edx, eax
test ecx, ecx
mov dword [edi + 8], edx
mov dword [edi + 0xc], eax
je 0x57eede
lea eax, [ecx + 1]
mov edx, 0xc
mov edi, ebx
mov ebx, ecx
mul edx
add eax, 0xf
and eax, 0xfffffff0
add ebx, eax
cmp ebx, 0xffffffef
je 0x57eede
sub edi, eax
push dword [edi - 4]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0xd0]
mov dword fs:[0], eax
mov eax, 0x80000001
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.004b9120
mov ecx, ebx
call fcn.004b9160
nop word cs:[eax + eax]
nop dword [eax]
push ebp
sub esp, 0xc
lea esi, [ebp - 0xdc]
mov ebp, dword [esi + 0xc8]
lea ecx, [esi + 0x24]
call fcn.0040e150
add esp, 0xc
pop ebp
ret