Function at 0x82f5b0
Capabilities:
Encode data using xor
Packed with generic packer

Disassembly:
pushal
mov esi, 0x6c8015
lea edi, [esi - 0x2c7015]
push edi
mov ebp, esp
lea ebx, [esp - 0x3e80]
xor eax, eax
push eax
cmp esp, ebx
jne 0x82f5c8
inc esi
inc esi
push ebx
push 0x42d39e
push edi
add ebx, 4
push ebx
push 0x167590
push esi
add ebx, 4
push ebx
push eax
mov dword [ebx], 0x20003
push ebp
push edi
push esi
push ebx
sub esp, 0x7c
mov edx, dword [esp + 0x90]
mov dword [esp + 0x74], 0
mov byte [esp + 0x73], 0
mov ebp, dword [esp + 0x9c]
lea eax, [edx + 4]
mov dword [esp + 0x78], eax
mov eax, 1
movzx ecx, byte [edx + 2]
mov ebx, eax
shl ebx, cl
mov ecx, ebx
dec ecx
mov dword [esp + 0x6c], ecx
movzx ecx, byte [edx + 1]
shl eax, cl
dec eax
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0xa8]
movzx esi, byte [edx]
mov dword [ebp], 0
mov dword [esp + 0x60], 0
mov dword [eax], 0
mov eax, 0x300
mov dword [esp + 0x64], esi
mov dword [esp + 0x5c], 1
mov dword [esp + 0x58], 1
mov dword [esp + 0x54], 1
mov dword [esp + 0x50], 1
movzx ecx, byte [edx + 1]
add ecx, esi
shl eax, cl
lea ecx, [eax + 0x736]
cmp dword [esp + 0x74], ecx
jae 0x82f69d
mov eax, dword [esp + 0x78]
mov word [eax], 0x400
add eax, 2
loop 0x82f693
mov ebx, dword [esp + 0x94]
xor edi, edi
mov dword [esp + 0x48], 0xffffffff
mov edx, ebx
add edx, dword [esp + 0x98]
mov dword [esp + 0x4c], edx
xor edx, edx
cmp ebx, dword [esp + 0x4c]
je 0x830043
movzx eax, byte [ebx]
shl edi, 8
inc edx
inc ebx
or edi, eax
cmp edx, 4
jle 0x82f6bd
mov ecx, dword [esp + 0xa4]
cmp dword [esp + 0x74], ecx
jae 0x83004b
mov esi, dword [esp + 0x74]
and esi, dword [esp + 0x6c]
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x78]
shl eax, 4
mov dword [esp + 0x44], esi
add eax, esi
cmp dword [esp + 0x48], 0xffffff
lea ebp, [edx + eax*2]
ja 0x82f725
cmp ebx, dword [esp + 0x4c]
je 0x830043
shl dword [esp + 0x48], 8
movzx eax, byte [ebx]
shl edi, 8
inc ebx
or edi, eax
mov eax, dword [esp + 0x48]
mov dx, word [ebp]
shr eax, 0xb
movzx ecx, dx
imul eax, ecx
cmp edi, eax
jae 0x82f91b
mov dword [esp + 0x48], eax
mov eax, 0x800
sub eax, ecx
mov cl, byte [esp + 0x64]
sar eax, 5
mov esi, 1
lea eax, [edx + eax]
movzx edx, byte [esp + 0x73]
mov word [ebp], ax
mov eax, dword [esp + 0x74]
and eax, dword [esp + 0x68]
mov ebp, dword [esp + 0x78]
shl eax, cl
mov ecx, 8
sub ecx, dword [esp + 0x64]
sar edx, cl
add eax, edx
imul eax, eax, 0x600
cmp dword [esp + 0x60], 6
lea eax, [ebp + eax + 0xe6c]
mov dword [esp + 0x14], eax
jle 0x82f862
mov eax, dword [esp + 0x74]
sub eax, dword [esp + 0x5c]
mov edx, dword [esp + 0xa0]
movzx eax, byte [edx + eax]
mov dword [esp + 0x40], eax
shl dword [esp + 0x40], 1
mov ecx, dword [esp + 0x40]
lea edx, [esi + esi]
mov ebp, dword [esp + 0x14]
and ecx, 0x100
cmp dword [esp + 0x48], 0xffffff
lea eax, [ebp + ecx*2]
mov dword [esp + 0x3c], ecx
lea ebp, [eax + edx]
ja 0x82f7f1
cmp ebx, dword [esp + 0x4c]
je 0x830043
shl dword [esp + 0x48], 8
movzx eax, byte [ebx]
shl edi, 8
inc ebx
or edi, eax
mov eax, dword [esp + 0x48]
mov cx, word [ebp + 0x200]
shr eax, 0xb
movzx esi, cx
imul eax, esi
cmp edi, eax
jae 0x82f82c
mov dword [esp + 0x48], eax
mov eax, 0x800
sub eax, esi
mov esi, edx
sar eax, 5
cmp dword [esp + 0x3c], 0
lea eax, [ecx + eax]
mov word [ebp + 0x200], ax
je 0x82f84c
jmp 0x82f85a
sub dword [esp + 0x48], eax
sub edi, eax
mov eax, ecx
lea esi, [edx + 1]
shr ax, 5
sub cx, ax
cmp dword [esp + 0x3c], 0
mov word [ebp + 0x200], cx
je 0x82f85a
cmp esi, 0xff
jle 0x82f7af
jmp 0x82f8d3
cmp esi, 0xff
jg 0x82f8d3
lea edx, [esi + esi]
mov ebp, dword [esp + 0x14]
add ebp, edx
cmp dword [esp + 0x48], 0xffffff
ja 0x82f88d
cmp ebx, dword [esp + 0x4c]
je 0x830043
shl dword [esp + 0x48], 8
movzx eax, byte [ebx]
shl edi, 8
inc ebx
or edi, eax
mov eax, dword [esp + 0x48]
mov cx, word [ebp]
shr eax, 0xb
movzx esi, cx
imul eax, esi
cmp edi, eax
jae 0x82f8bb
mov dword [esp + 0x48], eax
mov eax, 0x800
sub eax, esi
mov esi, edx
sar eax, 5
lea eax, [ecx + eax]
mov word [ebp], ax
jmp 0x82f85a
sub dword [esp + 0x48], eax
sub edi, eax
mov eax, ecx
lea esi, [edx + 1]
shr ax, 5
mov esi, eax
neg esi
test ebx, ebp
jo 0x82f8f5
inc esi
rol esi, 0x1f
mov edi, dword [0x7cf306]
mov ebx, ecx
not eax
mov ecx, esi
not edx
sub edi, esi
rol esi, 0x1b
xor ecx, 0xa4347c
add esi, eax
or esi, edi
mov ecx, 0xea999ea
cdq
test eax, 0x6eec10e
shr esi, 6
neg esi
inc edx
shl esi, 3
shr eax, 0x13
call fcn.006d096e
rol esi, 0x1c
mov edx, dword [0x7cf960]
rol esi, 0x1b
inc eax
loop 0x82f8f8
shl eax, 0x1e
not esi
xor edx, eax
dec ecx
mov ecx, ecx
or esi, dword [0x80fc4e]
or esi, edi
and esi, 0xc3e2fb0
mov ebx, esp
sub eax, esp
mov ecx, 0x2d79cf77
inc eax
test ebx, 0x1c91fbe6
jo 0x82f961
rol esi, 2
inc edx
test ebp, 0x2d69bc10
jo 0x82f950
shl edi, 0xd
shr eax, 0x13
call fcn.006caeb0
xor edx, dword [0x7694dc]
or eax, 0xe813e8c1
push edi
mov ch, 0xe9
push dword [ebx]
adc eax, 0x7694dc
shr esi, 8
neg esi
loop 0x82f939
or bh, dh
fsubrp st(2)
sal edi, cl
ror byte [ebx + 0x70fd85f0], 1
push es
not eax
mov esi, eax
test ebp, edi
jo 0x82f974
dec eax
xor edx, ebp
add ecx, ebx
xor ecx, dword [0x78c40c]
or eax, 0x78c40c
mov esi, 0x186adac
test edx, ebp
jo 0x82f9b9
mov ecx, 0x1c8090be
neg eax
rol esi, 0xd
call fcn.006d096e
neg edx
call fcn.006d096e
mov edx, dword [0x6e65ef]
shr eax, 0x14
rol esi, 1
shl esi, 9
xchg edx, esi
inc eax
call fcn.006d096e
inc eax
mov edi, dword [0x824224]
loop 0x82f987
xor esi, eax
xor eax, 0xcf18191
xchg eax, esi
neg eax
mov esi, eax
call fcn.006d096e
xchg esi, edx
xor esi, eax
push 0x6cc884
sub ebx, eax
add eax, 0x212c6e8
sub eax, esp
add esi, eax
ror esi, 7
sub ebx, dword [0x6f2ba6]
call fcn.006c9d4e
neg esi
xor eax, esi
inc esi
sub esi, 0x1f77409e
call fcn.006c9613
xor ecx, dword [0x7e876f]
inc eax
call fcn.006d096e
add esi, eax
call fcn.006cd1de
call fcn.006cc92d
push 0x40
neg edx
call fcn.006ce884
xor ecx, dword [0x7c8fcb]
sub ecx, dword [0x720125]
sub edi, dword [0x733c43]
ror esi, 0x1c
sub ecx, dword [0x8235c8]
inc esi
call fcn.006ca452
xor edi, esp
dec edx
call fcn.006cdb20
call fcn.006ceaf1
call fcn.006c93a7
call fcn.006cdb20
mov ecx, 0x483
sub esi, 0x9fa26e4
dec esi
not edi
dec eax
xor esi, eax
add eax, 0x10cf340
inc ebx
xor ebx, ecx
dec esi
not eax
xor ecx, ebx
xchg edx, eax
inc ecx
xor edx, ecx
add eax, edx
xchg eax, eax
xor edx, ecx
xor edx, ecx
xchg eax, eax
sub eax, edx
xor edx, ecx
dec ecx
xchg edx, eax
xor ecx, ebx
not eax
inc esi
xor ebx, ecx
dec ebx
sub eax, 0x10cf340
xor esi, eax
inc eax
not edi
inc esi
add esi, 0x9fa26e4
push ecx
xor edi, esp
rol eax, 0x17
neg edx
dec esi
neg eax
xor eax, 0x1b6b268b
xchg esi, eax
xor esi, 0x32af0f2e
sub esi, edx
dec eax
add eax, 0x3f6bf6
call fcn.006cdb20
xor edx, eax
call fcn.006cac64
ror esi, 1
rol esi, 1
call fcn.006cb289
xor edx, eax
call fcn.006cea4d
sub eax, 0x3f6bf6
inc eax
add esi, edx
xor esi, 0x32af0f2e
xchg esi, eax
xor eax, 0x1b6b268b
neg eax
inc esi
neg edx
ror eax, 0x17
xor edi, esp
call 0x82fb0c
inc esi
xchg ecx, esi
dec esi
ror esi, 0x13
not esi
xor ecx, esi
call fcn.006cac64
rol esi, 0x16
neg eax
xchg edx, eax
xchg edx, eax
neg eax
ror esi, 0x16
call fcn.006cb1a2
xor ecx, esi
not esi
rol esi, 0x13
inc esi
xchg ecx, esi
dec esi
pop ebx
dec esi
not esi
call fcn.006cfe7b
dec edx
xor ecx, esp
xchg esi, eax
xor edx, 0x347cc10
neg eax
rol esi, 0xa
add ebx, 0xabb7687
neg eax
call fcn.006c94bf
ror esi, 0x17
inc eax
xor esi, 0x6df6dda
rol esi, 0x1f
call fcn.006c9ed0
dec esi
sub ecx, esi
add ecx, esi
inc esi
ror esi, 0x1f
xor esi, 0x6df6dda
dec eax
rol esi, 0x17
call fcn.006c8999
neg eax
sub ebx, 0xabb7687
ror esi, 0xa
neg eax
xor edx, 0x347cc10
xchg esi, eax
xor ecx, esp
inc edx
call fcn.006c8999
not esi
inc esi
add ebx, 0x16b
inc eax
xor esi, eax
sub eax, 0x1a8549c
add esi, 0x342c0696
call fcn.006cffa8
not esi
xor esi, eax
rol eax, 0x12
xor esi, eax
rol eax, 0x1a
ror eax, 0x1a
xor esi, eax
ror eax, 0x12
xor esi, eax
not esi
sub esi, 0x342c0696
add eax, 0x1a8549c
xor esi, eax
dec eax
push ebx
call fcn.006cfc0d
not esi
sub ebx, ecx
neg edx
ror esi, 0x10
neg eax
xor eax, esp
sub eax, esp
call fcn.006cd820
rol esi, 0xc
ror esi, 0xc
call fcn.006cf139
add eax, esp
xor eax, esp
neg eax
rol esi, 0x10
neg edx
add ebx, ecx
not esi
call dword [sym.imp.KERNEL32.DLL_VirtualProtect]
xchg esi, edx
add ecx, dword [0x75e195]
xor edx, dword [0x7c0350]
sub ecx, dword [0x7f08d5]
sub ecx, dword [0x6dfc7e]
inc esi
neg ebx
xor edi, dword [0x7c6460]
dec eax
call fcn.006cd820
sub ecx, 0x17e84450
dec edx
add ecx, dword [0x813599]
rol eax, 0x14
dec esi
xor ecx, edx
not eax
xor eax, 0x2bbbb70
sub ebx, edi
xor esi, eax
call fcn.006d096e
call fcn.006cba96
mov edi, 0x160
not edx
xor esi, eax
add ecx, edx
xor ebx, edi
xchg eax, eax
xor edi, esp
neg esi
xchg esi, eax
rol esi, 1
add esi, eax
xor eax, edx
not eax
rol ecx, 0x17
xchg eax, edx
xchg eax, edx
ror ecx, 0x17
not eax
xor eax, edx
sub esi, eax
ror esi, 1
xchg esi, eax
neg esi
xor edi, esp
xchg eax, eax
xor ebx, edi
sub ecx, edx
xor esi, eax
not edx
call 0x82fcbd
add edi, esp
xor edi, esp
inc esi
xor eax, esp
dec esi
add esi, eax
dec esi
rol ebx, 0x14
xor ecx, esp
xchg eax, edx
xor ebx, ecx
xor esi, eax
xchg esi, eax
ror esi, 0x11
xchg esi, eax
xchg esi, eax
rol esi, 0x11
xchg esi, eax
xor esi, eax
xor ebx, ecx
xchg eax, edx
xor ecx, esp
ror ebx, 0x14
inc esi
sub esi, eax
inc esi
xor eax, esp
dec esi
xor edi, esp
sub edi, esp
pop ecx
rol esi, 0x16
xor ebx, esp
not esi
xor esi, eax
dec eax
not esi
ror esi, 8
inc edi
xchg edx, eax
not esi
ror ecx, 0x1b
dec eax
neg edx
rol esi, 9
add esi, 0x4b9f5f9
rol eax, 8
inc esi
xor esi, eax
add esi, eax
neg eax
rol esi, 0x12
inc esi
dec esi
ror esi, 0x12
neg eax
sub esi, eax
xor esi, eax
dec esi
ror eax, 8
sub esi, 0x4b9f5f9
ror esi, 9
neg edx
inc eax
rol ecx, 0x1b
not esi
xchg edx, eax
dec edi
rol esi, 8
not esi
inc eax
xor esi, eax
not esi
xor ebx, esp
ror esi, 0x16
add ecx, 0x2db
invalid
xchg esi, eax
xor ebx, esp
dec ebx
ror esi, 4
neg ecx
inc esi
not edx
rol esi, 0xc
not edi
xor esi, eax
neg eax
neg eax
xor esi, eax
not edi
ror esi, 0xc
not edx
dec esi
neg ecx
rol esi, 4
inc ebx
xor ebx, esp
xchg esi, eax
not dword [ecx]
dec edx
not edx
sub ebx, 0x14d8181a
xor esi, eax
xor edx, ebp
sub esi, eax
xor esi, edx
xor eax, 0x58f8f22
inc ecx
add eax, edx
rol esi, 0xd
xchg eax, eax
xor ecx, esi
xor ecx, esi
xchg eax, eax
ror esi, 0xd
sub eax, edx
dec ecx
xor eax, 0x58f8f22
xor esi, edx
add esi, eax
xor edx, ebp
xor esi, eax
add ebx, 0x14d8181a
not edx
inc edx
sub dword [ecx], 0xe26a28d3
add esi, eax
neg esi
add esi, eax
inc esi
xchg edx, eax
dec eax
xchg edi, eax
inc eax
xor ebx, eax
xchg eax, eax
rol eax, 0x1d
xor ebx, eax
rol eax, 0x13
ror eax, 0x13
xor ebx, eax
ror eax, 0x1d
xchg eax, eax
xor ebx, eax
dec eax
xchg edi, eax
inc eax
xchg edx, eax
dec esi
sub esi, eax
neg esi
sub esi, eax
xor dword [ecx], 0xe26a28d3
xor esi, eax
inc esi
rol esi, 0x13
add esi, eax
dec esi
xchg eax, eax
rol edx, 0x12
dec esi
xor esi, ecx
xor esi, eax
xor esi, eax
xor esi, ecx
inc esi
ror edx, 0x12
xchg eax, eax
inc esi
sub esi, eax
ror esi, 0x13
dec esi
xor esi, eax
add dword [ecx], 0xe26a28d3
inc esi
xor ebx, esp
dec eax
add eax, esp
rol edx, 1
inc eax
neg esi
sub esi, eax
xor edx, 0x156071c3
not esi
xor eax, ebp
neg esi
xor ebx, eax
inc eax
sub eax, 0x6233952
not edx
sub esi, eax
xor eax, 0x14ee73b0
inc esi
rol eax, 8
sub esi, eax
add esi, eax
ror eax, 8
dec esi
xor eax, 0x14ee73b0
add esi, eax
not edx
add eax, 0x6233952
dec eax
xor ebx, eax
neg esi
xor eax, ebp
not esi
xor edx, 0x156071c3
add esi, eax
neg esi
dec eax
ror edx, 1
sub eax, esp
inc eax
xor ebx, esp
dec esi
xor dword [ecx], 0xe26a28d3
ror eax, 0x1b
dec ebx
add edx, 0x29157a89
xor esi, 0xda2ec64
dec esi
not eax
rol esi, 8
dec esi
xor esi, eax
xchg eax, esi
ror esi, 0x14
neg ebx
xor eax, 0x134b6a7c
ror esi, 0xa
xor edi, ecx
rol esi, 0x17
not esi
xor esi, eax
not esi
xchg edx, eax
xor eax, 0x2f78828
xor eax, 0x2f78828
xchg edx, eax
not esi
xor esi, eax
not esi
ror esi, 0x17
xor edi, ecx
rol esi, 0xa
xor eax, 0x134b6a7c
neg ebx
rol esi, 0x14
xchg eax, esi
xor esi, eax
inc esi
ror esi, 8
not eax
inc esi
xor esi, 0xda2ec64
sub edx, 0x29157a89
inc ebx
rol eax, 0x1b
not dword [ecx]
sub edi, esi
inc edx
add eax, 0x22a87dac
xchg esi, eax
xor ecx, edx
rol edx, 0x1b
not eax
inc eax
xor esi, edx
add esi, eax
ror edx, 0x13
xor esi, ebp
neg esi
xor ebx, ebp
dec esi
inc esi
xor ebx, ebp
neg esi
xor esi, ebp
rol edx, 0x13
sub esi, eax
xor esi, edx
dec eax
not eax
ror edx, 0x1b
xor ecx, edx
xchg esi, eax
sub eax, 0x22a87dac
dec edx
add edi, esi
add ecx, 4
sub edi, ecx
rol eax, 6
inc ecx
rol eax, 0x1f
xor eax, ebx
xor edi, eax
dec eax
ror eax, 0x1c
neg esi
xor esi, eax
xor esi, eax
neg esi
rol eax, 0x1c
inc eax
xor edi, eax
xor eax, ebx
ror eax, 0x1f
dec ecx
ror eax, 6
add edi, ecx
sub edi, 4
jne 0x82fd60
invalid
aam 0xa3
push eax
push esp
insd dword es:[edi], dx
arpl word [esp + ebp*4 + 0x4b], sp
lodsb al, byte [esi]
dec ebx
rcl byte [edi - 0x691ba6bd]
inc ebp
mov bh, byte [eax + edx*4 + 0x4a]
sbb dword [eax], 0x6ba3444e
mov ebp, 0x6460b222
xchg esp, eax
loop 0x8300c6
xchg esp, eax
xchg esp, eax
mov bl, byte [edx + 0x21b3b]
salc
xlatb
mov word [eax], fs
bound edx, qword [ebx - 0x47163676]
cmp edi, 0xffffffd5
lds esp, [edx - 0x7d]
cmp edx, eax
cmp byte [ecx + 0x30], bh
or ch, byte [eax]
push esp
inc esp
mov byte [0xa6a6541a], al
arpl word [esp + 0x595ffd09], bp
in al, 0xd3
cmp al, 0xa2
inc edx
invalid
push esp
cmpsb byte [esi], byte es:[edi]
mov byte [0x49469c60], al
dec edi
inc esp
cmp esi, dword [edi]
pushf
mov eax, 0x3ab57d70
aaa
lea ecx, [edx + 0x3af48e3b]
leave
sar bh, cl
invalid