Function at 0x4277c0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x521d52
mov eax, dword fs:[0]
push eax
sub esp, 0xf0
mov eax, dword [0x5640a8]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, edx
mov dword [ebp - 0x44], edi
mov eax, ecx
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x60], 0
mov ebx, 1
mov dword [ebp - 0x50], 3
mov ecx, ebx
mov dword [ebp - 0x54], ebx
call fcn.00429bf0
movsx ecx, byte [ebx + 0x53a9cb]
cdq
and edx, 7
lea esi, [edx + eax]
movsx eax, byte [ebx + 0x53aa7b]
imul ecx, eax
mov edx, ebx
sar esi, 3
sub esi, ecx
mov ecx, edi
shl esi, 3
call fcn.004275c0
mov edi, eax
cmp edi, 0xffffffff
je 0x42784c
cmp edi, esi
jle 0x42785b
cmp ebx, 0x28
jge 0x427c13
mov edi, dword [ebp - 0x44]
inc ebx
jmp 0x42780e
mov ecx, 3
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x1c], 2
lea eax, [ebp - 0x20]
mov dword [ebp - 0x18], 3
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x48], 0
test ecx, ecx
je 0x4278d3
mov esi, dword [eax]
mov ecx, ebx
call fcn.00429bf0
cdq
and edx, 7
add edx, eax
imul eax, esi, 0x29
sar edx, 3
movsx ecx, byte [eax + ebx + 0x53aa00]
movsx eax, byte [eax + ebx + 0x53a950]
imul ecx, eax
mov eax, dword [ebp - 0x50]
sub edx, ecx
mov ecx, dword [ebp - 0x48]
shl edx, 3
cmp edi, edx
cmovle eax, esi
inc ecx
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x40]
add eax, 4
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x40], eax
cmp ecx, 3
jne 0x427886
lea eax, [ebp - 0x40]
mov dword [ebp - 0x40], 0
push eax
push 0
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
call fcn.004263f0
mov dword [ebp - 0x24], 0
mov dword [ebp - 4], 5
mov esi, dword [ebp - 0x44]
mov edi, dword [esi + 4]
mov esi, dword [esi]
cmp esi, edi
je 0x427a09
lea ecx, [ebx + 7]
mov eax, 0x78787879
imul ecx
lea ebx, [esi + 0x14]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax*4 + 4]
mov dword [ebp - 0x44], eax
nop dword [eax]
mov eax, dword [esi]
lea ecx, [ebp - 0x30]
push 4
push dword [eax]
call fcn.0042a070
mov eax, dword [esi]
mov ecx, dword [ebp - 0x44]
push dword [ecx + eax]
lea ecx, [ebp - 0x30]
push dword [ebx - 0x10]
call fcn.0042a070
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x48], 0
test ecx, ecx
je 0x4279a3
jns 0x427990
mov eax, ecx
neg eax
je 0x427990
or eax, 0xffffffff
sub eax, ecx
shr eax, 5
lea eax, [eax*4 + 4]
sub edx, eax
jmp 0x427998
mov eax, ecx
shr eax, 5
lea edx, [edx + eax*4]
mov eax, ecx
mov dword [ebp - 0x40], edx
and eax, 0x1f
mov dword [ebp - 0x48], eax
mov eax, dword [ebx]
xor edx, edx
mov ecx, dword [ebx - 0xc]
mov dword [ebp - 0x4c], ecx
test eax, eax
je 0x4279df
mov edx, eax
test edx, edx
jns 0x4279d4
neg eax
je 0x4279d4
or ecx, 0xffffffff
mov eax, 0xfffffffc
sub ecx, edx
shr ecx, 5
shl ecx, 2
sub eax, ecx
mov ecx, dword [ebp - 0x4c]
add ecx, eax
jmp 0x4279dc
mov eax, edx
shr eax, 5
lea ecx, [ecx + eax*4]
and edx, 0x1f
push edx
push ecx
push 0
push dword [ebx - 0xc]
lea eax, [ebp - 0x1c]
push dword [ebp - 0x48]
lea ecx, [ebp - 0x30]
push dword [ebp - 0x40]
push eax
call fcn.0042dbf0
add esi, 0x18
add ebx, 0x18
cmp esi, edi
jne 0x427940
mov ebx, dword [ebp - 0x54]
mov ecx, ebx
call fcn.00429bf0
cdq
and edx, 7
mov dword [ebp - 0x44], 4
lea edi, [edx + eax]
imul eax, dword [ebp - 0x50], 0x29
sar edi, 3
lea edx, [ebp - 0x44]
movsx ecx, byte [eax + ebx + 0x53aa00]
movsx eax, byte [eax + ebx + 0x53a950]
imul ecx, eax
lea eax, [ebp - 0x4c]
sub edi, ecx
shl edi, 3
mov ecx, edi
sub ecx, dword [ebp - 0x24]
cmp ecx, 4
mov dword [ebp - 0x4c], ecx
lea ecx, [ebp - 0x30]
cmovge eax, edx
push dword [eax]
push 0
call fcn.0042a070
mov eax, dword [ebp - 0x24]
mov ecx, 8
and eax, 7
sub ecx, eax
and ecx, reloc.OLEAUT32.dll_VariantInit
jns 0x427a77
dec ecx
or ecx, 0xfffffff8
inc ecx
push ecx
push 0
lea ecx, [ebp - 0x30]
call fcn.0042a070
mov esi, dword [ebp - 0x24]
mov al, 0xec
mov byte [ebp - 0x39], al
cmp esi, edi
jae 0x427ab1
nop
push 8
movzx eax, al
lea ecx, [ebp - 0x30]
push eax
call fcn.0042a070
mov al, byte [ebp - 0x39]
xor al, 0xfd
mov byte [ebp - 0x39], al
cmp dword [ebp - 0x24], edi
jb 0x427a90
mov ebx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x24]
mov eax, esi
lea ecx, [ebp - 0x20]
shr eax, 3
push eax
call fcn.0042a3f0
xor edi, edi
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x30]
test esi, esi
je 0x427b28
mov edx, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x20]
mov dword [ebp - 0x44], edx
mov eax, edi
shr eax, 3
cmp edx, eax
jbe 0x427b62
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x4c], eax
cmp esi, edi
jbe 0x427b58
mov eax, edi
mov edx, 7
shr eax, 5
lea esi, [ecx + eax*4]
mov eax, edi
and eax, 7
mov ecx, edi
sub edx, eax
and ecx, 0x1f
mov eax, 1
shl eax, cl
mov ecx, edx
test dword [esi], eax
mov esi, dword [ebp - 0x24]
mov edx, dword [ebp - 0x44]
setne al
shl al, cl
inc edi
mov ecx, dword [ebp - 0x4c]
or byte [ecx], al
mov ecx, dword [ebp - 0x30]
cmp edi, esi
jb 0x427ad5
mov esi, dword [ebp - 0x58]
lea eax, [ebp - 0x20]
push ecx
push eax
push dword [ebp - 0x50]
mov ecx, esi
push ebx
call fcn.00427e50
mov ecx, dword [ebp - 0x20]
test ecx, ecx
je 0x427b99
mov eax, dword [ebp - 0x18]
sub eax, ecx
cmp eax, 0x1000
jb 0x427b90
test cl, 0x1f
je 0x427b6c
call fcn.004fe1ce
push str.invalid_vector_bool__subscript
call fcn.004dea01
push str.invalid_vector_T__subscript
call fcn.004dea01
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x427b78
call fcn.004fe1ce
sub ecx, eax
cmp ecx, 4
jae 0x427b84
call fcn.004fe1ce
cmp ecx, 0x23
jbe 0x427b8e
call fcn.004fe1ce
mov ecx, eax
push ecx
call fcn.004e1bac
add esp, 4
mov ecx, dword [ebp - 0x30]
test ecx, ecx
je 0x427bf5
mov eax, dword [ebp - 0x28]
sub eax, ecx
sar eax, 2
cmp eax, 0x3fffffff
jbe 0x427bb4
call fcn.004fe1ce
shl eax, 2
cmp eax, 0x1000
jb 0x427bec
test cl, 0x1f
je 0x427bc8
call fcn.004fe1ce
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x427bd4
call fcn.004fe1ce
sub ecx, eax
cmp ecx, 4
jae 0x427be0
call fcn.004fe1ce
cmp ecx, 0x23
jbe 0x427bea
call fcn.004fe1ce
mov ecx, eax
push ecx
call fcn.004e1bac
add esp, 4
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004e1bb1
mov esp, ebp
pop ebp
ret
mov dword [ebp - 0xfc], 0x53e430
mov dword [ebp - 0xac], vtable.std::basic_ios_char__struct_std::char_traits_char__.0
sub esp, 8
mov dword [ebp - 4], 0
lea eax, [ebp - 0xf8]
mov dword [ebp - 0x60], 2
lea ecx, [ebp - 0xfc]
push eax
call fcn.0042c3b0
mov dword [ebp - 4], 1
mov eax, dword [ebp - 0xfc]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xfc], vtable.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov eax, dword [ebp - 0xfc]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [ebp + ecx - 0x100], eax
lea eax, [ebp - 0xf8]
mov ecx, eax
mov dword [ebp - 0x58], eax
call fcn.0042d340
mov dword [ebp - 0xf8], vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 4
mov dword [ebp - 4], 3
lea eax, [ebp - 0xfc]
cmp edi, 0xffffffff
jne 0x427cbf
push str.Segment_too_long
jmp 0x427d0e
push str._bits_
push ecx
push edi
push ecx
push str.Data_length_
push eax
call fcn.0042d930
add esp, 0xc
mov ecx, eax
call fcn.0042abd0
add esp, 4
push eax
call fcn.0042d930
add esp, 8
lea eax, [ebp - 0xfc]
push str._bits
push ecx
push esi
push ecx
push str.Max_capacity_
push eax
call fcn.0042d930
add esp, 0xc
mov ecx, eax
call fcn.0042abd0
add esp, 4
push eax
call fcn.0042d930
add esp, 8
lea eax, [ebp - 0x38]
lea ecx, [ebp - 0xfc]
push eax
call fcn.0042a470
mov byte [ebp - 4], 4
cmp dword [eax + 0x14], 0x10
jb 0x427d32
mov eax, dword [eax]
mov dword [ebp - 0x5c], eax
xorps xmm0, xmm0
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x20], vtable.std::exception.0
push eax
lea eax, [ebp - 0x5c]
movq qword [ebp - 0x1c], xmm0
push eax
mov byte [ebp - 0x58], 1
call fcn.004fa378
add esp, 8
mov dword [ebp - 0x20], vtable.qrcodegen::data_too_long.0
lea eax, [ebp - 0x20]
push 0x561260
push eax
call fcn.004fa90b
int3