Function at 0xed8828
Capabilities:
Authenticate hmac
Encode data using xor

Disassembly:
jmp 0xed8832
pushal
call 0xed8838
pop ebp
sub ebp, 0x10
sub ebp, 0xad8828
jmp 0xed884e
mov eax, 0xad8828
add eax, ebp
add eax, 0x4c
mov ecx, 0x5cb
mov edx, 0xd45eedb4
xor byte [eax], dl
inc eax
dec ecx
jne 0xed8865
jmp 0xed8878
aas
jns 0xed88ba
cmp eax, 0xb4b4b488
xor eax, 0xb4b44c75
mov ah, 0xb7
jns 0xed8895
mov dl, 0xb4
mov ah, 0xb4
push cs
pushfd
mov ah, 0xb4
mov ah, 0x43
push esi
mov bh, 0x7c
aas
jl 0xed88d6
xor eax, 0xb4b4b4b8
mov bh, 0x71
cmp eax, edx
nop
dec eax
cmp eax, 0xd03990b0
jno 0xed88d8
rcl byte [eax - 0x6f4fc2b8]
cmp eax, edx
nop
dec eax
cmp eax, 0x8cdc90b0
or edx, dword [esp + esi*4 + 0x387c5adc]
mov ah, 0xb5
cwde
nop
fcom qword [eax]
fld qword [esi]
adc ch, bl
push es
push 0x5c
mov cl, 0xb4
mov ah, 0xb4
pop ebp
xor byte [esp + esi*4 - 0x6f2fc64c], 0x48
cmp eax, 0xd8399098
nop
mov ah, 0x3f
xor dword [esp + esi*4 + 0x213fb4b4], edi
mov eax, 0x3fb4b4b4
mov ah, 0xb4
mov ah, 0x3f
and dword [eax + 0x3fb4b4b4], edi
cmp dword [esp + esi*4 + 0x5d75b4b4], esp
mov dh, 0x85
mov dh, 0x37
jbe 0xed889d
std
mov ebx, 0x4b4b4031
dec ebx
aas
cwde
nop
cmp eax, edx
nop
mov al, 0x76
mov eax, 0x90383fb4
mov al, 0xb4
mov ah, 0xb4
fmul qword [ebx + ecx + 0x5adcb494]
jl 0xed8946
mov ah, 0xb5
cwde
nop
in eax, 0x5c
mov cl, 0xb4
mov ah, 0xb4
pop ebp
mov dh, 0xb4
mov ah, 0x39
rcl byte [eax - 0x6f67c2b8]
cmp eax, ebx
nop
dec eax
cmp eax, 0xd8399098
nop
mov ah, 0x4b
sar dword [eax + 0x5cbcc14b], 0xc6
mov ah, 0xb4
mov ah, 0x3f
or dword [esp + esi*4 + 0x7d87b4b4], edi
xor eax, 0xbc419346
push es
xor eax, 0xbc419346
push es
xchg dword [esi + 0x37], esp
aaa
pop esp
mov cl, 0xfc
mov ebx, 0xb4b4fa30
mov ah, 0xbb
cmp al, 0xfc
mov ah, 0xb4
mov ah, 0xd2
aas
test al, 0x8d
xor al, 0x4f
pop esp
mov ebx, 0xb4b4ae30
mov ah, 0x34
dec edi
pop ebp
mov ebx, 0xb4b4a530
mov ah, 0xd2
xor eax, 0xbb914b4f
xor byte [ecx - 0xa4b4b4c], ah
mov eax, dword [0xf5b4b4b4]
pop ebp
js 0xed89c9
dec ebx
dec ebx
popfd
clc
lea esi, [ebp + 0x37b17537]
pop esp
mov al, 0x5d
or dword [ebx + 0x4b], ecx
dec ebx
dec ebx
popfd
loopne 0xed891f
mov dh, 0x37
jne 0xed8948
aaa
pop esi
mov al, 0x37
pop esp
mov cl, 0x5d
pop ds
dec ebx
dec ebx
dec ebx
jmp 0xe2a2421c
loop 0xed898d
loope 0xed89eb
sar dword [eax + 0x48bcc93f], 6
xor al, 0x3e
mov dl, 0x35
jb 0xed896e
mov ah, 0xb4
mov ah, 0x3c
mov bl, 0x35
jae 0xed8976
mov ah, 0xb4
mov ah, 0xf
mov dh, 0xb4
mov ah, 0xb4
mov dh, 0x66
mov ebx, 0xb4b4b131
mov bx, 0xb131
mov ah, 0xb4
mov ah, 0x3e
mov byte [0xbb66a6f2], al
aaa
insb byte es:[edi], dx
dec ebx
dec ebx
dec ebx
mov dh, 0x66
mov ebx, 0xb4b4b131
mov ah, 0x3e
mov byte [0xbb66a6f2], al
aaa
mov bx, 0xde37
mov ah, 0xb4
mov ah, 0x87
je 0xed89a8
fidiv word [esp + esi*4 - 0x498b784c]
mov bx, 0xb131
mov ah, 0xb4
mov ah, 0x3e
mov byte [0xbb66a6f2], al
aaa
sahf
cmpsb byte [esi], byte es:[edi]
mov bx, 0x9e37
mov ch, 0xb4
mov ah, 0xb6
mov bx, 0xb131
mov ah, 0xb4
mov ah, 0x3e
mov byte [0xa766a6f2], al
je 0xed89ca
mov bx, 0xb131
mov ah, 0xb4
mov ah, 0x3e
mov byte [0xa766a6f2], al
je 0xed89d9
mov bx, 0xb131
mov ah, 0xb4
mov ebx, 0xb4b4b131
mov ah, 0x3e
mov byte [0xa766a6f2], al
je 0xed89e8
mov bx, 0xb131
mov ah, 0xb4
mov ah, 0x3e
mov byte [0xa766a6f2], al
je 0xed89fc
xor byte [edx + 0x3fb4b4b4], dh
imul ebx, dword [edi + 0x3cb73e6c], 0xffffffb3
movzx esi, byte [esp + esi*4 + 0x4bc45db4]
dec ebx
dec ebx
or al, 0xb5
mov ah, 0xb4
mov ah, 0xb6
mov bx, 0xb131
mov ah, 0xb4
mov ah, 0x3e
mov byte [0xa766a6f2], al
je 0xed8a24
mov bx, 0xb131
mov ah, 0xb4
mov ah, 0x3e
mov byte [0xbb66a6f2], al
push 0x4b
dec ebx
dec ebx
lahf
ja 0xed8a92
mov ch, 0xb4
mov ah, 0xb4
mov ebx, 0xb4b48031
mov ah, 0xd
mov ch, 0xb4
mov ah, 0xb4
mov dh, 0x66
mov ebx, 0xb4b4b131
mov ah, 0x3e
xor dword [ecx + 0x3eb4b4b4], esi
mov byte [0xa766a6f2], al
jge 0xed8a58
mov bx, 0xb131
mov ah, 0xb4
mov ah, 0x3e
mov byte [0xbb66a6f2], al
push 0x4b
dec ebx
dec ebx
loop 0xed8af5
inc ebx
lahf
inc ecx
inc edi
adc dl, ch
pop ebp
mov esp, 0xfc4b4b4b
jne 0xed8b18
mov esp, 0x3ff2b23e
pop esp
or eax, 0xb4b4b4b5
mov dh, 0x66
mov ebx, 0xb4b4b131
mov ah, 0x3e
mov byte [0xa766a6f2], al
jge 0xed8a95
mov bx, 0xb131
mov ah, 0xb4
mov ah, 0x3e
mov byte [0xbb66a6f2], al
push 0x4b
dec ebx
dec ebx
xor eax, 0xb4c9b44c
mov ah, 0x35
insd dword es:[edi], dx
dec ebx
dec ebx
dec ebx
mov ah, 0xb4
xor eax, 0x4b4b4b6d
dec ebx
xor eax, 0xb4b1b44c
mov ah, 0x35
insd dword es:[edi], dx
dec ebx
dec ebx
dec ebx
dec ebx
xor eax, 0xb4b4344c
mov ah, 0x35
mov ah, 0xb4
mov ah, 0xb4
xor eax, 0xb4b4344c
mov ah, 0xb4
mov ah, 0x35
mov ah, 0xb4
mov ah, 0xb4
loop 0xed8b62
inc ebx
lahf
inc esp
inc edi
adc dl, ch
pop ebp
das
dec edx
dec ebx
dec ebx
mov dl, 0xf2
xchg dword [ebp + 0x74], edi
pop esp
mov ch, 0xbb
xor byte [esi + 0x35b4b4b4], ch
mov dh, 0xb4
mov ah, 0xb4
aas
pop esp
loop 0xed8b85
inc ebx
lahf
inc esp
inc edi
adc dl, ch
lgs esi, [esp + esi*4 + 0x4ac75db4]
dec ebx
dec ebx
jmp 0x40aa54fa
mov esp, 0x90883fb4
cmp eax, edx
nop
mov al, 0x3f
adc byte [eax - 0x4f6f2fc7], 0x5d
mov al, 0xb4
mov ah, 0xb4
mov bl, 0x69
int3
mov bh, 0xb4
mov ah, 0xd
sub dh, byte [esi + 0x790eb4b4]
in eax, dx
xor eax, ebp
test byte [esp + esi*8 + 0x4231bbfd], ah
dec ebx
dec ebx
dec ebx
pop ebp
mov al, 0xb4
mov ah, 0xb4
push ecx
or ch, ch
dec esi
inc byte [edi - 0xdbaf80e]
lds ecx, [esi - 0x27]
jns 0xed8c29
fnstcw word [ecx + 0x79]
jns 0xed8c2c
xchg edx, esi
cmpsd dword [esi], dword es:[edi]
aas
inc ebp
std
dec ecx
dec ebp
jns 0xed8c37
jns 0xed8c12
mov eax, dword [0x3f283fe]
add edi, dword [ecx - 2]
jns 0xed8bc5
xor edx, 0x36
jge 0xed8bc4
bnd jge 0xed8bc4
cmp dword [ecx + 0x79], 0x79
jns 0xed8c48
std
aas
jns 0xed8c4f
jns 0xed8c52
scasd eax, dword es:[edi]
clc
mov esi, 0x79797971
clc
nop
jno 0xed8c5c
jns 0xed8c5e
clc
cmp byte [ecx + 0x79], 0x79
jns 0xed8c64
jns 0xed8c62
jbe 0xed8bea
std
test eax, 0x1f868686
bnd jle 0xed8bad
jle 0xed8bad
xchg ecx, eax
jne 0xed8bf2
cdq
jbe 0xed8bf3
cmp dword [edx + 0x79], 0xfc767979
jp 0xed8c77
jns 0xed8c79
jns 0xed8c77
jbe 0xed8bfe
cld
je 0xed8c7d
jns 0xed8c7f
pop ds
bnd jle 0xed8c02
cdq
xchg byte [esi + 0x79], dh
jns 0xed8c8a
mov ebx, 0x30306178
popal
xor byte [eax], dh
cli
mov esi, 0x86b1907b
xchg byte [esi + 0x79797d90], al
jns 0xed8bc8
les esi, [ecx]
mov ecx, eax
push ecx
int1
aam 0x79
jp 0xed8be9
jns 0xed8ca6
mov esp, 0x7d5db9f8
jns 0xed8cac
clc
mov ecx, 0x79797d5d
ror byte [edx - 0x3c868688], 0xe3
out dx, eax
jns 0xed8bfc
jecxz 0xed8c2a
xchg dword [ecx + 0x30396949], esi
mov cl, 0x49
imul edi, dword [ecx], 0x8ffc7630
xchg byte [esi + 0x797d9086], al
cmp dword [eax], esi
jbe 0xed8c3f
pop dword [esi + 0x7d908686]
jge 0xed8cc3
jns 0xed8cc4
jns 0xed8cc5
jns 0xed8bff
mov dl, 0x4a
dec edx
fucompp
push 0x5f68df9d
jmp 0x69cd29bc
fild qword [eax + 0x5f]
aam 0x63
jecxz 0xed8c3c
jecxz 0xed8c3b
sbb eax, 0xe3ef9c60
pushal
pushfd
out dx, eax
jecxz 0xed8c4d
in al, dx
push esp
push esp
jecxz 0xed8c48
jecxz 0xed8c49
jecxz 0xed8ccf
push 0x25e0efa4
movsb byte es:[edi], byte [esi]
out dx, eax
loopne 0xed8c90
outsb dx, byte [esi]
xchg edi, eax
pop ds
push 0xffffffffffffffe7
invalid
jecxz 0xed8cdb
sbb esp, ebx
jecxz 0xed8c60
jecxz 0xed8c6b
in ax, dx
jecxz 0xed8c66
jecxz 0xed8cf9
push 0xe074ef9b
and eax, 0x37761cb3
fsubr qword [edi - 0x1d]
pushal
outsd dx, dword [esi]
jecxz 0xed8cf3
pushfd
out dx, eax
jecxz 0xed8c83
invalid
pushal
pushfd
jecxz 0xed8c97
jecxz 0xed8c97
mov eax, 0x6ee3e3e3
mov eax, 0x6ee3e3e3
jecxz 0xed8d1f
xchg edi, eax
pop ds
push 0xffffffffffffffcf
invalid
iretd
push 0x1e64f39e
loopne 0xed8ccf
pushal
sahf
jecxz 0xed8ca9
jecxz 0xed8cb3
in al, dx
fsubr st(3), st(0)
fsubr st(3), st(0)
jecxz 0xed8caf
push 0x876ee3ae
invalid
jecxz 0xed8d3e
outsb dx, byte [esi]
xchg edi, eax
pop ds
push 0xffffffffffffffe7
invalid
out 0xc7, eax
outsb dx, byte [esi]
xchg edi, eax
pop ds
push 0xfffffffffffffff7
invalid
test edi, 0x6aec2ae8
in eax, 0xe3
jecxz 0xed8cc8
mov dl, 0xa
ljmp 0x622d
jecxz 0xed8cce
loopne 0xed8d1a
bound esp, qword [edx]
loope 0xed8cd4
jecxz 0xed8cd6
mov dl, 0xb3
sbb al, 0x71
das
fsubr qword [edi - 0x1d]
mov ecx, 0xbbe3a66a
outsd dx, dword [esi]
jecxz 0xed8cb5
push 0xffffffffffffffa6
jecxz 0xed8cbb
bound esp, qword [esi]
out 0xe3, eax
jecxz 0xed8ce9
or dl, byte [esp + ebx + 0x1c]
sbb al, 0x1c
sbb al, 0x68
iretd
sbb al, 0x1c
sbb al, 0xb7
xchg dword [esi + edx*8], ebx
sbb al, 0xd6
jecxz 0xed8d06
jecxz 0xed8d08
mov esp, dword [ebx - 0x491cb193]
outsb dx, byte [esi]
xchg edi, eax
pop ds
push 0xffffffffffffffd7
invalid
loopne 0xed8d65
sbb al, 3
mov bh, 0x8b
xchg bl, al
cmpsb byte [esi], byte es:[edi]
lea ecx, [edx - 0x3c7d717c]
mov bl, 0x91
mov word [edi - 0x73687f7a], ss
xchg ecx, eax
ret
cmpsd dword [esi], dword es:[edi]
xchg byte [ebp - 0x6c73707a], dl
xchg byte [ecx - 0x704a3c27], dl
add byte [edi - 0x6e757176], 0xc3
mov al, 0x96
mov byte [ebx - 0x16116a74], cl
mov al, 0x8a
xchg edi, eax
xchg bl, al
fld st(3)
mov edx, dword [edi - 0x266f6c69]
int3