Function at 0x427a60
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x521fb2
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.00429e90
movsx ecx, byte [ebx + 0x53a9bb]
cdq
and edx, 7
lea esi, [edx + eax]
movsx eax, byte [ebx + 0x53aa73]
imul ecx, eax
mov edx, ebx
sar esi, 3
sub esi, ecx
mov ecx, edi
shl esi, 3
call fcn.00427860
mov edi, eax
cmp edi, 0xffffffff
je 0x427aec
cmp edi, esi
jle 0x427afb
cmp ebx, 0x28
jge 0x427eb3
mov edi, dword [ebp - 0x44]
inc ebx
jmp 0x427aae
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 0x427b73
mov esi, dword [eax]
mov ecx, ebx
call fcn.00429e90
cdq
and edx, 7
add edx, eax
imul eax, esi, 0x29
sar edx, 3
movsx ecx, byte [eax + ebx + 0x53a9f8]
movsx eax, byte [eax + ebx + 0x53a940]
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 0x427b26
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.00426690
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 0x427ca9
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.0042a310
mov eax, dword [esi]
mov ecx, dword [ebp - 0x44]
push dword [ecx + eax]
lea ecx, [ebp - 0x30]
push dword [ebx - 0x10]
call fcn.0042a310
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x48], 0
test ecx, ecx
je 0x427c43
jns 0x427c30
mov eax, ecx
neg eax
je 0x427c30
or eax, 0xffffffff
sub eax, ecx
shr eax, 5
lea eax, [eax*4 + 4]
sub edx, eax
jmp 0x427c38
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 0x427c7f
mov edx, eax
test edx, edx
jns 0x427c74
neg eax
je 0x427c74
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 0x427c7c
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.0042dea0
add esi, 0x18
add ebx, 0x18
cmp esi, edi
jne 0x427be0
mov ebx, dword [ebp - 0x54]
mov ecx, ebx
call fcn.00429e90
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 + 0x53a9f8]
movsx eax, byte [eax + ebx + 0x53a940]
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.0042a310
mov eax, dword [ebp - 0x24]
mov ecx, 8
and eax, 7
sub ecx, eax
and ecx, reloc.OLEAUT32.dll_VariantInit
jns 0x427d17
dec ecx
or ecx, 0xfffffff8
inc ecx
push ecx
push 0
lea ecx, [ebp - 0x30]
call fcn.0042a310
mov esi, dword [ebp - 0x24]
mov al, 0xec
mov byte [ebp - 0x39], al
cmp esi, edi
jae 0x427d51
nop
push 8
movzx eax, al
lea ecx, [ebp - 0x30]
push eax
call fcn.0042a310
mov al, byte [ebp - 0x39]
xor al, 0xfd
mov byte [ebp - 0x39], al
cmp dword [ebp - 0x24], edi
jb 0x427d30
mov ebx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x24]
mov eax, esi
lea ecx, [ebp - 0x20]
shr eax, 3
push eax
call fcn.0042a690
xor edi, edi
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x30]
test esi, esi
je 0x427dc8
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 0x427e02
add eax, dword [ebp - 0x20]
mov dword [ebp - 0x4c], eax
cmp esi, edi
jbe 0x427df8
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 0x427d75
mov esi, dword [ebp - 0x58]
lea eax, [ebp - 0x20]
push ecx
push eax
push dword [ebp - 0x50]
mov ecx, esi
push ebx
call fcn.004280f0
mov ecx, dword [ebp - 0x20]
test ecx, ecx
je 0x427e39
mov eax, dword [ebp - 0x18]
sub eax, ecx
cmp eax, 0x1000
jb 0x427e30
test cl, 0x1f
je 0x427e0c
call fcn.004fe3de
push str.invalid_vector_bool__subscript
call fcn.004dec34
push str.invalid_vector_T__subscript
call fcn.004dec34
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x427e18
call fcn.004fe3de
sub ecx, eax
cmp ecx, 4
jae 0x427e24
call fcn.004fe3de
cmp ecx, 0x23
jbe 0x427e2e
call fcn.004fe3de
mov ecx, eax
push ecx
call fcn.004e1ddf
add esp, 4
mov ecx, dword [ebp - 0x30]
test ecx, ecx
je 0x427e95
mov eax, dword [ebp - 0x28]
sub eax, ecx
sar eax, 2
cmp eax, 0x3fffffff
jbe 0x427e54
call fcn.004fe3de
shl eax, 2
cmp eax, 0x1000
jb 0x427e8c
test cl, 0x1f
je 0x427e68
call fcn.004fe3de
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x427e74
call fcn.004fe3de
sub ecx, eax
cmp ecx, 4
jae 0x427e80
call fcn.004fe3de
cmp ecx, 0x23
jbe 0x427e8a
call fcn.004fe3de
mov ecx, eax
push ecx
call fcn.004e1ddf
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.004e1de4
mov esp, ebp
pop ebp
ret
mov dword [ebp - 0xfc], 0x53e468
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.0042c660
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.0042d5f0
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 0x427f5f
push str.Segment_too_long
jmp 0x427fae
push str._bits_
push ecx
push edi
push ecx
push str.Data_length_
push eax
call fcn.0042dbe0
add esp, 0xc
mov ecx, eax
call fcn.0042ae80
add esp, 4
push eax
call fcn.0042dbe0
add esp, 8
lea eax, [ebp - 0xfc]
push str._bits
push ecx
push esi
push ecx
push str.Max_capacity_
push eax
call fcn.0042dbe0
add esp, 0xc
mov ecx, eax
call fcn.0042ae80
add esp, 4
push eax
call fcn.0042dbe0
add esp, 8
lea eax, [ebp - 0x38]
lea ecx, [ebp - 0xfc]
push eax
call fcn.0042a710
mov byte [ebp - 4], 4
cmp dword [eax + 0x14], 0x10
jb 0x427fd2
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.004fa5d8
add esp, 8
mov dword [ebp - 0x20], vtable.qrcodegen::data_too_long.0
lea eax, [ebp - 0x20]
push 0x561298
push eax
call fcn.004fab6b
int3