Function at 0x404900
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x100
mov eax, dword [0x4305c0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp + 0x10]
push 0xd3
mov dword [ebp - 0xf8], eax
lea eax, [ebp - 0xd7]
push 0
push eax
call fcn.00416b30
movq xmm0, qword [ebx + 4]
lea esi, [ebx + 4]
add esp, 0xc
movq qword [ebp - 0xd4], xmm0
movq xmm0, qword [esi + 8]
push esi
sub esp, 8
movq qword [ebp - 0xcc], xmm0
call fcn.00401250
push 0x100
call fcn.00410681
push 0x100
mov edi, eax
push esi
push edi
call fcn.00412980
lea eax, [ebp - 0xdc]
push eax
push esi
mov ecx, edi
call fcn.00401860
push edi
call fcn.0041176e
push 0x62
push dword [0x437b70]
lea eax, [ebp - 0xbc]
push eax
mov dword [ebp - 0xd8], 0x50000
mov dword [ebp - 0xc4], 0x50000
mov dword [ebp - 0xc0], 0x62
call fcn.00412980
mov eax, dword [ebx + 0x68]
mov dword [ebp - 0x4a], eax
mov eax, dword [ebx + 0x6c]
mov dword [ebp - 0x46], eax
mov eax, dword [0x43923c]
shl eax, 4
mov dword [ebp - 0xdc], eax
lea ecx, [eax + 0x437b89]
movq xmm0, qword [ebx + 0x54]
lea eax, [ebp - 0x3a]
sub eax, ebx
mov dword [ebp - 0xe0], eax
lea eax, [ebp - 0xd7]
sub eax, ebx
mov dword [ebp - 0xfc], eax
lea eax, [ebp - 0x39]
sub eax, ebx
mov dword [ebp - 0xe8], eax
lea eax, [ebp - 0xd6]
sub eax, ebx
mov dword [ebp - 0x100], eax
lea eax, [ebp - 0x38]
sub eax, ebx
mov dword [ebp - 0xec], eax
lea edi, [ebp - 0xd8]
lea eax, [ebp - 0xd5]
add esp, 0x34
sub edi, ebx
sub eax, ebx
movq qword [ebp - 0x5a], xmm0
movq xmm0, qword [ebx + 0x5c]
mov dword [ebp - 0xe4], eax
movq qword [ebp - 0x52], xmm0
mov dword [ebp - 0x42], 0x1a
mov dword [ebp - 0x3e], 0x78
mov dword [ebp - 0x3a], 0x2760
lea eax, [ebp - 0x37]
sub eax, ebx
mov ebx, dword [ebp - 0xe0]
mov dword [ebp - 0xf4], eax
mov edx, 4
jmp 0x404a80
movzx eax, byte [edi + esi]
xor al, byte [ecx - 1]
lea esi, [esi + 4]
xor al, byte [esi - 4]
lea ecx, [ecx + 4]
mov byte [ebx + esi - 4], al
mov eax, dword [ebp - 0xfc]
mov ebx, dword [ebp - 0xe8]
movzx eax, byte [eax + esi - 4]
xor al, byte [esi - 3]
xor al, byte [ecx - 4]
mov byte [ebx + esi - 4], al
mov eax, dword [ebp - 0x100]
mov ebx, dword [ebp - 0xec]
movzx eax, byte [eax + esi - 4]
xor al, byte [esi - 2]
xor al, byte [ecx - 3]
mov byte [ebx + esi - 4], al
mov eax, dword [ebp - 0xe4]
mov ebx, dword [ebp - 0xf4]
movzx eax, byte [eax + esi - 4]
xor al, byte [esi - 1]
xor al, byte [ecx - 2]
mov byte [esi + ebx - 4], al
mov ebx, dword [ebp - 0xe0]
dec edx
jne 0x404a80
mov eax, dword [ebp - 0xdc]
push 0xbe
movq xmm0, qword [eax + 0x437ae0]
movq qword [ebp - 0x26], xmm0
movq xmm0, qword [eax + 0x437ae8]
movq qword [ebp - 0x1e], xmm0
movq xmm0, qword [eax + 0x437c18]
movq qword [ebp - 0x16], xmm0
movq xmm0, qword [eax + 0x437c20]
movq qword [ebp - 0xe], xmm0
call fcn.00410681
mov esi, eax
push 0xbe
lea eax, [ebp - 0xc4]
push eax
push esi
call fcn.00412980
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0xc4]
push eax
mov ecx, esi
call fcn.00401480
push esi
call fcn.0041176e
call fcn.004013b0
push 0xd4
call fcn.004121ca
push 0xd4
mov ebx, eax
push 0
push ebx
call fcn.00416b30
mov eax, dword [ebp - 0xf0]
mov ecx, 0x35
lea esi, [ebp - 0xd8]
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov dword [eax], 0xd4
mov eax, dword [ebp - 0xf8]
push str.Activation_response__KMS_V5__sent._n
mov dword [eax], ebx
call fcn.004125dd
mov ecx, dword [ebp - 4]
add esp, 0x30
xor ecx, ebp
pop edi
pop esi
xor eax, eax
pop ebx
call fcn.00410fdd
mov esp, ebp
pop ebp
ret