Function at 0x10025b89
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
mov edx, dword [0x1004122c]
mov eax, edx
push ebx
xor ebx, ebx
and eax, 0x64496ebf
push esi
mov ecx, ebx
mov dword [ebp - 0x10], eax
inc ecx
cmp byte [ecx + str..api.githubcloud], bl
jne 0x10025ba5
mov esi, dword [ebp - 0x10]
push edi
cmp esi, ecx
jae 0x10025bd6
mov edi, eax
and edi, 0xedfaa72f
mov dword [ebp - 0xc], edi
cmp esi, 0x6f4
jne 0x10025bcf
imul edx, eax, 0xb5442ea
inc esi
cmp esi, ecx
jb 0x10025bc1
jmp 0x10025bde
mov eax, dword [0x100412c4]
mov dword [ebp - 0xc], eax
push 6
pop ecx
mov esi, str.PostThreadMessage_WM_NULL_
lea edi, [ebp - 0x2c]
rep movsd dword es:[edi], dword [esi]
mov eax, edx
or eax, 0xb3ccfc52
mov dword [ebp - 8], eax
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
cmp byte [ebp - 0x2c], 0x2a
jne 0x10025c48
mov byte [ebp - 1], 0x2a
mov ecx, ebx
mov al, byte [ebp - 1]
test al, al
je 0x10025c1e
cmp byte [ebp + ecx - 0x2c], bl
je 0x10025c1e
mov al, byte [ecx + 0x1003cee1]
inc ecx
cmp al, byte [ebp + ecx - 0x2c]
je 0x10025c07
mov esi, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
cmp esi, ecx
jae 0x10025c48
mov edi, dword [ebp - 0xc]
cmp esi, 0x1803
jne 0x10025c3a
mov eax, edi
or eax, 0xbb72b863
imul eax, eax, 0x3ff899ad
inc esi
cmp esi, ecx
jb 0x10025c2b
mov dword [ebp - 8], eax
mov esi, ebx
xor edx, 0x4f8e49bb
inc esi
cmp byte [esi + str.MaxApertureValue], bl
jne 0x10025c4a
mov edi, dword [ebp - 0x10]
cmp edi, esi
jae 0x10025c80
mov ecx, dword [ebp - 0x10]
cmp edi, 0x1ffc
jne 0x10025c71
add ecx, 0x2f2d8ae1
mov eax, ecx
or eax, 0xd18e2936
inc edi
mov dword [ebp - 8], eax
cmp edi, esi
jb 0x10025c63
mov ecx, edx
mov eax, ebx
and ecx, 0xe0c97838
inc eax
cmp byte [eax + str.DisableVirtualization_:_loaded_kernel32], bl
jne 0x10025c8a
cmp eax, 0x987
jbe 0x10025ca3
lea eax, [ecx - 0x37f9cf92]
mov dword [ebp - 8], eax
mov esi, str.URLUpdateInfo
lea edi, [ebp - 0x20]
mov eax, ebx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
cmp byte [ebp - 0x20], 0x77
jne 0x10025cd1
mov cl, 0x77
test cl, cl
je 0x10025cd1
cmp byte [ebp + eax - 0x20], bl
je 0x10025cd1
mov cl, byte [eax + 0x1003cf41]
inc eax
cmp cl, byte [ebp + eax - 0x20]
je 0x10025cba
movzx ecx, byte [eax + str.wxEnhMetaFileDC]
movzx eax, byte [ebp + eax - 0x20]
sub ecx, eax
cmp ecx, 0x789
ja 0x10025cf0
mov edx, dword [ebp - 8]
xor edx, 0xd7a1eb65
imul ecx, edx, 0xf06898ef
lea esi, [edx + 0x64a6d9f0]
lea edi, [edx - 0xea5fe0f]
mov dword [0x100412c4], esi
mov eax, ebx
mov dword [0x100411f8], ecx
inc eax
cmp word [eax*2 + str.Thursday], bx
jne 0x10025d10
mov edx, dword [ebp - 0x10]
cmp edx, eax
jae 0x10025d41
cmp edx, 0x207
jne 0x10025d30
lea edi, [ecx + 0x33f42ced]
imul esi, esi, 0x198ab0a3
inc edx
cmp edx, eax
jb 0x10025d22
mov dword [0x100412c4], esi
lea eax, [edi + 0x10cbd6a9]
mov dword [0x1004122c], eax
pop edi
inc ebx
cmp byte [ebx + str.MaxApertureValue], 0
jne 0x10025d4d
cmp ebx, 0x2082
jae 0x10025d6c
imul eax, eax, 0xb4f1ee
mov dword [0x100412c4], eax
jmp 0x10025d7a
mov ecx, esi
or ecx, 0x729501e2
mov dword [0x100411f8], ecx
or ecx, 0x65f7e0dc
pop esi
mov dword [0x100412f4], ecx
pop ebx
leave
ret