Function at 0x4c4a50
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x1018
call fcn.0051dcc0
mov eax, dword [0x572844]
xor eax, esp
mov dword [esp + 0x1014], eax
cmp byte [0x5c3cc4], 0
je 0x4c4a7f
cmp byte [esp + 0x1020], 0
je 0x4c4eb0
cmp dword [0x570884], 0
push esi
je 0x4c4ac5
xor ecx, ecx
xor esi, esi
lea ecx, [ecx]
xor byte [esi + str.8g30w1_5r7_2ta], cl
mov eax, 0xaaaaaaab
mul ecx
add ecx, 3
inc esi
shr edx, 1
add ecx, edx
and ecx, 0xffffff
cmp esi, 0x480
jb 0x4c4a90
cmp dword [0x570884], 0
je 0x4c4b61
jmp 0x4c4b4d
push 0x4fd
call fcn.004a9c90
mov esi, eax
cmp word [esi], 0x23
jne 0x4c4af7
cmp word [esi + 2], 0x23
jne 0x4c4af7
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4c4ae3
sub ecx, edx
sar ecx, 1
cmp ecx, 0x64
jae 0x4c4afd
mov esi, dword [str.0C69__3V_hwrqw_nlrhbngw.qgshf_clk._kckgvgfa:_Ipitvdg8RBTMEEiambhj_rdgf_gmuqqucswnmk_Peuamiwcbprp__G5_9hwrqw_nlrhbngw.qgshf_clk._kckgvgfa:_Ipitvdg8RBTMEEiambhj_rdgf_gmuqqexvhvbfvftrmhl8_U_vdjltfeuqug8_B__QMoH0V5hwrqw_nlrhbngw.qgshf_clk._kckgvgfa:_Ipitvdg8RBTMEEiambhj_rdgf_dxwkwegwauqlom__Rcwckouadvprf__Ek9]
push 0x1000
lea eax, [esp + 0x1c]
push 0
push eax
call fcn.005201d0
add esp, 0xc
lea eax, [esp + 0x18]
push 0x1000
push eax
lea eax, [esi + 4]
push eax
call fcn.004b4020
lea ecx, [esp + 0x18]
lea edx, [ecx + 1]
jmp 0x4c4b30
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c4b30
sub ecx, edx
lea eax, [esp + 0x18]
push ecx
push eax
mov ecx, str.8g30w1_5r7_2ta
call fcn.004c3fa0
test al, al
jne 0x4c4b61
push 0x480
push 0
push str.8g30w1_5r7_2ta
call fcn.005201d0
add esp, 0xc
push ebx
call fcn.00472b60
test al, al
jne 0x4c4b7d
mov eax, dword [0x57b108]
cmp eax, 0x28
jg 0x4c4b79
test eax, eax
jns 0x4c4b7d
mov bl, 1
jmp 0x4c4b7f
xor bl, bl
cmp byte [esp + 0x1024], 0
je 0x4c4e84
call fcn.004881b0
cmp eax, 0x501
ja 0x4c4ba9
test dword [0x570880], 0x200
je 0x4c4eae
cmp byte [0x570bf0], 0
je 0x4c4eae
mov byte [0x57099b], 0
mov byte [0x570a9f], 0
mov byte [0x570cef], 0
test bl, bl
jne 0x4c4be3
mov al, byte [0x570880]
and al, 0x80
movzx eax, al
neg eax
sbb eax, eax
and dword [0x570888], eax
xor bh, bh
cmp dword [0x570898], 0
jbe 0x4c4c3f
call fcn.00472b60
test al, al
jne 0x4c4c3f
push 0
push str.RemShown
push str.InterfaceMisc
call fcn.004c2f20
cmp eax, dword [0x570898]
jae 0x4c4c3f
inc eax
push eax
push str.RemShown
push str.InterfaceMisc
call fcn.004c3de0
cmp byte [0x57089c], 0
mov bh, 1
je 0x4c4ce8
push 0x100
push 0x57089c
jmp 0x4c4cde
cmp dword [0x57099c], 0
jbe 0x4c4c8d
test bl, bl
je 0x4c4c8d
push 0
push str.ExpRemShown
push str.InterfaceMisc
call fcn.004c2f20
cmp eax, dword [0x57099c]
jae 0x4c4c8d
inc eax
push eax
push str.ExpRemShown
push str.InterfaceMisc
call fcn.004c3de0
cmp byte [0x5709a0], 0
mov bh, 1
je 0x4c4ce8
push 0x100
push 0x5709a0
jmp 0x4c4cde
cmp dword [0x570aa0], 0
jbe 0x4c4ce8
call fcn.00472b60
test al, al
je 0x4c4ce8
push 0
push str.RegRemShown
push str.InterfaceMisc
call fcn.004c2f20
cmp eax, dword [0x570aa0]
jae 0x4c4ce8
inc eax
push eax
push str.RegRemShown
push str.InterfaceMisc
call fcn.004c3de0
cmp byte [0x570aa4], 0
mov bh, 1
je 0x4c4ce8
push 0x100
push 0x570aa4
push 0x570bf0
call fcn.004b0250
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov eax, 0x10624dd3
mul ecx
mov esi, edx
shr esi, 6
call fcn.00472b60
test al, al
je 0x4c4d1b
mov ecx, dword [0x570894]
test ecx, ecx
je 0x4c4d3b
xor edx, edx
mov eax, esi
div ecx
test edx, edx
jne 0x4c4d3b
jmp 0x4c4d43
test bl, bl
jne 0x4c4d27
mov ecx, dword [0x57088c]
jmp 0x4c4d0b
mov ecx, dword [0x570890]
test ecx, ecx
je 0x4c4d3b
xor edx, edx
mov eax, esi
div ecx
test edx, edx
je 0x4c4d43
test bh, bh
je 0x4c4eae
push ebp
push edi
mov edi, dword [0x570880]
shl edi, 0x11
not edi
and edi, 0x40000
or edi, 0x16c80000
test byte [0x570880], 8
jne 0x4c4d6b
or edi, 0x30000
mov eax, dword [0x570ba8]
mov ebp, SysReAllocString
mov dword [esp + 0x10], SysStringLen
mov esi, ebp
mov ebx, esi
test eax, eax
je 0x4c4e1f
cmp dword [0x570ba4], 0
je 0x4c4e1f
push eax
call fcn.004ed790
push 0x21
mov esi, eax
call dword [sym.imp.USER32.dll_GetSystemMetrics]
push 4
lea ebx, [esi + eax*2]
call dword [sym.imp.USER32.dll_GetSystemMetrics]
add ebx, eax
test byte [0x570880], 0x40
jne 0x4c4dc8
test dword [0x570880], 0x100
jne 0x4c4dce
add ebx, dword [0x5c3cc0]
push dword [0x570ba4]
call fcn.004ed730
push 0x20
mov esi, eax
call dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0
lea esi, [esi + eax*2]
lea eax, [esp + 0x18]
push eax
push 0
push 0x30
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
mov eax, dword [esp + 0x1c]
cmp esi, eax
jl 0x4c4e01
mov esi, eax
sub eax, esi
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x20]
cmp ebx, eax
jl 0x4c4e16
mov ebx, eax
sub eax, ebx
cdq
sub eax, edx
mov ebp, eax
sar ebp, 1
push 0x100
push 0x570bf0
call fcn.004c4150
push 0
push dword [0x5b681c]
push 0
push 0
push ebx
push esi
push ebp
push dword [esp + 0x2c]
push edi
push 0x545f9c
push str.RarReminder
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
test byte [0x570880], 1
pop edi
pop ebp
je 0x4c4e72
push 3
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push eax
call dword [sym.imp.USER32.dll_SetWindowPos]
cmp dword [0x57a0dc], 0
je 0x4c4eae
mov byte [0x5c3cc4], 1
jmp 0x4c4eae
test bl, bl
je 0x4c4eae
mov byte [0x5c3cc4], 1
call dword [sym.imp.USER32.dll_GetFocus]
push 0
push 0x500fb0
push eax
push str.REMINDER
push dword [0x5b6818]
call dword [sym.imp.USER32.dll_DialogBoxParamW]
pop ebx
pop esi
mov ecx, dword [esp + 0x1014]
xor ecx, esp
call fcn.0051dca8
add esp, 0x1018
ret 8