Function at 0x5b8150
Capabilities:
Encode data using xor

Disassembly:
pop esp
push ss
jge 0x56cc5a
sbb byte [edx + 0x4ac67027], bh
lahf
ficom dword [edi]
insd dword es:[edi], dx
jnp 0x56cc1f
adc ebx, dword [esi]
push ds
push ecx
dec edi
cmp byte [eax - 0x52e0f2c8], bl
invalid
dec edx
sbb al, 0x81
add al, 0xee
test byte [0x674aecbb], bh
mov byte [0x22d0b791], al
push cs
push esi
pushal
stosd dword es:[edi], eax
mov word [edx - 0x3476e346], cs
loope 0x56cc0e
xchg ecx, eax
mov al, byte [0xccc2dab0]
insd dword es:[edi], dx
adc word [edx + ebx*8 + 0x3865e50c], si
adc dword [edx + ebx*8 + 0x3865e50c], esi
adc al, 0x92
test dword [ecx], eax
xor dword [ebx + 0x37], 0xd091382c
xchg edx, eax
add byte [edx + edx*4 + 0x320dcda0], dh
sbb al, 0x8b
inc edi
and byte [ecx + eax*4 - 0x2d], dl
popfd
jge 0x56ccc2
movzx eax, word [eax - 0x65]
or byte [esi], dh
je 0x56cc36
stosd dword es:[edi], eax
xor byte [eax + 0x10cf941a], dh
jns 0x56ccd9
adc eax, 0x304775a6
xor byte [ecx + 0x1a], ah
adc eax, 0x1542af30
popal
sbb dl, byte [0x1542af30]
mov al, 0xb
sbb ebp, dword [edx + 0x3b]
cwde
mov ah, 0x74
xor byte [ebp + 0x55c818cb], dh
cld
and dl, byte [esi - 0x39092adf]
jns 0x56cc93
aam 0x21
pop esi
lahf
sahf
push 0x6962df29
xlatb
test eax, 0x4018c10c
adc byte [eax], ah
pop esi
les eax, [eax + 0x18]
stosb byte es:[edi], al
loopne 0x56cc74
add al, 4
test dword [ecx - 0x3ce298da], edx
ret 0xff45
sbb eax, dword [ecx + 0x2eef0b91]
mov cl, al
and eax, 0x61ef581b
fnsave dword [esi]
test cl, bh
xchg edx, eax
mov bh, 0x4a
xchg edi, eax
or al, 2
and dword [ecx], 0xa6086770
inc edx
xor byte [edx - 0x7c], al
mov dl, 0xa7
adc bl, byte [ebx]
or byte [edi + eax*4], 0x70
cwde
xchg ebp, eax
or al, 0x1c
sbb al, 0x57
dec eax
shrd dword [ebx + 0xf], eax, 0xd
outsb dx, byte [esi]
mov ah, 0xd5
mov ch, 0xc3
inc ebx
into
shl byte [ecx + 0x35], 1
sbb byte [esi], al
or al, 0x72
clc
jb 0x56cd18
clc
sbb eax, 0x4581343f
sub eax, 0x7e20fe7d
add eax, 0xa0bb69d9
mov esi, 0x12ff83d8
mov edi, 0x27128df6
or eax, 0x858a96cf
inc eax
dec ecx
aaa
dec edi
add byte [eax + 0x17046d60], 0x7c
pop es
dec ebx
sub ebp, dword [esi - 0x49]
xchg al, ah
sbb eax, 0x9b10a8ae
neg byte [ecx - 1]
inc esi
jle 0x56cd1e
sub byte [ecx - 0x41bafcb9], 0xdb
inc ebp
cld
fstp dword [esi]
wait
jmp dword [edi]
pushal
mov esi, section.UPX1
lea edi, [esi - 0x133000]
mov dword [edi + 0x16d0a0], 0x951a5c05
push edi
or ebp, 0xffffffff
jmp 0x5b817a
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
add ebx, ebx
jne 0x5b8181
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x5b8170
mov eax, 1
add ebx, ebx
jne 0x5b8193
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
add ebx, ebx
jae 0x5b81a4
jne 0x5b81b4
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x5b81b4
dec eax
add ebx, ebx
jne 0x5b81b0
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
jmp 0x5b8188
xor ecx, ecx
sub eax, 3
jb 0x5b81cc
shl eax, 8
mov al, byte [esi]
inc esi
xor eax, 0xffffffff
je 0x5b823e
sar eax, 1
mov ebp, eax
jmp 0x5b81d7
add ebx, ebx
jne 0x5b81d7
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jne 0x5b81e4
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
jne 0x5b8208
inc ecx
add ebx, ebx
jne 0x5b81f4
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jae 0x5b81e9
jne 0x5b8205
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jae 0x5b81e9
add ecx, 2
cmp ebp, 0xfffffb00
adc ecx, 1
lea edx, [edi + ebp]
cmp ebp, 0xfffffffc
jbe 0x5b8228
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
dec ecx
jne 0x5b8219
jmp 0x5b8176
mov eax, dword [edx]
add edx, 4
mov dword [edi], eax
add edi, 4
sub ecx, 4
ja 0x5b8228
add edi, ecx
jmp 0x5b8176
pop esi
mov edi, esi
mov ecx, 0xbd68
mov al, byte [edi]
inc edi
sub al, 0xe8
cmp al, 1
ja 0x5b8246
cmp byte [edi], 0x19
jne 0x5b8246
mov eax, dword [edi]
mov bl, byte [edi + 4]
shr ax, 8
rol eax, 0x10
xchg ah, al
sub eax, edi
sub bl, 0xe8
add eax, esi
mov dword [edi], eax
add edi, 5
mov eax, ebx
loop 0x5b824b
lea edi, [esi + 0x1b4000]
mov eax, dword [edi]
or eax, eax
je 0x5b82ba
mov ebx, dword [edi + 4]
lea eax, [eax + esi + 0x1ba6e8]
add ebx, esi
push eax
add edi, 8
call dword [esi + 0x1ba814]
xchg ebp, eax
mov al, byte [edi]
inc edi
or al, al
je 0x5b8278
mov ecx, edi
push edi
dec eax
repne scasb al, byte es:[edi]
push ebp
call dword [esi + 0x1ba818]
or eax, eax
je 0x5b82b4
mov dword [ebx], eax
add ebx, 4
jmp 0x5b8295
call dword [esi + 0x1ba81c]
popal
jmp 0x56cc94