Function at 0x4b1a60
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x60
mov esi, dword [ecx + 0xc]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], esi
inc esi
je 0x4b2687
mov ebx, dword [ecx + 4]
mov dword [esp + 0x2c], ecx
lea eax, [ebx + 1]
mov dword [esp + 0x20], ebx
mov edx, eax
mov edi, eax
shr edx, 3
and edi, 0xfffffff8
sub edi, edx
cmp ebx, 8
cmovb edi, ebx
mov edx, edi
shr edx, 1
cmp esi, edx
jbe 0x4b1acb
inc edi
cmp esi, edi
cmova edi, esi
cmp edi, 8
mov esi, edi
jae 0x4b1b33
xor eax, eax
cmp esi, 4
setae al
lea edi, [eax*4 + 4]
jmp 0x4b1b78
mov edx, eax
mov dword [esp + 0x30], edi
mov edi, dword [ecx]
xor ecx, ecx
shr edx, 4
test al, 0xf
setne cl
add ecx, edx
je 0x4b1b06
movdqa xmm0, xmmword [0x54b870]
mov edx, edi
nop dword [eax + eax]
pxor xmm1, xmm1
dec ecx
pcmpgtb xmm1, xmmword [edx]
por xmm1, xmm0
movdqa xmmword [edx], xmm1
lea edx, [edx + 0x10]
jne 0x4b1af0
cmp eax, 0x10
jae 0x4b1bec
lea ecx, [edi + 0x10]
push eax
push edi
push ecx
call sub.msvcrt.dll_memmove
add esp, 0xc
cmp dword [esp + 0x20], 0xffffffff
mov ecx, dword [esp + 0x14]
jne 0x4b1c04
xor edx, edx
jmp 0x4b2483
cmp esi, 0x20000000
jae 0x4b2687
shl esi, 3
mov edi, 1
cmp esi, 0xe
jb 0x4b1b78
mov ecx, 0x24924925
mov eax, esi
mov edi, 0xffffffff
mul ecx
sub esi, edx
shr esi, 1
add esi, edx
shr esi, 2
dec esi
bsr ecx, esi
not ecx
shr edi, cl
cmp edi, 0xffffffe
ja 0x4b2687
inc edi
mov ebx, edi
lea edx, [edi + 0x10]
shl ebx, 4
mov esi, ebx
add esi, edx
jb 0x4b2687
cmp esi, 0x7ffffff1
jae 0x4b2687
test esi, esi
je 0x4b2491
mov dword [esp + 8], edx
movzx eax, byte [0x5c6170]
mov eax, dword [0x5c6108]
test eax, eax
jne 0x4b1bc4
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4b268e
mov dword [0x5c6108], eax
lea ecx, [esi + 0x10]
push ecx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4b268e
mov edx, dword [esp + 8]
mov esi, eax
and esi, 0xfffffff0
mov dword [esi + 0xc], eax
add esi, 0x10
jmp 0x4b2496
mov ecx, dword [esp + 0x14]
movq xmm0, qword [edi]
movq xmm1, qword [edi + 8]
movq qword [edi + eax + 8], xmm1
movq qword [edi + eax], xmm0
mov eax, dword [esp + 0x10]
movdqa xmm2, xmmword [0x54b8a0]
mov ebx, dword [esp + 0x20]
xor edx, edx
mov dword [esp + 0x1c], edi
movdqu xmm1, xmmword [eax]
pshufd xmm0, xmm1, 0x44
pxor xmm0, xmmword [str.arenegyluespemossetybdetmodnarod]
movdqa xmmword [esp + 0x40], xmm0
pshufd xmm0, xmm1, 0xee
pxor xmm0, xmmword [0x54b890]
jmp 0x4b1c66
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
shr eax, 0x19
lea ecx, [edx - 0x10]
mov byte [edi + edx], al
and ecx, ebx
mov byte [ecx + edi + 0x10], al
mov ecx, dword [esp + 0x14]
cmp edx, ebx
lea edx, [edx + 1]
je 0x4b247f
cmp byte [edi + edx], 0x80
jne 0x4b1c5b
mov eax, edx
mov ecx, edx
mov dword [esp + 0x18], edx
not eax
shl ecx, 4
shl eax, 4
add eax, edi
sub edi, ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x34], edi
nop dword [eax + eax]
mov eax, dword [esp + 0x34]
movaps xmm4, xmmword [esp + 0x40]
xor ebx, ebx
movdqa xmm1, xmm0
mov ecx, dword [eax - 8]
mov edi, dword [eax - 0x10]
mov eax, 0
mov dword [esp + 8], ecx
and ecx, 0xfffffff8
je 0x4b1dae
movdqa xmm4, xmmword [esp + 0x40]
lea eax, [ecx - 1]
xor edx, edx
movdqa xmm1, xmm0
and eax, 0xfffffff8
mov dword [esp + 0xc], eax
nop dword [eax]
mov esi, dword [edi + edx]
mov ebx, dword [edi + edx + 4]
movd eax, xmm1
pshufd xmm5, xmm1, 0x55
movdqa xmm3, xmm1
add edx, 8
psrlq xmm3, 0x33
xor eax, esi
movd xmm6, eax
movd eax, xmm5
xor eax, ebx
movd xmm5, eax
punpcklqdq xmm5, xmm6
shufps xmm5, xmm1, 0xe2
psllq xmm1, 0xd
paddq xmm4, xmm5
movdqa xmm7, xmm5
psllq xmm5, 0x10
pshufd xmm6, xmm4, 0xff
psrlq xmm7, 0x30
movsd xmm1, xmm5
movdqa xmm5, xmm4
movd eax, xmm6
movsd xmm3, xmm7
movd xmm6, eax
orpd xmm1, xmm3
shufps xmm5, xmm6, 0x4e
xorpd xmm1, xmm4
shufps xmm5, xmm4, 0x42
movapd xmm4, xmm1
movapd xmm7, xmm1
paddq xmm5, xmm1
psrlq xmm4, 0x2b
psrlq xmm7, 0x2f
pshufd xmm3, xmm5, 0x55
movsd xmm7, xmm4
movdqa xmm4, xmm1
psllq xmm1, 0x11
movd eax, xmm3
psllq xmm4, 0x15
xor eax, ebx
movd ebx, xmm5
movsd xmm1, xmm4
movdqa xmm4, xmm5
xor ebx, esi
movd xmm6, eax
orpd xmm1, xmm7
cmp edx, ecx
movd xmm3, ebx
xorpd xmm1, xmm5
punpcklqdq xmm6, xmm3
shufps xmm4, xmm6, 0x2b
jb 0x4b1cd0
mov eax, dword [esp + 0xc]
xor ebx, ebx
add eax, 8
mov edx, dword [esp + 8]
and edx, 7
cmp edx, 3
jbe 0x4b1dd0
mov ecx, dword [edi + eax]
xor esi, esi
mov ebx, 4
mov dword [esp + 0x10], ecx
jmp 0x4b1dda
xor esi, esi
mov dword [esp + 0x10], 0
mov ecx, ebx
mov dword [esp + 0xc], eax
or ecx, 1
cmp ecx, edx
jae 0x4b1e23
mov dword [esp + 0x28], ebx
lea ecx, [ebx + eax]
mov eax, dword [esp + 0x28]
movzx ebx, word [edi + ecx]
lea ecx, [eax*8]
mov eax, esi
xor esi, esi
shld esi, ebx, cl
shl ebx, cl
test cl, 0x20
mov ecx, 0
cmovne esi, ebx
cmovne ebx, ecx
or dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x28]
or eax, esi
mov esi, eax
or ebx, 2
cmp ebx, edx
jae 0x4b1e60
mov eax, dword [esp + 0xc]
add eax, ebx
shl ebx, 3
movzx edi, byte [edi + eax]
mov eax, esi
xor esi, esi
mov ecx, ebx
shld esi, edi, cl
shl edi, cl
test bl, 0x20
mov ecx, 0
cmovne esi, edi
cmovne edi, ecx
inc dword [esp + 8]
or eax, esi
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x10]
or eax, edi
jmp 0x4b1e74
inc dword [esp + 8]
test edx, edx
je 0x4b1f80
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc], esi
lea ecx, [edx*8]
mov edi, 0xff
xor ebx, ebx
mov esi, 0xff
shld ebx, esi, cl
shl edi, cl
test cl, 0x20
mov ecx, 0
cmovne ebx, edi
cmovne edi, ecx
or ebx, dword [esp + 0xc]
or edi, eax
cmp edx, 7
jne 0x4b20e5
mov eax, 8
pshufd xmm3, xmm1, 0x55
movd ecx, xmm1
movdqa xmm7, xmm1
sub eax, edx
movd edx, xmm3
xor ecx, edi
movsd xmm7, xmm4
xor edx, ebx
movd xmm3, ecx
movd xmm6, edx
punpcklqdq xmm6, xmm3
movdqa xmm5, xmm6
shufps xmm6, xmm1, 0xe2
shufps xmm5, xmm4, 0xe2
movdqa xmm4, xmm1
psllq xmm1, 0xd
paddq xmm5, xmm7
psrlq xmm4, 0x33
pshufd xmm3, xmm5, 0xff
movd ecx, xmm3
movaps xmm3, xmm6
psllq xmm6, 0x10
psrlq xmm3, 0x30
movsd xmm1, xmm6
movd xmm7, ecx
movsd xmm4, xmm3
orpd xmm1, xmm4
movdqa xmm4, xmm5
shufps xmm4, xmm7, 0x4e
xorpd xmm1, xmm5
shufps xmm4, xmm5, 0x42
movapd xmm3, xmm1
movapd xmm5, xmm1
psrlq xmm3, 0x2b
psrlq xmm5, 0x2f
paddq xmm4, xmm1
movsd xmm5, xmm3
movdqa xmm3, xmm1
psllq xmm1, 0x11
movd ecx, xmm4
psllq xmm3, 0x15
xor ecx, edi
movsd xmm1, xmm3
pshufd xmm3, xmm4, 0x55
movd edx, xmm3
orpd xmm1, xmm5
movd xmm3, ecx
xor edx, ebx
xorpd xmm1, xmm4
movd xmm5, edx
punpcklqdq xmm5, xmm3
shufps xmm4, xmm5, 0x2b
jmp 0x4b1f82
xor eax, eax
mov ecx, 1
sub ecx, eax
mov esi, ecx
and ecx, 0xfffffff8
and esi, 7
cmp eax, ecx
jae 0x4b2080
nop dword [eax]
movd edx, xmm1
movapd xmm5, xmm1
movdqa xmm7, xmm1
add eax, 8
xor edx, 0xff
psrlq xmm7, 0x33
cmp eax, ecx
movd xmm3, edx
movss xmm5, xmm3
paddq xmm4, xmm5
psllq xmm5, 0x10
pshufd xmm3, xmm4, 0xff
movd edx, xmm3
movdqa xmm3, xmm1
psllq xmm1, 0xd
psrlq xmm3, 0x30
movsd xmm1, xmm5
movd xmm6, edx
movdqa xmm5, xmm4
movsd xmm7, xmm3
shufps xmm5, xmm6, 0x4e
orpd xmm1, xmm7
shufps xmm5, xmm4, 0x42
xorpd xmm1, xmm4
movapd xmm3, xmm1
movapd xmm4, xmm1
movapd xmm7, xmm1
paddq xmm5, xmm1
psllq xmm1, 0x11
movdqa xmm6, xmm5
psllq xmm7, 0x15
psrlq xmm3, 0x2b
psrlq xmm4, 0x2f
pxor xmm6, xmm2
movsd xmm4, xmm3
movsd xmm1, xmm7
orpd xmm1, xmm4
shufps xmm6, xmm5, 0xd4
movaps xmm4, xmm5
xorpd xmm1, xmm5
shufps xmm4, xmm6, 0x8b
jb 0x4b1fa0
xor ebx, ebx
xor eax, eax
cmp esi, 4
mov edi, 0
mov ecx, 0xff
setae al
cmovae edi, ecx
shl eax, 2
mov ecx, eax
or ecx, 1
cmp ecx, esi
jb 0x4b208f
jmp 0x4b20bf
xor edi, edi
xor ebx, ebx
xor eax, eax
mov ecx, eax
or ecx, 1
cmp ecx, esi
jae 0x4b20bf
mov dword [esp + 0xc], esi
lea ecx, [eax*8]
xor esi, esi
mov edx, 0xff
shld esi, edx, cl
shl edx, cl
test cl, 0x20
mov ecx, 0
cmovne esi, edx
cmovne edx, ecx
or eax, 2
or ebx, esi
mov esi, dword [esp + 0xc]
or edi, edx
cmp eax, esi
jae 0x4b20e5
shl eax, 3
xor edx, edx
mov esi, 0xff
mov ecx, eax
shld edx, esi, cl
shl esi, cl
test al, 0x20
mov eax, 0
cmovne edx, esi
cmovne esi, eax
or ebx, edx
or edi, esi
mov edx, dword [esp + 8]
pshufd xmm3, xmm1, 0x55
movd eax, xmm1
movdqa xmm7, xmm1
movd ecx, xmm3
xor eax, edi
psrlq xmm7, 0x33
movd xmm3, eax
shl edx, 0x18
or edx, ebx
mov ebx, dword [esp + 0x20]
xor ecx, edx
movd xmm5, ecx
punpcklqdq xmm5, xmm3
shufps xmm5, xmm1, 0xe2
psllq xmm1, 0xd
paddq xmm4, xmm5
pshufd xmm3, xmm4, 0xff
movd eax, xmm3
movdqa xmm3, xmm5
psllq xmm5, 0x10
psrlq xmm3, 0x30
movsd xmm1, xmm5
movd xmm6, eax
movdqa xmm5, xmm4
movsd xmm7, xmm3
shufps xmm5, xmm6, 0x4e
orpd xmm1, xmm7
shufps xmm5, xmm4, 0x42
xorpd xmm1, xmm4
movapd xmm3, xmm1
movapd xmm4, xmm1
paddq xmm5, xmm1
psrlq xmm3, 0x2b
psrlq xmm4, 0x2f
movsd xmm4, xmm3
movdqa xmm3, xmm1
psllq xmm1, 0x11
psllq xmm3, 0x15
movsd xmm1, xmm3
pshufd xmm3, xmm5, 0xff
movd eax, xmm3
pshufd xmm3, xmm5, 0x55
orpd xmm1, xmm4
movd ecx, xmm3
xor eax, 0xff
xorpd xmm1, xmm5
xor ecx, edx
movd edx, xmm5
movd xmm3, eax
xor edx, edi
movd xmm6, ecx
shufpd xmm5, xmm3, 1
mov edi, dword [esp + 0x1c]
movd xmm4, edx
shufps xmm5, xmm1, 0xe2
punpcklqdq xmm6, xmm4
movaps xmm4, xmm1
shufps xmm4, xmm6, 0x24
paddq xmm5, xmm4
movaps xmm4, xmm1
pshufd xmm3, xmm5, 0xff
psrlq xmm4, 0x33
movd eax, xmm3
movaps xmm3, xmm1
psrlq xmm3, 0x30
movd xmm6, eax
movsd xmm4, xmm3
movaps xmm3, xmm1
psllq xmm1, 0xd
psllq xmm3, 0x10
movsd xmm1, xmm3
orpd xmm1, xmm4
movdqa xmm4, xmm5
shufps xmm4, xmm6, 0x4e
xorpd xmm1, xmm5
shufps xmm4, xmm5, 0x42
movapd xmm3, xmm1
movapd xmm5, xmm1
psrlq xmm3, 0x2b
psrlq xmm5, 0x2f
paddq xmm4, xmm1
movsd xmm5, xmm3
movdqa xmm3, xmm1
psllq xmm1, 0x11
psllq xmm3, 0x15
movsd xmm1, xmm3
pshufd xmm3, xmm4, 0xff
movd eax, xmm3
orpd xmm1, xmm5
movdqa xmm5, xmm4
movd xmm3, eax
xorpd xmm1, xmm4
shufps xmm5, xmm3, 0x4e
movapd xmm6, xmm1
shufps xmm5, xmm4, 0x42
psrlq xmm6, 0x33
paddq xmm5, xmm1
pshufd xmm3, xmm5, 0xff
movd eax, xmm3
movdqa xmm3, xmm1
psrlq xmm3, 0x30
movd xmm4, eax
movsd xmm6, xmm3
movdqa xmm3, xmm1
psllq xmm1, 0xd
psllq xmm3, 0x10
movsd xmm1, xmm3
orpd xmm1, xmm6
movdqa xmm6, xmm5
xorpd xmm1, xmm5
shufps xmm6, xmm4, 0x4e
movapd xmm3, xmm1
movapd xmm4, xmm1
shufps xmm6, xmm5, 0x42
psrlq xmm3, 0x2b
psrlq xmm4, 0x2f
paddq xmm6, xmm1
movsd xmm4, xmm3
movdqa xmm3, xmm1
psllq xmm1, 0x11
psllq xmm3, 0x15
movsd xmm1, xmm3
pshufd xmm3, xmm6, 0xff
orpd xmm1, xmm4
movd eax, xmm3
movdqa xmm4, xmm6
xorpd xmm1, xmm6
movd xmm3, eax
shufps xmm4, xmm3, 0x4e
movapd xmm3, xmm1
movapd xmm5, xmm1
psrlq xmm3, 0x30
psrlq xmm5, 0x33
shufps xmm4, xmm6, 0x42
movsd xmm5, xmm3
movapd xmm3, xmm1
paddq xmm4, xmm1
psllq xmm1, 0xd
psllq xmm3, 0x10
movsd xmm1, xmm3
orpd xmm1, xmm5
xorpd xmm1, xmm4
movapd xmm3, xmm1
movapd xmm5, xmm1
movapd xmm6, xmm1
psrlq xmm3, 0x2b
psrlq xmm5, 0x2f
psllq xmm6, 0x11
movsd xmm5, xmm3
movapd xmm3, xmm1
psllq xmm3, 0x15
movsd xmm6, xmm3
orpd xmm6, xmm5
movapd xmm3, xmm6
shufpd xmm3, xmm4, 1
xorpd xmm6, xmm3
paddq xmm3, xmm1
pshufd xmm1, xmm3, 0xee
movd eax, xmm6
movd ecx, xmm1
pshufd xmm1, xmm3, 0xff
movd edx, xmm1
xor eax, edx
xor eax, ecx
mov ecx, ebx
and ecx, eax
movdqu xmm1, xmmword [edi + ecx]
mov esi, ecx
pmovmskb edx, xmm1
test edx, edx
jne 0x4b23dc
mov dword [esp + 8], eax
mov eax, ebx
mov ebx, edi
mov edi, 0x10
mov esi, ecx
nop word cs:[eax + eax]
nop
add esi, edi
add edi, 0x10
and esi, eax
movdqu xmm1, xmmword [ebx + esi]
pmovmskb edx, xmm1
test edx, edx
je 0x4b23c0
mov edi, ebx
mov ebx, eax
mov eax, dword [esp + 8]
tzcnt edx, edx
add edx, esi
and edx, ebx
cmp byte [edi + edx], 0
js 0x4b23f6
movdqa xmm1, xmmword [edi]
pmovmskb edx, xmm1
tzcnt edx, edx
mov esi, dword [esp + 0x18]
mov edi, edx
sub edi, ecx
sub esi, ecx
xor edi, esi
and edi, ebx
cmp edi, 0x10
jb 0x4b1c40
mov edi, dword [esp + 0x1c]
shr eax, 0x19
lea esi, [edx - 0x10]
and esi, ebx
movzx ecx, byte [edi + edx]
mov byte [edi + edx], al
not edx
mov byte [esi + edi + 0x10], al
shl edx, 4
add edx, edi
cmp cl, 0xff
je 0x4b2450
mov eax, dword [esp + 0x24]
movdqu xmm3, xmmword [edx]
movdqu xmm1, xmmword [eax]
movdqu xmmword [eax], xmm3
movdqu xmmword [edx], xmm1
jmp 0x4b1c90
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x24]
lea eax, [ecx - 0x10]
mov byte [edi + ecx], 0xff
and eax, ebx
mov byte [eax + edi + 0x10], 0xff
movq xmm1, qword [esi]
movq xmm3, qword [esi + 8]
movq qword [edx + 8], xmm3
movq qword [edx], xmm1
mov edx, ecx
jmp 0x4b1c57
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
sub edx, ecx
mov dword [eax + 8], edx
jmp 0x4b267a
mov esi, 0x10
mov eax, edi
mov ecx, edi
shr eax, 3
and ecx, 0xfffffff8
sub ecx, eax
lea eax, [edi - 1]
cmp edi, 9
cmovb ecx, eax
mov dword [esp + 8], eax
add esi, ebx
mov dword [esp + 0x38], ecx
push edx
push 0xff
push esi
call sub.msvcrt.dll_memset
add esp, 0xc
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x14]
mov edi, esi
mov edx, dword [eax]
test ecx, ecx
mov dword [esp + 0x18], edx
je 0x4b2639
mov eax, dword [esp + 0x10]
movdqa xmm0, xmmword [edx]
mov dword [esp + 0x10], ecx
mov ecx, edx
mov dword [esp + 0xc], edi
mov esi, dword [eax]
pmovmskb ebx, xmm0
not ebx
mov dword [esp + 0x34], esi
mov esi, dword [eax + 4]
mov dword [esp + 0x24], esi
mov esi, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [esp + 0x30], esi
mov dword [esp + 0x3c], eax
mov eax, ebx
xor ebx, ebx
mov esi, edx
jmp 0x4b257b
mov eax, dword [esp + 0x28]
lea ecx, [edx - 0x10]
and ecx, dword [esp + 8]
shr eax, 0x19
mov byte [edi + edx], al
mov byte [ecx + edi + 0x10], al
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x40]
not edx
shl edx, 4
lea eax, [ecx - 1]
not edi
and eax, ecx
mov ecx, dword [esp + 0x18]
shl edi, 4
movq xmm0, qword [ecx + edi]
movq xmm1, qword [ecx + edi + 8]
mov edi, dword [esp + 0xc]
movq qword [edi + edx + 8], xmm1
movq qword [edi + edx], xmm0
mov edx, dword [esp + 0x10]
dec edx
test edx, edx
mov dword [esp + 0x10], edx
je 0x4b262f
test ax, ax
jne 0x4b2598
movdqa xmm0, xmmword [esi + 0x10]
add esi, 0x10
add ebx, 0x10
pmovmskb eax, xmm0
cmp eax, 0xffff
je 0x4b2580
not eax
mov dword [esp + 0x1c], eax
tzcnt eax, eax
mov edi, ecx
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x24]
add eax, ebx
mov dword [esp + 0x40], eax
shl eax, 4
sub edi, eax
push dword [edi - 8]
push dword [edi - 0x10]
push dword [esp + 0x38]
push dword [esp + 0x48]
call sym.core::hash::BuildHasher::hash_one::hc65136bc94dca3be
add esp, 0x10
mov ecx, dword [esp + 8]
mov edi, dword [esp + 0xc]
mov dword [esp + 0x28], eax
and ecx, eax
movdqu xmm0, xmmword [edi + ecx]
pmovmskb edx, xmm0
test edx, edx
jne 0x4b2608
mov eax, edi
mov edi, 0x10
nop dword [eax]
add ecx, edi
add edi, 0x10
and ecx, dword [esp + 8]
movdqu xmm0, xmmword [eax + ecx]
pmovmskb edx, xmm0
test edx, edx
je 0x4b25f0
mov edi, eax
mov eax, dword [esp + 8]
tzcnt edx, edx
add edx, ecx
and edx, eax
cmp byte [edi + edx], 0
js 0x4b2520
movdqa xmm0, xmmword [edi]
pmovmskb ecx, xmm0
tzcnt edx, ecx
jmp 0x4b2520
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x14]
jmp 0x4b263b
xor ecx, ecx
mov edx, dword [esp + 0x38]
mov esi, dword [esp + 8]
mov dword [eax], edi
sub edx, ecx
mov dword [eax + 4], esi
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x4b267a
mov eax, ecx
shl eax, 4
add ecx, eax
cmp ecx, 0xffffffdf
je 0x4b267a
mov ecx, dword [esp + 0x18]
sub ecx, eax
push dword [ecx - 0x14]
push 0
push dword [0x5c6108]
call sub.KERNEL32.dll_HeapFree
mov eax, 0x80000001
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
call dbg.capacity_overflow
ud2
mov ecx, esi
call dbg.alloc_err
ud2