Function at 0x41c2a0
Capabilities:
Encode data using xor

Disassembly:
push 0xffffffffffffffff
push 0x556b85
mov eax, dword fs:[0]
push eax
sub esp, 0x10
push ebx
push ebp
push esi
push edi
mov eax, dword [0x63d20c]
xor eax, esp
push eax
lea eax, [esp + 0x24]
mov dword fs:[0], eax
mov esi, ecx
xor edi, edi
mov dword [esp + 0x1c], edi
mov eax, dword [sym.imp.QtCore4.dll_struct_QString::Data_QString::shared_null]
mov ebx, 1
mov dword [esp + 0x14], eax
mov ecx, ebx
lock xadd dword [eax], ecx
mov eax, dword [esi + 8]
mov ecx, dword [eax + 0x20]
push edi
mov dword [esp + 0x30], ebx
call fcn.0047ea50
test eax, eax
jne 0x41c331
push 0xffffffffffffffff
push 0x57c96d
call dword [sym.imp.QtCore4.dll_private:_static_struct_QString::Data____cdecl_QString::fromAscii_helper_char_const___int_]
mov esi, dword [esp + 0x3c]
add esp, 8
mov dword [esi], eax
mov edx, dword [esp + 0x14]
mov dword [esp + 0x1c], ebx
mov byte [esp + 0x2c], 0
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x41c4b5
mov ecx, dword [esp + 0x14]
push ecx
jmp 0x41c4ac
mov ecx, esi
call fcn.00484280
mov esi, eax
cmp esi, edi
jne 0x41c378
push 0xffffffffffffffff
push 0x57c96d
call dword [sym.imp.QtCore4.dll_private:_static_struct_QString::Data____cdecl_QString::fromAscii_helper_char_const___int_]
mov esi, dword [esp + 0x3c]
mov edx, dword [esp + 0x1c]
mov dword [esi], eax
add esp, 8
mov dword [esp + 0x1c], ebx
mov byte [esp + 0x2c], 0
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x41c4b5
mov ecx, dword [esp + 0x14]
push ecx
jmp 0x41c4ac
mov ecx, dword [0x63e0d8]
call fcn.00477d30
mov ebp, eax
push str.UTF_8
mov ecx, esi
mov dword [esp + 0x24], ebp
call fcn.0047b280
test eax, eax
jne 0x41c3b5
mov eax, dword [esi + 4]
push 0xffffffffffffffff
push eax
lea edx, [esp + 0x20]
push edx
call dword [sym.imp.QtCore4.dll_public:_static_class_QString___cdecl_QString::fromUtf8_char_const___int_]
add esp, 0xc
mov byte [esp + 0x2c], 2
push eax
jmp 0x41c433
push str.UCS_2
mov ecx, esi
call fcn.0047b280
test eax, eax
jne 0x41c416
cmp dword [esi], ebx
jle 0x41c45c
mov ebp, dword [sym.imp.QtCore4.dll_public:_class_QString____thiscall_QString::append_class_QChar_]
mov eax, dword [esi + 4]
mov cl, byte [eax + edi]
movsx dx, byte [eax + edi + 1]
add eax, edi
movsx cx, cl
mov eax, 0xff
and dx, ax
shl cx, 8
xor dx, cx
mov word [esp + 0x18], dx
mov edx, dword [esp + 0x18]
push edx
lea ecx, [esp + 0x18]
call ebp
mov eax, dword [esi]
add edi, 2
lea ecx, [edi + 1]
cmp ecx, eax
jl 0x41c3d3
mov ebp, dword [esp + 0x20]
jmp 0x41c45c
mov eax, dword [esi + 4]
push 0xffffffffffffffff
push eax
call dword [sym.imp.QtCore4.dll_private:_static_struct_QString::Data____cdecl_QString::fromAscii_helper_char_const___int_]
add esp, 8
mov dword [esp + 0x18], eax
lea edx, [esp + 0x18]
mov byte [esp + 0x2c], 3
push edx
lea ecx, [esp + 0x18]
call dword [sym.imp.QtCore4.dll_public:_class_QString____thiscall_QString::operator_class_QString_const__]
mov eax, dword [esp + 0x18]
or ecx, 0xffffffff
mov byte [esp + 0x2c], bl
lock xadd dword [eax], ecx
jne 0x41c45c
mov edx, dword [esp + 0x18]
push edx
call dword [sym.imp.QtCore4.dll_private:_static_void___cdecl_QString::free_struct_QString::Data__]
add esp, 4
mov ecx, esi
call fcn.0047ac70
push esi
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
test ebp, ebp
je 0x41c480
mov ecx, ebp
call fcn.0047ac70
push ebp
call sub.MSVCR90.dll_void___cdecl_operator_delete_void__
add esp, 4
mov esi, dword [esp + 0x34]
lea eax, [esp + 0x14]
push eax
mov ecx, esi
call dword [sym.imp.QtCore4.dll_public:_void___thiscall_QString::constructor_class_QString_const__]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1c], ebx
mov byte [esp + 0x2c], 0
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x41c4b5
mov eax, dword [esp + 0x14]
push eax
call dword [sym.imp.QtCore4.dll_private:_static_void___cdecl_QString::free_struct_QString::Data__]
add esp, 4
mov eax, esi
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret 4