Function at 0x2d9dc
Capabilities:
Encode data using xor

Disassembly:
push ebx
add byte [eax + eax + 0x52], dl
add byte [ecx], cl
inc edx
add byte [ebp], dl
push esp
add byte [ecx], cl
dec edi
add byte [esi], cl
pop esp
add byte [eax + eax + 0x4f], al
add byte [edi], dl
dec esi
add byte [eax + eax + 0x4f], cl
add byte [ecx], al
inc esp
add byte [eax + eax + 0x46], bl
add byte [ecx], bh
add byte [eax], dh
add byte [eax], dh
add byte [0x37004500], dh
add byte [eax], bh
add byte [edx], al
cmp dword [eax], eax
aaa
add byte [ecx], bh
add byte [eax + eax], dh
xor eax, dword [eax]
xor al, byte [eax]
inc edx
add byte [eax], bh
add byte [edi], dh
add byte [ebx], al
xor al, 0
xor eax, 0x37004300
add byte [eax], bh
add byte [ebx], al
inc esi
add byte [eax + eax], dh
xor byte [eax], al
inc ebp
add byte [esi], dh
add byte [ecx], dh
add byte [edx], dh
add byte [eax + eax + 0x58], bl
add byte [eax], bh
add byte [esi], dh
add byte [edi], bl
inc ebx
add byte [edx], dh
add byte [esi], dh
add byte [edi], dh
add byte [ebp], al
inc ebp
add byte [eax + eax + 0x45], al
add byte [esi], dh
add byte [ecx], bh
add byte [eax + eax + 0x46], al
add byte [eax + eax + 0x46], al
add byte [ecx], al
xor al, byte [eax]
inc esp
add byte [ecx], al
inc ecx
add byte [esi], dh
add byte [edx], dh
add byte [ecx], dh
add byte [ecx], al
inc edx
add byte [esi], al
inc edx
add byte [ecx], bh
add byte [eax + eax], dh
add byte ss:[ebp], al
cmp byte [eax], al
xor al, byte [eax]
pop edi
add byte [ebx], dh
add byte [ecx], dh
add byte [edx], al
inc esi
add byte [ebx], dh
add byte [eax], bh
add byte [0x41003600], dh
add byte [eax + eax + 0x33], al
add byte [esi], dh
add byte [eax + eax], dh
inc ebp
add byte [ebx], dh
add byte [0x36005f00], dh
add byte [esi], ch
add byte [ecx], dh
add byte [esi], ch
add byte [edi], dh
add byte [esi], dh
add byte [eax], dh
add byte [ecx], dh
add byte [esi], ch
add byte [edx], dh
add byte [ebx], dh
add byte [0x32003700], dh
add byte [edi], bl
dec esi
add byte [edi], cl
dec esi
add byte [ebp], al
pop edi
add byte [eax + eax], dh
inc esp
add byte [edi], dh
add byte [ebx], al
xor dword [eax], eax
cmp byte [eax], al
inc esi
add byte [ecx], al
cmp dword [eax], eax
add byte ss:[ecx], dh
add byte [edx], dh
add byte [0x42004500], dh
add byte [edx], dh
add byte [esi], ch
add byte [ebp], cl
inc ecx
add byte [esi], cl
dec ecx
add byte [esi], al
inc ebp
add byte [ebx], dl
push esp
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ebx], dl
cdq
xor dword [edi], ecx
add byte [eax], al
add byte [edx + 0x166135], dl
out 0x3a, eax
pop es
add eax, 1
stosd dword es:[edi], eax
add byte [eax + eax + 0x57], bl
add byte [ecx], cl
dec esi
add byte [eax + eax + 0x4f], al
add byte [edi], dl
push ebx
add byte [eax + eax + 0x53], bl
add byte [edi], cl
inc esi
add byte [eax + eax + 0x57], dl
add byte [ecx], al
push edx
add byte [ebp], al
inc esp
add byte [ecx], cl
push ebx
add byte [eax + eax + 0x52], dl
add byte [ecx], cl
inc edx
add byte [ebp], dl
push esp
add byte [ecx], cl
dec edi
add byte [esi], cl
pop esp
add byte [eax + eax + 0x4f], al
add byte [edi], dl
dec esi
add byte [eax + eax + 0x4f], cl
add byte [ecx], al
inc esp
add byte [eax + eax + 0x46], bl
add byte [ecx], bh
add byte [eax], dh
add byte [eax], dh
add byte [0x37004500], dh
add byte [eax], bh
add byte [edx], al
cmp dword [eax], eax
aaa
add byte [ecx], bh
add byte [eax + eax], dh
xor eax, dword [eax]
xor al, byte [eax]
inc edx
add byte [eax], bh
add byte [edi], dh
add byte [ebx], al
xor al, 0
xor eax, 0x37004300
add byte [eax], bh
add byte [ebx], al
inc esi
add byte [eax + eax], dh
xor byte [eax], al
inc ebp
add byte [esi], dh
add byte [ecx], dh
add byte [edx], dh
add byte [eax + eax + 0x58], bl
add byte [eax], bh
add byte [esi], dh
add byte [edi], bl
inc ebx
add byte [edx], dh
add byte [edi], dh
add byte [edi], dh
add byte [ecx], al
cmp byte [eax], al
cmp byte [eax], al
xor dword [eax], eax
xor eax, 0x38003400
add byte [ecx], bh
add byte [eax + eax + 0x41], al
add byte [edx], dh
add byte [ebx], al
cmp dword [eax], eax
cmp byte [eax], al
cmp dword [eax], eax
xor eax, 0x38004500
add byte [ebp], al
xor dword [eax], eax
inc edx
add byte [ebx], al
xor al, 0
inc esi
add byte [0x46004300], dh
add byte [edi], dh
add byte [edi], bl
xor eax, dword [eax]
xor dword [eax], eax
inc edx
add byte [esi], al
xor eax, dword [eax]
cmp byte [eax], al
xor eax, 0x41003600
add byte [eax + eax + 0x33], al
add byte [esi], dh
add byte [eax + eax], dh
inc ebp
add byte [ebx], dh
add byte [0x36005f00], dh
add byte [esi], ch
add byte ss:[esi], ch
add byte [ecx], dh
add byte [esi], ch
add byte [edi], dh
add byte [esi], dh
add byte [eax], dh
add byte [ecx], dh
add byte [esi], ch
add byte [edx], dh
add byte [ebx], dh
add byte [eax], bh
add byte [eax], dh
add byte [edi], dh
add byte [edi], bl
dec esi
add byte [edi], cl
dec esi
add byte [ebp], al
pop edi
add byte [ebp], al
xor eax, dword [eax]
inc ebx
add byte [ecx], dh
add byte [ecx], bh
add byte [ebx], al
xor eax, dword [eax]
inc ecx
add byte [eax], bh
add byte [ebx], dh
add byte [eax], bh
add byte [0x33003700], dh
add byte [ebx], al
xor dword [eax], eax
cmp dword [eax], eax
inc ebx
add byte [ebx], dh
add byte [ecx], al
cmp byte [eax], al
xor eax, dword [eax]
cmp byte [eax], al
xor eax, 0x33003700
add byte [edi], dh
add byte [edx], al
add byte cs:[ebp], cl
inc ecx
add byte [esi], cl
dec ecx
add byte [esi], al
inc ebp
add byte [ebx], dl
push esp
add byte [eax], al
add byte [esi + 3], bh
loopne 0x2dc55
jle 0x2dc8d
add al, byte [eax]
add byte [eax], al
loop 0x2dc2a
add byte [eax], al
add dl, ah
cwde
xor dword [edi], ecx
add byte [eax], al
add byte [eax + 0x1d18f20], dl
in al, 0x7c
pop edx
test dword [ecx], 0xac000000
add byte [eax + eax + 0x57], bl
add byte [ecx], cl
dec esi
add byte [eax + eax + 0x4f], al
add byte [edi], dl
push ebx
add byte [eax + eax + 0x53], bl
add byte [edi], cl
inc esi
add byte [eax + eax + 0x57], dl
add byte [ecx], al
push edx
add byte [ebp], al
inc esp
add byte [ecx], cl
push ebx
add byte [eax + eax + 0x52], dl
add byte [ecx], cl
inc edx
add byte [ebp], dl
push esp
add byte [ecx], cl
dec edi
add byte [esi], cl
pop esp
add byte [eax + eax + 0x4f], al
add byte [edi], dl
dec esi
add byte [eax + eax + 0x4f], cl
add byte [ecx], al
inc esp
add byte [eax + eax + 0x46], bl
add byte [ecx], bh
add byte [eax], dh
add byte [eax], dh
add byte [0x37004500], dh
add byte [eax], bh
add byte [edx], al
cmp dword [eax], eax
aaa
add byte [ecx], bh
add byte [eax + eax], dh
xor eax, dword [eax]
xor al, byte [eax]
inc edx
add byte [eax], bh
add byte [edi], dh
add byte [ebx], al
xor al, 0
xor eax, 0x37004300
add byte [eax], bh
add byte [ebx], al
inc esi
add byte [eax + eax], dh
xor byte [eax], al
inc ebp
add byte [esi], dh
add byte [ecx], dh
add byte [edx], dh
add byte [eax + eax + 0x58], bl
add byte [eax], bh
add byte [esi], dh
add byte [edi], bl
inc ebx
add byte [edx], dh
add byte [ecx], bh
add byte [ebx], dh
add byte [ecx], dh
add byte [ecx], bh
add byte [eax], dh
add byte [ecx], dh
add byte [eax + eax], dh
inc ebx
add byte [edx], al
add byte ss:[edx], al
inc ebp
add byte [edx], dh
add byte [eax], bh
add byte [esi], al
aaa
add byte [esi], dh
add byte [ecx], al
xor al, 0
xor al, byte [eax]
aaa
add byte [ecx], bh
add byte [ecx], al
inc ebx
add byte [edx], al
xor byte [eax], al
inc esp
add byte [edx], al
cmp dword [eax], eax
inc esp
add byte [edi], bl
xor eax, dword [eax]
xor dword [eax], eax
inc edx
add byte [esi], al
xor eax, dword [eax]
cmp byte [eax], al
xor eax, 0x41003600
add byte [eax + eax + 0x33], al
add byte [esi], dh
add byte [eax + eax], dh
inc ebp
add byte [ebx], dh
add byte [0x31005f00], dh
add byte [ecx], dh
add byte [esi], ch
add byte [edx], dh
add byte [esi], ch
add byte [ecx], bh
add byte [esi], dh
add byte [eax], dh
add byte [eax], dh
add byte [esi], ch
add byte [ecx], dh
add byte [eax], bh
add byte [edi], dh
add byte [ebx], dh
add byte [eax], bh
add byte [edi], bl
dec esi
add byte [edi], cl
dec esi
add byte [ebp], al
pop edi
add byte [edx], al
cmp byte [eax], al
inc edx
add byte [ecx], al
xor al, byte [eax]
inc ecx
add byte [eax], bh
add byte [ecx], bh
add byte [edi], dh
add byte [ebp], al
cmp byte [eax], al
add byte ss:[ecx], al
xor byte [eax], al
inc ecx
add byte [esi], dh
add byte [esi], ch
add byte [ebp], cl
inc ecx
add byte [esi], cl
dec ecx
add byte [esi], al
inc ebp
add byte [ebx], dl
push esp
add byte [eax], al
add ah, cl
loope 0x2de06
add byte [eax], ah
mov edx, 0x98b1037e
jle 0x2de0b
mov cl, 0x98
xor dword [edi], ecx
add dword [eax], eax
sgdt [eax]
add byte [edx + 0x166135], dl
pushfd
push ss
mov esi, 0x1e9
add byte [ebx + 0x57005c00], ch
add byte [ecx], cl
dec esi
add byte [eax + eax + 0x4f], al
add byte [edi], dl
push ebx
add byte [eax + eax + 0x53], bl
add byte [edi], cl
inc esi
add byte [eax + eax + 0x57], dl
add byte [ecx], al
push edx
add byte [ebp], al
inc esp
add byte [ecx], cl
push ebx
add byte [eax + eax + 0x52], dl
add byte [ecx], cl
inc edx
add byte [ebp], dl
push esp
add byte [ecx], cl
dec edi
add byte [esi], cl
pop esp
add byte [eax + eax + 0x4f], al
add byte [edi], dl
dec esi
add byte [eax + eax + 0x4f], cl
add byte [ecx], al
inc esp
add byte [eax + eax + 0x46], bl
add byte [ecx], bh
add byte [eax], dh
add byte [eax], dh
add byte [0x37004500], dh
add byte [eax], bh
add byte [edx], al
cmp dword [eax], eax
aaa
add byte [ecx], bh
add byte [eax + eax], dh
xor eax, dword [eax]
xor al, byte [eax]
inc edx
add byte [eax], bh
add byte [edi], dh
add byte [ebx], al
xor al, 0
xor eax, 0x37004300
add byte [eax], bh
add byte [ebx], al
inc esi
add byte [eax + eax], dh
xor byte [eax], al
inc ebp
add byte [esi], dh
add byte [ecx], dh
add byte [edx], dh
add byte [eax + eax + 0x58], bl
add byte [eax], bh
add byte [esi], dh
add byte [edi], bl
inc ebx
add byte [edx], dh
add byte [ebp], al
inc ecx
add byte [edi], dh
add byte [esi], dh
add byte [ecx], dh
add byte [eax], dh
add byte [esi], dh
add byte [ecx], bh
add byte [edi], dh
add byte [eax + eax], dh
xor dword [eax], eax
inc esi
add byte [edx], dh
add byte [eax], dh
add byte [esi], al
xor byte [eax], al
inc edx
add byte [eax + eax], dh
xor eax, dword [eax]
inc esi
add byte [eax], dh
add byte [ebp], al
aaa
add byte [ebp], al
inc ecx
add byte [eax], bh
add byte [ebx], al
inc ebp
add byte [esi], dh
add byte [edx], dh
add byte [edi], bl
xor eax, dword [eax]
xor dword [eax], eax
inc edx
add byte [esi], al
xor eax, dword [eax]
cmp byte [eax], al
xor eax, 0x41003600
add byte [eax + eax + 0x33], al
add byte [esi], dh
add byte [eax + eax], dh
inc ebp
add byte [ebx], dh
add byte [0x37005f00], dh
add byte [esi], ch
add byte [esi], dh
add byte [esi], ch
add byte [edi], dh
add byte [esi], dh
add byte [eax], dh
add byte [ecx], dh
add byte [esi], ch
add byte [edx], dh
add byte [ebx], dh
add byte [eax], bh
add byte [eax], dh
add byte [esi], dh
add byte [edi], bl
dec esi
add byte [edi], cl
dec esi
add byte [ebp], al
pop edi
add byte [edx], dh
add byte [eax], bh
add byte [edi], dh
add byte [ebx], dh
add byte [edi], dh
add byte [esi], dh
add byte [ebx], al
inc esp
add byte [edx], dh
add byte [ecx], al
xor dword [eax], eax
xor byte [eax], al
add byte ss:[ebx], al
aaa
add byte [ebx], al
add byte cs:[ebp], cl
inc ecx
add byte [esi], cl
dec ecx
add byte [esi], al
inc ebp
add byte [ebx], dl
push esp
add byte [eax], al
add byte [eax], al
add byte [edx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax + 0x400f3198], al
mov ebx, 0x61359200
push ss
add byte [esi], dl
mov al, byte [0x1a3ea]
add byte [eax], al
stosd dword es:[edi], eax
add byte [eax + eax + 0x57], bl
add byte [ecx], cl
dec esi
add byte [eax + eax + 0x4f], al
add byte [edi], dl
push ebx
add byte [eax + eax + 0x53], bl
add byte [edi], cl
inc esi
add byte [eax + eax + 0x57], dl
add byte [ecx], al
push edx
add byte [ebp], al
inc esp
add byte [ecx], cl
push ebx
add byte [eax + eax + 0x52], dl
add byte [ecx], cl
inc edx
add byte [ebp], dl
push esp
add byte [ecx], cl
dec edi
add byte [esi], cl
pop esp
add byte [eax + eax + 0x4f], al
add byte [edi], dl
push edi
add byte [esi], cl
dec esp
add byte [edi], cl
inc ecx
add byte [eax + eax + 0x5c], al
add byte [esi], al
cmp dword [eax], eax
xor byte [eax], al
xor byte [eax], al
xor eax, 0x37004500
add byte [eax], bh
add byte [edx], al
cmp dword [eax], eax
aaa
add byte [ecx], bh
add byte [eax + eax], dh
xor eax, dword [eax]
xor al, byte [eax]
inc edx
add byte [eax], bh
add byte [edi], dh
add byte [ebx], al
xor al, 0
xor eax, 0x37004300
add byte [eax], bh
add byte [ebx], al
inc esi
add byte [eax + eax], dh
xor byte [eax], al
inc ebp
add byte [esi], dh
add byte [ecx], dh
add byte [edx], dh
add byte [eax + eax + 0x58], bl
add byte [eax], bh
add byte [esi], dh
add byte [edi], bl
inc ebx
add byte [edx], dh
add byte [esi], al
xor al, 0
cmp dword [eax], eax
aaa
add byte [eax], dh
add byte [esi], al
xor eax, 0x44004600
add byte [esi], al
xor al, byte [eax]
xor byte [eax], al
xor eax, 0x38003100
add byte [ecx], al
add byte ss:[edi], dh
add byte [edx], dh
add byte [ebx], al
xor dword [eax], eax
xor eax, dword [eax]
aaa
add byte [esi], dh
add byte [0x33004400], dh
add byte [esi], dh
add byte [ecx], al
xor eax, dword [eax]
pop edi
add byte [ebx], dh
add byte [ecx], dh
add byte [edx], al
inc esi
add byte [ebx], dh
add byte [eax], bh
add byte [0x41003600], dh
add byte [eax + eax + 0x33], al
add byte [esi], dh
add byte [eax + eax], dh
inc ebp
add byte [ebx], dh
add byte [0x37005f00], dh
add byte [esi], ch
add byte [edx], dh
add byte [esi], ch
add byte [edi], dh
add byte [esi], dh
add byte [eax], dh
add byte [ecx], dh
add byte [esi], ch
add byte [edx], dh
add byte [ebx], dh
xor eax, dword [eax]
cmp byte [eax], al
add byte ss:[ebx], dh
add byte [edi], bl
dec esi
add byte [edi], cl
dec esi
add byte [ebp], al
pop edi
add byte [ecx], al
xor eax, 0x41003000
add byte [ecx], al
inc ebx
add byte [eax + eax], dh
cmp byte [eax], al
inc ebp
add byte [esi], al
inc ecx
add byte [eax], dh
add byte [ecx], al
inc ebx
add byte [esi], dh
add byte [eax + eax], dh
add byte cs:[ebp], cl
inc ecx
add byte [esi], cl
dec ecx
add byte [esi], al
inc ebp
add byte [ebx], dl
push ebx
add byte [eax + eax], dl
add byte [eax], al
sbb byte [eax], 2
add dword [ecx], eax
add byte [eax], al
add byte [eax], al
outsd dx, dword [esi]
cwde
xor dword [edi], ecx
add byte [eax], al
add byte [eax + 0x166135], dl
sal dh, 0xdf
loope 0x2e10a
add byte [eax], al
add byte [eax + eax + 0x57005c], ch
dec ecx
add byte [esi], cl
inc esp
add byte [edi], cl
push edi
add byte [ebx], dl
pop esp
add byte [ebx], dl
dec edi
add byte [esi], al
push esp
add byte [edi], dl
inc ecx
add byte [edx], dl
add byte [ebp], al
inc esp
add byte [ecx], cl
push ebx
add byte [eax + eax + 0x52], dl
add byte [ecx], cl
inc edx
add byte [ebp], dl
push esp
add byte [ecx], cl
dec edi
add byte [esi], cl
pop esp
add byte [eax + eax + 0x4f], al
add byte [edi], dl
dec esi
add byte [eax + eax + 0x4f], cl
add byte [ecx], al
inc esp
add byte [eax + eax + 0x46], bl
add byte [ecx], bh
add byte [eax], dh
add byte [eax], dh
add byte [0x37004500], dh
add byte [eax], al
lodsb al, byte [esi]
add byte [eax + eax + 0x57], bl
add byte [ecx], cl
dec esi
add byte [eax + eax + 0x4f], al
add byte [edi], dl
push ebx
add byte [eax + eax + 0x53], bl
add byte [edi], cl
inc esi
add byte [eax + eax + 0x57], dl
add byte [ecx], al
push edx
add byte [eax], bh
add byte [edx], al
cmp dword [eax], eax
aaa
add byte [ecx], bh
add byte [eax + eax], dh
xor eax, dword [eax]
xor al, byte [eax]
inc edx
add byte [eax], bh
add byte [edi], dh
add byte [ebx], al
xor al, 0
xor eax, 0x37004300
add byte [eax], bh
add byte [ebx], al
inc esi
add byte [eax + eax], dh
xor byte [eax], al
inc ebp
add byte [esi], dh
add byte [ecx], dh
add byte [edx], dh
add byte [eax + eax + 0x58], bl
add byte [eax], bh
add byte [esi], dh
add byte [edi], bl
inc ebx
add byte [ebx], dh
add byte [eax], dh
add byte [eax], bh
add byte [ebx], al
inc ecx
add byte [0x31004100], dh
add byte [ebx], al
add byte ss:[ecx], bh
add byte [eax], bh
add byte [esi], al
xor eax, 0x43003000
add byte [0x46004100], dh
add byte [edx], dh
add byte [ebx], al
add byte ss:[eax + eax + 0x44], al
add byte [eax], dh
add byte [esi], dh
add byte [eax + eax + 0x42], al
add byte [eax + eax + 0x37], al
add byte [eax], bh
add byte [edi], bl
xor eax, dword [eax]
xor dword [eax], eax
inc edx
add byte [esi], al
xor eax, dword [eax]
cmp byte [eax], al
xor eax, 0x41003600
add byte [eax + eax + 0x33], al
add byte [esi], dh
add byte [eax + eax], dh
inc ebp
add byte [ebx], dh
add byte [0x31005f00], dh
add byte [ecx], dh
add byte [esi], ch
add byte [edx], dh
add byte [esi], ch
add byte [ecx], bh
add byte [esi], dh
add byte [eax], dh
add byte [eax], dh
add byte [esi], ch
add byte [ecx], dh
add byte [eax], bh
add byte [edi], dh
add byte [ebx], dh
add byte [eax], bh
add byte [edi], bl
dec esi
add byte [edi], cl
dec esi
add byte [ebp], al
pop edi
add byte [ebx], al
xor eax, 0x46003700
add byte [eax], bh
add byte [eax], bh
add byte [edx], dh
add byte [edi], dh
add byte [ebp], al
xor al, 0
xor al, byte [eax]
xor eax, dword [eax]
inc esp
add byte [0x41003100], dh
add byte [esi], ch
add byte [ebp], cl
inc ecx
add byte [esi], cl
dec ecx
add byte [esi], al
inc ebp
add byte [ebx], dl
push esp
add byte [eax], al
add ch, ch
mov al, byte [0xf33]
add byte [eax + 0xf31983e], al
add byte [eax], al
add byte [edx + 0x2991da8], dl
adc dword [edx + 0x11d61], 0xab0000
pop esp
add byte [edi], dl
dec ecx
add byte [esi], cl
inc esp
add byte [edi], cl
push edi
add byte [ebx], dl
pop esp
add byte [ebx], dl
dec edi
add byte [esi], al
push esp
add byte [edi], dl
inc ecx
add byte [edx], dl
inc ebp
add byte [eax + eax + 0x49], al
dec ecx
add byte [ebx], dl
push esp
add byte [edx], dl
dec ecx
add byte [edx], al