Function at 0x4d1ad0
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x1018
call fcn.00530230
mov eax, dword [0x58cb30]
xor eax, esp
mov dword [esp + 0x1014], eax
cmp byte [0x5e0be4], 0
je 0x4d1aff
cmp byte [esp + 0x1020], 0
je 0x4d1f30
cmp dword [0x58ab2c], 0
push esi
je 0x4d1b45
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 0x4d1b10
cmp dword [0x58ab2c], 0
je 0x4d1be1
jmp 0x4d1bcd
push 0x4fd
call fcn.004b7300
mov esi, eax
cmp word [esi], 0x23
jne 0x4d1b77
cmp word [esi + 2], 0x23
jne 0x4d1b77
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4d1b63
sub ecx, edx
sar ecx, 1
cmp ecx, 0x64
jae 0x4d1b7d
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.00532770
add esp, 0xc
lea eax, [esp + 0x18]
push 0x1000
push eax
lea eax, [esi + 4]
push eax
call fcn.004c1790
lea ecx, [esp + 0x18]
lea edx, [ecx + 1]
jmp 0x4d1bb0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4d1bb0
sub ecx, edx
lea eax, [esp + 0x18]
push ecx
push eax
mov ecx, str.8g30w1_5r7_2ta
call fcn.004d1020
test al, al
jne 0x4d1be1
push 0x480
push 0
push str.8g30w1_5r7_2ta
call fcn.00532770
add esp, 0xc
push ebx
call fcn.0047f3b0
test al, al
jne 0x4d1bfd
mov eax, dword [0x59440c]
cmp eax, 0x28
jg 0x4d1bf9
test eax, eax
jns 0x4d1bfd
mov bl, 1
jmp 0x4d1bff
xor bl, bl
cmp byte [esp + 0x1024], 0
je 0x4d1f04
call fcn.00495f30
cmp eax, 0x501
ja 0x4d1c29
test dword [0x58ab28], 0x200
je 0x4d1f2e
cmp byte [0x58ae98], 0
je 0x4d1f2e
mov byte [0x58ac43], 0
mov byte [0x58ad47], 0
mov byte [0x58af97], 0
test bl, bl
jne 0x4d1c63
mov al, byte [0x58ab28]
and al, 0x80
movzx eax, al
neg eax
sbb eax, eax
and dword [0x58ab30], eax
xor bh, bh
cmp dword [0x58ab40], 0
jbe 0x4d1cbf
call fcn.0047f3b0
test al, al
jne 0x4d1cbf
push 0
push str.RemShown
push str.InterfaceMisc
call fcn.004cffa0
cmp eax, dword [0x58ab40]
jae 0x4d1cbf
inc eax
push eax
push str.RemShown
push str.InterfaceMisc
call fcn.004d0e60
cmp byte [0x58ab44], 0
mov bh, 1
je 0x4d1d68
push 0x100
push 0x58ab44
jmp 0x4d1d5e
cmp dword [0x58ac44], 0
jbe 0x4d1d0d
test bl, bl
je 0x4d1d0d
push 0
push str.ExpRemShown
push str.InterfaceMisc
call fcn.004cffa0
cmp eax, dword [0x58ac44]
jae 0x4d1d0d
inc eax
push eax
push str.ExpRemShown
push str.InterfaceMisc
call fcn.004d0e60
cmp byte [0x58ac48], 0
mov bh, 1
je 0x4d1d68
push 0x100
push 0x58ac48
jmp 0x4d1d5e
cmp dword [0x58ad48], 0
jbe 0x4d1d68
call fcn.0047f3b0
test al, al
je 0x4d1d68
push 0
push str.RegRemShown
push str.InterfaceMisc
call fcn.004cffa0
cmp eax, dword [0x58ad48]
jae 0x4d1d68
inc eax
push eax
push str.RegRemShown
push str.InterfaceMisc
call fcn.004d0e60
cmp byte [0x58ad4c], 0
mov bh, 1
je 0x4d1d68
push 0x100
push 0x58ad4c
push 0x58ae98
call fcn.004bd9d0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov eax, 0x10624dd3
mul ecx
mov esi, edx
shr esi, 6
call fcn.0047f3b0
test al, al
je 0x4d1d9b
mov ecx, dword [0x58ab3c]
test ecx, ecx
je 0x4d1dbb
xor edx, edx
mov eax, esi
div ecx
test edx, edx
jne 0x4d1dbb
jmp 0x4d1dc3
test bl, bl
jne 0x4d1da7
mov ecx, dword [0x58ab34]
jmp 0x4d1d8b
mov ecx, dword [0x58ab38]
test ecx, ecx
je 0x4d1dbb
xor edx, edx
mov eax, esi
div ecx
test edx, edx
je 0x4d1dc3
test bh, bh
je 0x4d1f2e
push ebp
push edi
mov edi, dword [0x58ab28]
shl edi, 0x11
not edi
and edi, 0x40000
or edi, 0x16c80000
test byte [0x58ab28], 8
jne 0x4d1deb
or edi, 0x30000
mov eax, dword [0x58ae50]
mov ebp, SysReAllocString
mov dword [esp + 0x10], SysStringLen
mov esi, ebp
mov ebx, esi
test eax, eax
je 0x4d1e9f
cmp dword [0x58ae4c], 0
je 0x4d1e9f
push eax
call fcn.004fe4e0
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 [0x58ab28], 0x40
jne 0x4d1e48
test dword [0x58ab28], 0x100
jne 0x4d1e4e
add ebx, dword [0x5e0be0]
push dword [0x58ae4c]
call fcn.004fe480
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 0x4d1e81
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 0x4d1e96
mov ebx, eax
sub eax, ebx
cdq
sub eax, edx
mov ebp, eax
sar ebp, 1
push 0x100
push 0x58ae98
call fcn.004d11d0
push 0
push dword [0x5d375c]
push 0
push 0
push ebx
push esi
push ebp
push dword [esp + 0x2c]
push edi
push 0x55c00c
push str.RarReminder
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
test byte [0x58ab28], 1
pop edi
pop ebp
je 0x4d1ef2
push 3
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push eax
call dword [sym.imp.USER32.dll_SetWindowPos]
cmp dword [0x5943f0], 0
je 0x4d1f2e
mov byte [0x5e0be4], 1
jmp 0x4d1f2e
test bl, bl
je 0x4d1f2e
mov byte [0x5e0be4], 1
call dword [sym.imp.USER32.dll_GetFocus]
push 0
push 0x512440
push eax
push str.REMINDER
push dword [0x5d3758]
call dword [sym.imp.USER32.dll_DialogBoxParamW]
pop ebx
pop esi
mov ecx, dword [esp + 0x1014]
xor ecx, esp
call fcn.00530218
add esp, 0x1018
ret 8