Function at 0x4b5074
Capabilities:
Encode data using xor

Disassembly:
lea esp, [esp + 4]
push edi
jmp 0x4b6194
mov edx, 0x2c2f170c
leave
stosb byte es:[edi], al
pop eax
lcall 0xb268, 0x166dde80
or byte [edx - 0x67bd0d7f], dh
sbb dh, 0x6d
push ss
fisubr word [ebp + 0x16]
push 0x81b208b2
inc edx
cwde
fidivr word [esi]
xor byte [edx - 0x80], 0x56
clc
push ebp
jle 0x4b6138
adc eax, 0x18392e87
lea esp, [esp + 4]
push 0xd
call fcn.004b6118
jnp 0x4b61b2
int 0x5c
leave
lodsd eax, dword fs:[esi]
pushal
xchg byte [esi + 0x777778d1], cl
jp 0x4b612f
cmp dl, byte [esi + 0x6f6430e5]
add dh, byte [eax]
jbe 0x4b619c
mov al, 0x15
pushal
or al, 0x5b
in al, dx
sbb eax, dword [edi]
pop es
scasb al, byte es:[edi]
jle 0x4b617f
xchg ebp, eax
fadd st(6), st(0)
cmpsd dword [esi], dword es:[edi]
mov edx, 0xba93bd76
dec esp
clc
inc edx
ljmp 0x50ff
call dword [eax + 0x5c]
push edi
call 0x4b6153
mov ecx, 0x61283a5d
xor ch, byte [ebp + 0x40]
push cs
sub byte [esi + 0x769fa158], ch
jp 0x4b6139
invalid
invalid
mov fs, word [ebx]
pop edx
mov ch, 0xa4
movsb byte es:[edi], byte [esi]
cmp al, 0x92
loop 0x4b61e7
xor cl, byte [eax + 0x1337af5e]
mov dword [ebp - reloc.USER32.dll_CreateWindowExW], edx
xor eax, 0x39760b11
adc ecx, dword [ecx + reloc.USER32.dll_CreateWindowExW]
test al, 0x35
adc dword [ebx], ecx
jbe 0x4b6202
outsb dx, byte [esi]
out 0x87, al
retf
cmc
jg 0x4b621f
mov edi, 0xa97c736c
xor ah, dh
invalid
jno 0x4b6258
jo 0x4b625c
jae 0x4b619a
mov al, 0x4e
dec esi
invalid
fdivr qword [edx + eax]
and ebx, dword fs:[esi + reloc.USER32.dll_CreateWindowExW]
fld st(5)
invalid
xor ecx, dword [eax]
sub dword [ecx - 0x17], 0xfffffff7
jl 0x4b61bd
out 0x38, eax
add ebp, dword [ebp + edi*2 + reloc.USER32.dll_CreateWindowExW]
fnclex
mov word [edx - 0x518ce2dc], ss
cmp byte [ebx], al
lodsb al, byte [esi]
jge 0x4b61db
bound ebx, qword [ecx - 0x731d2483]
xchg edx, eax
and al, 0x1d
jae 0x4b61e6
je 0x4b623b
lodsb al, byte [esi]
retf
jo 0x4b6261
jo 0x4b6261
lodsb al, byte [esi]
and esp, dword [edi - reloc.USER32.dll_CreateWindowExW]
cmpsd dword [esi], dword es:[edi]
jno 0x4b62aa
mov cl, 0xf8
test al, 0xab
pop edx
pop es
push edi
push esp
and bh, byte [ebx + eax]
lodsb al, byte [esi]
push ss
push ecx
les esi, [ebp + 0x30]
test al, 0x41
cdq
xlatb
push edi
mov esi, 0xfff59766
stosd dword es:[edi], eax
inc edx
and esp, ebx
jg 0x4b6228
inc eax
fsub dword [edi + 0x5e]
mov edi, 0xb4d19827
add ch, byte [esp + ebp*8 + 0x42bb798e]
in eax, dx
mov edi, 0x4012d754
stosd dword es:[edi], eax
insd dword es:[edi], dx
cli
jmp [ebx - 0x34085f6c]
lodsb al, byte [esi]
jbe 0x4b62c5
xchg edi, eax
mov al, byte [0x22195d91]
js 0x4b6257
out 0xdd, al
and al, 0x46
invalid
sbb al, 0x88
inc ecx
push 1
lodsb al, byte [esi]
lodsb al, byte [esi]
or dword [ecx + reloc.USER32.dll_CreateWindowExW], ebp
fldcw word [eax]
xchg ebx, eax
xchg byte [esi], ah
or esi, ecx
add byte [ebp - 0x17037ef6], ch
mov dh, 0x7b
jns 0x4b6306
dec ecx
test byte [esi - 0x53fa98a9], al
mov ebx, 0x98e9b323
sub dword [reloc.USER32.dll_CreateWindowExW], ecx
xor esi, ebp
push eax
add ebp, dword [edx + edx*2 + reloc.USER32.dll_CreateWindowExW]
lodsb al, byte [esi]
push esi
dec esi
movsd dword es:[edi], dword [esi]
push ebx
test eax, 0x309c4b1
mov cl, 0xc4
or dword [ebx], eax
lodsb al, byte [esi]
jns 0x4b6329
push ss
in eax, dx
cwde
movsb byte es:[edi], byte [esi]
push 0xfffffffffffffffd
insd dword es:[edi], dx
pop ebx
xchg ebp, eax
add dl, byte [ebx - 0x2f]
add byte [edx + esi*8 - 0x4d8ac001], ch
push ds
ja 0x4b63a1
push ebx
loope 0x4b62ae
sub dword [esi + 0x7e], reloc.USER32.dll_CreateWindowExW
aas
jl 0x4b62c5
jle 0x4b632a
add byte [edx + esi*8 - 0x6a83c001], ch
lodsb al, byte [esi]
invalid
or dword [ecx], reloc.USER32.dll_CreateWindowExW
js 0x4b63b1
imul byte [edi]
imul edi, dword [ebx], reloc.USER32.dll_CreateWindowExW
jae 0x4b6328
add ebp, dword [ebx + ebx*2 - reloc.USER32.dll_CreateWindowExW]
nop
push esp
xchg byte [edi + ebp*2 - 0x55], cl
mov ebp, 0x4c865490
outsd dx, dword [esi]
stosd dword es:[edi], eax
jns 0x4b637e
xchg esp, eax
jmp [ebx - 0x236fc043]
sbb ecx, dword [eax + 4]
jb 0x4b6339
invalid
cld
sbb byte [ecx], dl
stosb byte es:[edi], al
add esp, edi
retf
int3