Function at 0x4b6870
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x13c
mov eax, dword [0x53273c]
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, dword [0x521bd4]
lea edx, [ebp - 0x12c]
sub edx, ecx
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x4b6891
lea eax, [ebp - 0x12c]
push 0x29
push eax
call fcn.004d0290
add esp, 8
test eax, eax
je 0x4b68d5
movups xmm0, xmmword [str.__expires_midnight_19700101_GMT__n]
movups xmmword [eax], xmm0
movups xmm0, xmmword [0x509978]
movups xmmword [eax + 0x10], xmm0
mov cx, word [0x509988]
mov word [eax + 0x20], cx
jmp 0x4b6922
movups xmm0, xmmword [str.Time_limited_version__expiring_midnight_19700101_GMT__n]
mov eax, dword [0x5099bc]
mov dword [ebp - 0xfc], eax
mov ax, word [0x5099c0]
movups xmmword [ebp - 0x12c], xmm0
mov word [ebp - 0xf8], ax
movups xmm0, xmmword [0x50999c]
mov al, byte [0x5099c2]
mov byte [ebp - 0xf6], al
movups xmmword [ebp - 0x11c], xmm0
movups xmm0, xmmword [0x5099ac]
movups xmmword [ebp - 0x10c], xmm0
push ebx
push esi
push edi
push 0
call fcn.004d7382
mov esi, dword [0x5320fc]
add esp, 4
mov edi, eax
mov ebx, edx
test esi, esi
jl 0x4b6c27
mov ecx, dword [0x5320f8]
jg 0x4b6955
cmp ecx, 0x5fee744d
jb 0x4b6c27
mov eax, ecx
sub eax, 0x15180
sbb esi, 0
cmp ebx, esi
jl 0x4b6c27
jg 0x4b6971
cmp edi, eax
jb 0x4b6c27
mov edx, dword [0x532104]
cmp ebx, edx
jg 0x4b6c27
mov eax, dword [0x532100]
jl 0x4b698e
cmp edi, eax
jae 0x4b6c27
sub eax, edi
sbb edx, ebx
test edx, edx
jg 0x4b6a1e
jl 0x4b69a3
cmp eax, 0x127500
jae 0x4b6a1e
mov ecx, eax
call fcn.004ced00
movaps xmm1, xmm0
movsd xmm2, qword [0x4fc468]
divsd xmm1, qword [0x509a50]
comisd xmm1, xmm2
jb 0x4b69ca
mov eax, 0x5099c4
jmp 0x4b69f2
movaps xmm1, xmm0
divsd xmm1, qword [0x509a48]
comisd xmm1, xmm2
jb 0x4b69e2
mov eax, str.hour
jmp 0x4b69f2
movaps xmm1, xmm0
mov eax, str.minute
divsd xmm1, qword [0x509a40]
push eax
sub esp, 8
movsd qword [esp], xmm1
push 0x532628
push str._swill_expire_in__.1f__ss._n
push 2
call fcn.004d27a8
add esp, 4
push eax
call fcn.0040cba0
mov ecx, dword [0x5320f8]
add esp, 0x18
cmp byte [0x532128], 0
mov esi, 0x532128
je 0x4b6bfd
mov eax, dword [0x53210c]
lea edx, [eax + 0x532128]
cmp edx, esi
jbe 0x4b6a50
nop
mov eax, ecx
shr ecx, 1
shl eax, 0x1f
or ecx, eax
xor byte [esi], cl
inc esi
cmp esi, edx
jb 0x4b6a40
lea eax, [ebp - 0x13c]
mov byte [esi], 0
push eax
lea eax, [ebp - 0x12d]
mov byte [ebp - 0x12d], 0x58
push eax
mov ebx, 0x532128
mov dword [ebp - 0x13c], 0xffffffff
push str._c_d:
push ebx
call fcn.00440b00
add esp, 0x10
cmp eax, 2
jne 0x4b6ae9
mov al, byte [ebp - 0x12d]
cmp al, 0x41
je 0x4b6a98
cmp al, 0x43
jne 0x4b6ae9
push 0x20
push 0x532128
call fcn.004d0a10
mov edi, eax
add esp, 8
test edi, edi
je 0x4b6ae9
push dword [ebp - 0x13c]
movsx ecx, byte [ebp - 0x12d]
push ecx
push str._c_d
push 0x20
push 0x544b60
call fcn.004b6830
add esp, 0x14
test eax, eax
jle 0x4b6ae9
push 0x200
lea ebx, [edi + 1]
push ebx
push 0x544b80
call fcn.004d50e0
add esp, 0xc
lea edi, [ebp - 0x12c]
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x4b6af2
lea eax, [ebp - 0x12c]
mov dword [ebp - 0x134], 0
push str._midnight
push eax
sub edi, ecx
call fcn.004d0bf0
add esp, 8
test eax, eax
je 0x4b6b51
push dword [0x532108]
mov edi, eax
lea eax, [ebp - 0x12c]
push dword [0x5320f8]
sub edi, eax
lea eax, [ebp - 0x2c]
push str.License__x__d_for
push 0x28
push eax
add edi, 0xa
call fcn.004b6830
add esp, 0x14
mov dword [ebp - 0x134], eax
jmp 0x4b6b53
xor eax, eax
sub esi, ebx
lea ecx, [eax + 0xd]
add ecx, esi
mov edx, ebx
add ecx, edi
mov dword [ebp - 0x138], edx
cmp ecx, 0x100
jbe 0x4b6b83
push ecx
call fcn.004b58c0
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0x138], edx
add eax, 0xe
add eax, edi
add esi, 0xffffffff
js 0x4b6ba0
lea ecx, [eax + esi]
add ecx, edx
mov al, byte [esi + ebx]
lea ecx, [ecx - 1]
sub esi, 1
mov byte [ecx + 1], al
jns 0x4b6b92
push edi
lea eax, [ebp - 0x12c]
push eax
push edx
call fcn.004cfba0
mov ebx, dword [ebp - 0x134]
add esp, 0xc
mov esi, dword [ebp - 0x138]
test ebx, ebx
je 0x4b6bf7
mov eax, dword [str.19700101]
lea edx, [edi + esi]
mov ecx, dword [0x53211c]
mov dword [edx], eax
mov dword [edx + 4], ecx
mov eax, dword [str._GMT__n]
mov dword [edx + 8], eax
mov ax, word [0x509a28]
mov word [edx + 0xc], ax
lea eax, [ebp - 0x2c]
push ebx
push eax
lea eax, [edx + 0xe]
push eax
call fcn.004cfba0
add esp, 0xc
mov dword [0x521bd4], esi
push 0x80
push str.time_limited
push 0x544ae0
call fcn.004d50e0
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004ceaf9
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
mov eax, 0xff
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004ceaf9
mov esp, ebp
pop ebp
ret