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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xf0
mov esi, esp
mov dword [esi + 0xd8], ebp
mov dword [esi + 0xdc], esp
mov dword [esi + 0xe8], 0xffffffff
mov dword [esi + 0xe4], 0x577fc0
mov dword [esi + 0x1c], edx
lea eax, [esi + 0xe0]
mov edx, dword fs:[0]
mov dword [esi + 0xe0], edx
mov dword fs:[0], eax
mov edx, dword [ecx + 0xc]
mov dword [esi + 0xc], edx
inc edx
je 0x57cdd3
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 0x57c126
inc ecx
cmp edx, ecx
cmova ecx, edx
cmp ecx, 8
jae 0x57c1a4
xor eax, eax
cmp ecx, 4
setae al
lea ebx, [eax*4 + 4]
jmp 0x57c1e9
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 0x57c166
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 0x57c150
cmp eax, 0x10
jae 0x57c23e
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], 0x40e2d0
mov dword [esi + 0x2c], 0x10
mov dword [esi + 0x24], ebx
cmp ecx, 0xffffffff
jne 0x57c266
mov ecx, dword [esi + 0xc]
xor eax, eax
jmp 0x57c82c
cmp ecx, 0x20000000
jae 0x57cdd3
shl ecx, 3
mov ebx, 1
cmp ecx, 0xe
jb 0x57c1e9
mov edx, 0x24924925
mov eax, ecx
mov ebx, 0xffffffff
mul edx
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 2
dec ecx
bsr ecx, ecx
not ecx
shr ebx, cl
cmp ebx, 0xffffffe
ja 0x57cdd3
inc ebx
mov eax, ebx
lea ecx, [ebx + 0x10]
shl eax, 4
mov edi, eax
add edi, ecx
jb 0x57cdd3
cmp edi, 0x7ffffff1
jae 0x57cdd3
test edi, edi
mov dword [esi + 0x10], ecx
mov dword [esi + 8], eax
je 0x57c836
movzx eax, byte [0x5fd2ec]
lea edx, [edi + 0x10]
xor ecx, ecx
call fcn.0056a9f0
test eax, eax
je 0x57cdd8
mov ecx, eax
and ecx, 0xfffffff0
mov dword [ecx + 0xc], eax
add ecx, 0x10
jmp 0x57c83b
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], 0x40e2d0
mov dword [esi + 0x2c], 0x10
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 + 0xb0], xmm0
movd xmm0, dword [ebp + 0xc]
punpckldq xmm0, xmm1
pshufd xmm0, xmm0, 0x44
pxor xmm0, xmmword [0x589260]
movdqa xmmword [esi + 0xa0], xmm0
jmp 0x57c2da
mov ebx, dword [esi + 8]
mov edi, dword [esi + 0x14]
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 0x57c813
mov eax, dword [ebx]
cmp byte [eax + edi], 0x80
jne 0x57c2cf
mov ecx, edi
mov dword [esi + 0x14], edi
neg edi
not ecx
mov dword [esi + 0x20], edi
shl ecx, 4
add ecx, eax
mov dword [esi + 0x18], ecx
nop word cs:[eax + eax]
movaps xmm0, xmmword [esi + 0xb0]
movaps xmm1, xmmword [esi + 0xa0]
mov ecx, dword [esi + 0x1c]
mov edx, dword [esi + 0x20]
mov dword [esi + 0xe8], 1
movups xmmword [esi + 0x60], xmm0
movups xmmword [esi + 0x70], xmm1
mov dword [esi + 0x80], ecx
mov ecx, dword [ebp + 8]
shl edx, 4
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 - 0xc]
mov edx, dword [eax + edx - 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 + 8], 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 + 0xc], eax
pmovmskb ebx, xmm0
test ebx, ebx
jne 0x57c684
mov edi, dword [esi + 0xc]
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 0x57c670
tzcnt ebx, ebx
add ebx, edi
and ebx, edx
cmp byte [ecx + ebx], 0
js 0x57c69e
movdqa xmm0, xmmword [ecx]
pmovmskb eax, xmm0
tzcnt ebx, eax
mov eax, dword [esi + 0x14]
mov edi, ebx
sub edi, dword [esi + 0xc]
sub eax, dword [esi + 0xc]
xor edi, eax
and edi, edx
cmp edi, 0x10
jb 0x57c2b0
lea eax, [ebx - 0x10]
mov edi, dword [esi + 4]
and eax, edx
mov edx, dword [esi + 8]
mov dword [esi + 0x10], eax
movzx eax, byte [ecx + ebx]
shr edx, 0x19
mov byte [ecx + ebx], dl
mov byte [esi + 0xc], al
mov eax, dword [esi + 0x10]
mov edi, dword [edi]
mov byte [eax + edi + 0x10], dl
mov eax, ebx
not eax
shl eax, 4
add eax, ecx
cmp byte [esi + 0xc], 0xff
je 0x57c7e0
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
movzx ecx, byte [edi + 0xc]
movzx edx, byte [eax + 0xc]
mov byte [edi + 0xc], dl
mov byte [eax + 0xc], cl
movzx ecx, byte [edi + 0xd]
movzx edx, byte [eax + 0xd]
mov byte [edi + 0xd], dl
mov byte [eax + 0xd], cl
movzx ecx, byte [edi + 0xe]
movzx edx, byte [eax + 0xe]
mov byte [edi + 0xe], dl
mov byte [eax + 0xe], cl
movzx ecx, byte [edi + 0xf]
movzx edx, byte [eax + 0xf]
mov byte [edi + 0xf], dl
mov byte [eax + 0xf], cl
mov eax, dword [esi + 4]
mov eax, dword [eax]
jmp 0x57c300
mov ebx, dword [esi + 4]
mov edi, dword [esi + 0x14]
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]
movq xmm0, qword [edx]
movq xmm1, qword [edx + 8]
movq qword [eax + 8], xmm1
movq qword [eax], xmm0
jmp 0x57c2cc
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 0x57cdba
mov ecx, 0x10
mov eax, ebx
mov edx, ebx
and ebx, 0xfffffff8
shr eax, 3
sub ebx, eax
lea eax, [edx - 1]
cmp edx, 9
cmovb ebx, eax
mov dword [esi + 0xa0], eax
mov eax, dword [esi + 4]
add ecx, dword [esi + 8]
lea edi, [eax + 0x10]
mov dword [esi + 0xb0], ecx
push dword [esi + 0x10]
push 0xff
push dword [esi + 0xb0]
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov edx, dword [esi + 0xc]
mov dword [esi + 0x24], edi
mov edi, dword [esi + 0xb0]
mov eax, dword [esi + 0xa0]
mov dword [esi + 0x28], 0x10
mov dword [esi + 0x2c], 0x10
mov dword [esi + 0x5c], ebx
test edx, edx
mov dword [esi + 0x30], edi
mov dword [esi + 0x34], eax
mov dword [esi + 0x38], ebx
mov dword [esi + 0x3c], 0
je 0x57cd77
mov eax, dword [esi + 4]
movd xmm1, dword [ebp + 8]
xor ecx, ecx
mov eax, dword [eax]
movdqa xmm0, xmmword [eax]
mov dword [esi + 8], eax
mov dword [esi + 0x10], eax
pmovmskb ebx, xmm0
movd xmm0, dword [esi + 0x1c]
not ebx
punpckldq xmm0, xmm1
movd xmm1, dword [ebp + 0x10]
pshufd xmm0, xmm0, 0x44
pxor xmm0, xmmword [str.uespemosarenegylmodnarodsetybdet]
movdqa xmmword [esi + 0x40], xmm0
movd xmm0, dword [ebp + 0xc]
punpckldq xmm0, xmm1
pshufd xmm0, xmm0, 0x44
pxor xmm0, xmmword [0x589260]
movdqa xmmword [esi + 0xc0], xmm0
jmp 0x57c976
mov ebx, dword [esi + 8]
lea ecx, [edx - 0x10]
and ecx, eax
mov eax, dword [esi + 0x20]
shr ebx, 0x19
mov byte [edi + edx], bl
mov byte [ecx + edi + 0x10], bl
lea ecx, [eax - 1]
mov ebx, dword [esi + 0x18]
not edx
and ecx, eax
mov eax, dword [esi + 4]
shl edx, 4
not ebx
mov eax, dword [eax]
shl ebx, 4
movq xmm0, qword [eax + ebx]
movq xmm1, qword [eax + ebx + 8]
mov ebx, ecx
mov ecx, dword [esi + 0x14]
mov dword [esi + 8], eax
movq qword [edi + edx + 8], xmm1
movq qword [edi + edx], xmm0
mov edx, dword [esi + 0xc]
dec edx
test edx, edx
je 0x57cd69
mov dword [esi + 0xc], edx
mov edx, dword [esi + 0x10]
test bx, bx
jne 0x57c9b3
nop word cs:[eax + eax]
nop dword [eax + eax]
movdqa xmm0, xmmword [edx + 0x10]
add edx, 0x10
add ecx, 0x10
pmovmskb ebx, xmm0
cmp ebx, 0xffff
je 0x57c990
not ebx
mov dword [esi + 0xe8], 0
mov dword [esi + 0x10], edx
tzcnt edx, ebx
movaps xmm0, xmmword [esi + 0x40]
mov eax, dword [esi + 8]
mov dword [esi + 0x14], ecx
mov dword [esi + 0x20], ebx
add edx, ecx
mov ecx, edx
mov dword [esi + 0x18], edx
shl ecx, 4
sub eax, ecx
movups xmmword [esi + 0x60], xmm0
movaps xmm0, xmmword [esi + 0xc0]
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 - 0xc]
mov edx, dword [eax - 8]
lea eax, [esi + 0x60]
mov dword [esi + 0xe8], 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 edi, dword [esi + 0xb0]
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
mov eax, dword [esi + 0xa0]
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 edx, xmm1
xor edx, ecx
mov ecx, eax
and ecx, edx
mov dword [esi + 8], edx
movdqu xmm0, xmmword [edi + ecx]
pmovmskb edx, xmm0
test edx, edx
jne 0x57cd46
mov ebx, edi
mov edi, 0x10
nop word cs:[eax + eax]
nop
add ecx, edi
add edi, 0x10
and ecx, eax
movdqu xmm0, xmmword [ebx + ecx]
pmovmskb edx, xmm0
test edx, edx
je 0x57cd30
mov edi, ebx
tzcnt edx, edx
add edx, ecx
and edx, eax
cmp byte [edi + edx], 0
js 0x57c920
movdqa xmm0, xmmword [edi]
pmovmskb ecx, xmm0
tzcnt edx, ecx
jmp 0x57c920
mov eax, dword [esi + 4]
mov ebx, dword [esi + 8]
mov edx, dword [eax + 4]
mov ecx, dword [eax + 0xc]
jmp 0x57cd81
mov eax, dword [esi + 4]
mov edx, dword [esi + 0x40]
xor ecx, ecx
mov ebx, dword [eax]
mov dword [eax], edi
mov edi, dword [esi + 0xa0]
mov dword [eax + 4], edi
mov edi, dword [esi + 0x5c]
sub edi, ecx
test edx, edx
mov dword [eax + 8], edi
mov dword [eax + 0xc], ecx
je 0x57cdba
mov ecx, edx
shl ecx, 4
add edx, ecx
cmp edx, 0xffffffdf
je 0x57cdba
sub ebx, ecx
push dword [ebx - 0x14]
push 0
push dword [0x5fd290]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0xe0]
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, edi
call fcn.004b9160
nop
push ebp
sub esp, 0xc
lea esi, [ebp - 0xec]
mov ebp, dword [esi + 0xd8]
lea ecx, [esi + 0x24]
call fcn.0040e150
add esp, 0xc
pop ebp
ret