Function at 0xa4d25f
Capabilities:
Authenticate hmac

Disassembly:
jae 0xa4d1d4
movzx ecx, byte [eax]
shl esi, 8
stc
jmp 0xa514b3
cmp edx, 0x1000000
jmp 0xa4c758
ret
jae 0xa4d1d4
movzx edi, byte [eax]
cmc
cmp bh, cl
jmp 0x7f1eab
pop ebp
jmp 0x7a4d25
dec ebx
mov dword [ebp - 0x14], ebx
test edi, 0xc021862
cmp edi, 0xe
jae 0x803bca
mov eax, edi
or ecx, ebx
rol cx, cl
mov cx, sp
and eax, 1
or eax, 2
bsr cx, dx
mov ecx, ebx
shl eax, cl
bt ecx, 0x13
not cx
mov ecx, dword [ebp - 8]
sub eax, edi
jmp 0xa50986
jmp 0x7a4cd3
jae 0x8077d7
mov eax, dword [edi + 0x28]
jmp 0x8087a2
jae 0x815973
mov edi, dword [ebp - 8]
bsf edx, edx
cmp ebx, eax
mov edx, eax
mov eax, dword [ebp + 8]
test esp, 0x5d56797c
mov dword [ebp - 0xc], 0
cmp edi, 0x2d020c3b
add edi, 0x664
jmp 0x7aab02
jae 0xa4d1d4
shl ecx, 8
or dh, 0x95
mov edx, ecx
sal ch, 0x78
movzx ecx, byte [eax]
stc
cmc
cmp bp, si
shl esi, 8
clc
jmp 0x7abdff
dec edi
and edi, edx
cmp ecx, edx
sub esi, edi
cmp di, 0x641b
sub ebx, 1
jne 0x803bd4
mov ecx, dword [ebp - 8]
bts bx, dx
add ecx, 0x644
rcl ebx, 0x74
sal bh, cl
btr bx, sp
mov ebx, 4
mov dword [ebp + 8], eax
add eax, edi
sbb ax, di
movzx ax, bl
mov dword [ebp - 0xc], ecx
ror ecx, cl
shld ax, si, 0xef
mov dword [ebp - 0x14], ebx
rcl ch, 0x81
mov eax, 1
xchg ecx, ecx
not ecx
mov edi, edi
mov ecx, dword [ebp - 0xc]
cmp al, 0x29
cmp ebx, ebx
movzx ecx, word [ecx + eax*2]
test edi, 0x380c4d5d
stc
cmp edx, 0x1000000
jmp 0x7fb990
shl esi, 8
shl edx, 8
cmp di, di
jmp 0x7fb422
jmp 0x80780e
dec eax
clc
cmp edi, ebp
jmp 0xa4d883
mov dword [ebp - 0x18], 2
jmp 0x7a749f
or esi, ecx
bswap cx
inc eax
rcr ch, 0x1a
sal cl, 0xee
shl ch, 0xd2
mov dword [ebp + 8], eax
rol ch, cl
add ecx, esp
shl cx, cl
mov ecx, edx
clc
jmp 0x802d5d
je 0x7f1ed5
mov ecx, dword [edi + 0x24]
test ecx, ebp
test ecx, ecx
jmp 0x7fc276
jmp 0xa5118d
jae 0xa4d1d4
movzx ecx, byte [eax]
stc
cmc
jmp 0x7fb3d1
jae 0x81606f
cmp eax, dword [ebp - 4]
jmp 0x7fa81f
jb 0x806e2d
lea edi, [edi - 0x40]
mov dword [ebp + 8], eax
clc
test eax, esp
cmp edi, 4
jmp 0x81673f
jae 0x7fbd8e
cmp eax, dword [ebp - 4]
jmp 0x7fbd5e
shl esi, 8
cmp di, di
cmp dh, 0x51
test si, ax
shl edx, 8
or esi, edi
jmp 0x7fdf73
lea ebx, [ebx + eax]
cmp dh, 0x27
cmp bx, bp
imul ebx, ebx, 0x600
stc
add dword [ebp - 0xc], ebx
stc
cmp dword [edi + 0x34], 7
jmp 0x803392
mov dword [ebp - 0x10], 8
jmp 0x808a0f
mov edi, dword [ebp - 0xc]
stc
sub edx, ecx
clc
sub esi, ecx
xchg cx, cx
mov ecx, dword [ebp - 8]
movzx edi, word [ecx + edi*2 + 0x1c8]
test bx, bx
test bh, 0x55
cmp edx, 0x1000000
jmp 0x7b0c3f
mov edi, dword [ebp - 0xc]
stc
sub edx, ecx
test ebp, ebx
sub esi, ecx
add ch, al
xchg ch, ch
btc ecx, 0xac
mov ecx, dword [ebp - 8]
cmp ecx, ecx
test bx, cx
movzx edi, word [ecx + edi*2 + 0x1b0]
test ecx, ebx
stc
cmc
cmp edx, 0x1000000
jmp 0xa4d823
jae 0xa4d1d4
movzx ecx, byte [eax]
clc
cmp dx, 0x1324
shl esi, 8
test cl, 0xd1
shl edx, 8
clc
or esi, ecx
movsx cx, dh
bswap cx
inc eax
mov dword [ebp + 8], eax
dec eax
movzx eax, word [edi + 2]
mov ecx, edx
jmp 0xa56109
jae 0xa4d1d4
movzx edi, byte [eax]
stc
cmc
jmp 0x7a984c
sub edx, edi
sub esi, edi
test ebp, ebx
lea eax, [eax + eax + 1]
test edi, ebx
clc
sub ebx, 1
mov dword [ebp - 0x14], ebx
jne 0x7a8cd5
mov eax, dword [ebp - 0x18]
clc
test sp, 0x68e5
cmp di, cx
cmp edx, 0x1000000
jmp 0xa4d1c2
lea ecx, [ecx + ebx]
movzx eax, word [eax + ecx*2]
mov dword [ebp - 0x10], eax
test sp, 0xdff
cmp edx, 0x1000000
jae 0x7f6b3a
mov eax, dword [ebp + 8]
cmc
cmp si, 0x46b0
cmp eax, dword [ebp - 4]
jae 0xa4d1d4
movzx ecx, byte [eax]
shl esi, 8
cmp edx, 0x258a4912
cmc
shl edx, 8
cmp edi, esp
stc
or esi, ecx
jmp 0x7f6b32
sub edx, ecx
shl ax, cl
stc
or ebx, esp
sub esi, ecx
sar eax, cl
lea ebx, [edi + 0x204]
mov dword [ebp - 0x14], 0x10
sal ax, cl
adc ah, 0x4a
and eax, edi
mov dword [ebp - 0x10], pe_nt_image_headers32
stc
btr edi, 0x47
xchg di, ax
mov edi, 1
neg ah
shld eax, edx, 0x9b
mov eax, dword [ebp + 8]
clc
cmp edx, 0x1000000
jmp 0x7b1184
mov dword [ebp - 0xc], eax
jne 0x7ac275
cmp dword [edi + 0x2c], 0
jmp 0x7ac26f
jmp 0x7f5dec
cmp eax, dword [ebp - 4]
jmp 0xa48cbe
inc eax
clc
mov dword [ebp + 8], eax
or ah, 0xb5
mov eax, edx
shr eax, 0xb
cmp bh, 0x16
imul eax, dword [ebp - 0x10]
cmp eax, 0x679513b0
cmp esi, eax
jmp 0xa51f1a
jae 0x815f2c
shl ebx, 4
mov edx, ecx
jmp 0xa49045
jae 0xa4d1d4
movzx ecx, byte [eax]
clc
test eax, esp
shl esi, 8
stc
cmp di, dx
jmp 0x81605b
shl esi, 8
cmp di, sp
cmp sp, 0x51ef
test bp, 0x42ab
shl edx, 8
or esi, ecx
cmovl ecx, edi
seto cl
inc eax
or cl, dl
mov dword [ebp + 8], eax
bsf cx, si
bswap cx
mov ecx, edx
cmp esi, esi
shr ecx, 0xb
imul ecx, edi
jmp 0x80668a
or esi, edi
inc eax
shr edx, 1
mov edi, esi
test esi, esp
cmc
cmp cx, si
sub edi, edx
cmp bl, 0xbd
cmc
shr edi, 0x1f
jmp 0x7a8c7e
inc ecx
cmc
mov dword [ebp + 8], ecx
bt cx, dx
inc ch
btc cx, di
mov ecx, edx
shr ecx, 0xb
test esp, 0x7f2a2904
imul ecx, dword [ebp - 0x10]
cmp ax, ax
test ebp, 0x149144a4
cmp esi, ecx
jmp 0xa53593
jae 0x807f29
mov edi, dword [ebp - 4]
clc
cmp dword [ebp + 8], edi
jmp 0x7fe388
jae 0xa4d1d4
movzx ecx, byte [eax]
clc
cmp ebx, ecx
cmp bp, 0x58e0
shl esi, 8
test si, cx
cmc
shl edx, 8
test dl, 0xd4
cmc
or esi, ecx
movsx cx, cl
inc eax
xchg cl, cl
sar ch, cl
or cx, sp
mov dword [ebp + 8], eax
movzx eax, word [ebx + edi*2]
cmc
mov ecx, esi
mov ecx, edx
cmp edx, esi
shr ecx, 0xb
test bx, bp
stc
imul ecx, eax
cmp esi, ecx
jmp 0xa501b6
cmp edx, 0x1000000
jae 0xa514cc
cmp eax, dword [ebp - 4]
jmp 0x7a4cc1
jne 0x7fc285
mov ecx, dword [edi + 0x28]
bsr bx, ax
rcr bl, cl
mov ebx, dword [edi + 0x14]
jmp 0x802f9f
jmp 0x7f63cf
jae 0x7f63a0
mov eax, 8
xor dx, dx
bt dx, si
cmova edx, edx
shl ebx, 4
movsx dx, bh
mov edx, ecx
jmp 0x7fdd77
lea ebx, [ebx + edi + 0x104]
jmp 0x819087
inc eax
test di, bx
mov dword [ebp + 8], eax
mov eax, edx
cmp di, 0x191a
shr eax, 0xb
cmp ecx, eax
stc
jmp 0x818479
jae 0xa4d1d4
mov edi, dword [ebp + 8]
shl ebx, 0x5c
or bh, cl
bsf bx, ax
movzx ebx, byte [edi]
shl esi, 8
test bh, 0x26
or esi, ebx
movzx ebx, ax
mov ebx, dword [ebp - 0x14]
test cx, si
shl edx, 8
jmp 0x807f12
add eax, eax
jmp 0x8077ca
jae 0xa4d1d4
movzx ecx, byte [eax]
stc
cmp ebp, eax
shl esi, 8
shl edx, 8
stc
test di, 0x3ae2
or esi, ecx
seto cl
inc eax
xor cx, 0x6412
shrd ecx, eax, 0x75
mov dword [ebp + 8], eax
bsr ax, si
shr cl, cl
or ax, di
movzx eax, word [edi]
and cx, 0x809
adc cx, di
mov ecx, edx
shr ecx, 0xb
imul ecx, eax
cmp di, 0x62a0
cmc
cmp esi, ecx
jmp 0x7fa0b1
shr ecx, 0xb
imul ecx, edi
cmc
cmp esi, ecx
jmp 0xa4d3b0
movzx ebx, byte [ebx + ecx - 1]
sar ax, 0xde
mov eax, dword [edi]
mov ecx, 8
sub cl, al
rcr ah, cl
shr ebx, cl
mov ecx, dword [edi + 4]
bt ax, ax
movsx eax, si
btc eax, ecx
mov eax, 1
cmp dh, 0x17
shl eax, cl
jmp 0xa4d39f
jae 0x8190c3
mov ecx, 1
jmp 0xa4e899
cmp esi, ecx
jmp 0xa51178
mov ecx, dword [ebp - 4]
cmp sp, sp
sub ebx, 4
cmc
cmp edx, 0x1000000
jae 0x7fb425
cmp eax, ecx
jmp 0x7f58f2
jae 0xa4d1d4
pop edi
xchg esi, eax
cwde
pop esi
setge al
bswap ax
movzx eax, di
mov eax, 3
not ebx
bswap bx
cmovg bx, si
pop ebx
mov esp, ebp
pop ebp
ret
jmp 0x7a8cca
shl eax, cl
stc
jmp 0x7f1ec1
pop ebx
mov esp, ebp
bswap ebp
jmp 0x7a66b2
cmp esi, ecx
jae 0x7f3dd4
mov edx, ecx
jmp 0xa4dd90
sub edx, ecx
cmp ecx, 0x24f023b2
sub esi, ecx
bts cx, bp
xadd cl, cl
lea edi, [edi + edi + 1]
mov ecx, dword [ebp - 0x10]
cmp edi, ecx
jmp 0xa51496
movzx ecx, word [ebx + edi*2]
clc
mov dword [ebp - 0x10], ecx
cmp edx, 0x1000000
jmp 0x816134
jae 0x7fdf7a
mov eax, dword [ebp + 8]
cmp eax, dword [ebp - 4]
jmp 0x7a5dc8
dec ebx
cmc
and ebx, dword [edi + 0x2c]
clc
cmc
jmp 0x7f5e96
jmp 0x7f5dd4
xor eax, eax
test cl, 0x94
cmp sp, di
mov edi, dword [edi + 0x14]
test eax, edi
sub edi, ebx
test ah, cl
shl bl, cl
add edi, ecx
movzx ecx, byte [edi + eax]
sar ah, cl
mov dword [ebp - 8], pe_nt_image_headers32
movsx bx, cl
xchg edi, edi
mov edi, 1
bts ebx, ebx
add ebx, esp
rol ax, cl
mov edi, edi
mov ebx, dword [ebp - 8]
cmp sp, 0x6957
cmovb ax, sp
add ecx, ecx
cmp ax, sp
btc ax, 0x38
mov eax, ebx
and eax, ecx
stc
mov dword [ebp - 0x18], ecx
shrd ecx, eax, 0x38
or cx, 0x4999
xchg cx, cx
lea ecx, [eax + edi]
stc
add ecx, ebx
rol bh, cl
mov ebx, dword [ebp - 0xc]
test sp, ax
movzx ecx, word [ebx + ecx*2]
cmp dx, bx
test esp, edi
mov dword [ebp - 0x10], ecx
clc
cmp edx, 0x1000000
jae 0x7fb4d4
mov ecx, dword [ebp + 8]
cmp esi, 0x3bb91277
cmp di, bp
cmp ecx, dword [ebp - 4]
jmp 0xa5375a
mov ecx, dword [ebp - 0xc]
sub edx, eax
sub esi, eax
or ah, ch
mov eax, dword [ebp - 8]
movzx ecx, word [eax + ecx*2 + 0x180]
cmp edx, 0x1000000
jmp 0x806e4d
inc edi
test ebp, esi
cmp bp, 0x247a
clc
mov dword [ebp + 8], edi
and di, 0x7314
dec di
sal edi, 0x11
mov edi, edx
stc
cmp ebx, esi
shr edi, 0xb
cmp di, di
clc
imul edi, ecx
test si, 0x5ed4
cmp esi, edi
jmp 0xa48b72
jmp 0x8077df
jmp 0x7f63cf
sub edx, ecx
test di, 0x7971
test ecx, ebx
sub esi, ecx
lea edi, [edi + edi + 1]
clc
cmc
jmp 0x8159c5
mov ecx, dword [ebp - 8]
dec edi
sar edi, 0xbd
sub edx, eax
sub esi, eax
mov eax, dword [ebp - 0xc]
movzx edi, word [ecx + eax*2 + 0x198]
shld eax, edx, 0xf8
mov eax, dword [ebp + 8]
mov dword [ebp - 0x18], 3
jmp 0x7fbf91
cmp edi, 0x40
jmp 0x7b0c4d
sub edx, ecx
sub esi, ecx
clc
test bp, dx
cmp edx, 0x1000000
jae 0x7f54ab
mov eax, dword [ebp + 8]
cmp eax, dword [ebp - 4]
jmp 0x7f5484
shl edx, 8
cmc
or esi, ecx
movzx cx, ch
inc eax
rcr ecx, cl
mov dword [ebp + 8], eax
stc
and cl, 0x79
mov ecx, edx
stc
shr ecx, 0xb
test eax, esp
stc
cmp ebp, 0x52ac208b
imul ecx, edi
cmp esp, 0x15bc0507
jmp 0x80340a
jae 0x8194de
cmp eax, dword [ebp - 4]
jmp 0x8194c1
jb 0x7f5de0
mov ebx, edi
test di, 0x5c4b
shr ebx, 1
jmp 0x7a7350
jmp 0xa54bc5
jb 0xa4e899
mov eax, 1
jmp 0x7f66ee
sub edx, ecx
sub esi, ecx
test edi, 0x5f667238
stc
cmp eax, 0x4c7c3062
lea edi, [edi + edi + 1]
jmp 0xa54821
imul eax, ecx
cmp sp, ax
test sp, 0x58f3
cmp esi, eax
jmp 0x7a8aa2
jae 0x7f5de0
cmp edi, 4
jb 0x8185b7
mov edi, 3
inc bl
bt eax, 0xfc
cmp bh, 0x94
mov eax, dword [ebp - 8]
movsx ebx, bp
shl edi, 7
movzx ebx, cx
lea ebx, [edi + eax + 0x360]
mov eax, dword [ebp + 8]
mov edi, 1
jmp 0x806e2d
mov dword [ebp - 0x10], eax
jmp 0x7fc298
mov dword [ebp - 0x14], eax
jmp 0x818646
inc eax
cmp ebx, esi
mov dword [ebp + 8], eax
neg ax
ror al, 0xf2
cwde
mov eax, edx
test ebx, 0x711a04ea
shr eax, 0xb
cmp bh, 6
imul eax, edi
cmp esi, eax
jmp 0xa54838
mov ecx, dword [edi + 0x24]
sar ebx, cl
sbb bx, 0x1b18
bsf ebx, esp
mov ebx, dword [edi + 0x38]
cmp ecx, ebx
jmp 0x7a7a80
shr ecx, 0xb
cmc
clc
imul ecx, dword [ebp - 0x10]
cmp esi, ecx
jmp 0xa560d2
jae 0xa4d1d4
movzx ecx, byte [eax]
clc
shl esi, 8
shl edx, 8
test bp, cx
stc
or esi, ecx
setnp ch
inc eax
movzx ecx, ax
mov ecx, edx
jmp 0x819456
jae 0x7f5dc7
mov edx, edi
jmp 0x7ff211
jae 0xa4d1d4
movzx ebx, byte [eax]
jmp 0xa565c8
lea ebx, [ebx + edi + 4]
mov dword [ebp - 0x14], 0
jmp 0x7f257e
shl esi, 8
cmp esp, 0x27b703e2
shl edx, 8
cmc
or esi, ebx
jmp 0x7fb4c5
jae 0x7f5448
mov eax, dword [ebp - 0xc]
test esp, eax
btr edx, 0x8b
add edx, 0x23932e1a
mov edi, dword [ebp - 8]
cmp ebp, 0x530a6941
lea eax, [eax + 0xf]
dec dh
shl eax, 4
xor dl, 0x2a
add eax, ebx
ror dh, cl
movzx dx, bl
dec dx
movzx edi, word [edi + eax*2]
mov eax, dword [ebp + 8]
cmc
mov edx, ecx
stc
cmp ecx, 0x1000000
jae 0x7abe18
cmp eax, dword [ebp - 4]
jmp 0x7a8c5c
jae 0x7ff738
cmp eax, dword [ebp - 4]
jmp 0x7ff705
jae 0xa53768
mov edx, dword [ebp - 4]
cmp dword [ebp + 8], edx
jb 0xa53768
xor eax, eax
mov bx, dx
jmp 0xa53768
push ebp
shl dl, 0xb7
mov ebp, esp
neg edx
and edx, esi
sub esp, 0x18
push ebx
sal ebx, cl
xor bl, 0xc1
cdq
push esi
or si, 0x7a6c
bsr bx, dx
push edi
rol bh, 0
mov edi, ecx
mov ecx, dword [ebp + 8]
cmp ax, 0x69e0
stc
adc si, 0x4dac
mov edx, dword [edi + 0x1c]
adc bx, di
stc
mov esi, dword [edi + 0x20]
lea ecx, [ecx + eax]
and ebx, esi
mov eax, dword [edi + 0x10]
test si, bp
and bl, 0x36
mov dword [ebp - 4], ecx
mov ecx, dword [edi + 0x34]
shld bx, ax, 0xb0
bt ebx, 4
stc
mov dword [ebp - 0xc], ecx
mov ecx, dword [edi + 8]
bts bx, di
or bl, 0x61
mov ebx, 1
shl ebx, cl
or ecx, ebx
mov ecx, dword [ebp - 0xc]
cmc
test esi, 0x7ac55be4
shl ecx, 4
mov dword [ebp - 8], eax
jmp 0x8076f5
mov ecx, dword [edi]
jmp 0x7aaa6f
jae 0xa54bb7
cmp ecx, 0x1000000
jae 0x803cb3
cmp eax, dword [ebp - 4]
jmp 0x803cad
jmp 0x8159c5
jae 0x7fb3f9
cmp eax, dword [ebp - 4]
jmp 0x7b0970
and eax, dword [edi + 0x2c]
jmp 0x803cfc
jmp 0xa54bc5
mov eax, dword [ebp - 0xc]
movzx edi, word [eax + ecx*2]
stc
cmp edx, 0x1000000
jae 0x81909c
mov eax, dword [ebp + 8]
clc
jmp 0x7f6b14
jae 0x806b6f
mov edx, ecx
stc
cmp sp, cx
add edi, edi
jmp 0x806b84
not eax
jmp 0xa54821
lea eax, [ecx + eax*2 + 0x55e]
mov dword [ebp - 0xc], eax
jmp 0x803ce1
jae 0xa54bb7
mov edx, ecx
jmp 0x8171ce
sub edx, eax
sub esi, eax
lea ecx, [ecx + ecx + 1]
cmp ecx, 0x100
jmp 0x817d41
jb 0x7f63da
mov eax, dword [ebp - 0x14]
sub eax, ecx
lea edi, [edi + eax]
cmp dword [ebp - 0xc], 4
jmp 0x81859a
shl edx, 8
cmc
or esi, ecx
xchg ecx, ecx
not cl
movsx ecx, bx
inc eax
movsx cx, ch
bswap cx
cmc
mov dword [ebp + 8], eax
mov ecx, edx
cmc
clc
shr ecx, 0xb
test dh, bl
imul ecx, edi
cmp esi, ecx
jmp 0xa4b86c
jae 0x807cec
mov edx, eax
shl eax, cl
test ax, 0x2478
cmp ebx, esi
mov eax, dword [ebp - 8]
add eax, 0xe6c
cmp dword [edi + 0x30], 0
jmp 0x7f641b
jae 0x817d6d
mov edx, ecx
stc
cmp ecx, ebx
test di, di
add edi, edi
jmp 0xa50435
jae 0xa4d1d4
movzx ebx, byte [ecx]
jmp 0xa4b6d1
pop edi
pop esi
jmp 0x803e7c
and dword [ebp - 8], eax
cmp edi, 0x100
jae 0x817d47
mov ecx, dword [ebp - 0x18]
jmp 0x7a9a1c
jae 0xa51185
mov edx, eax
add ecx, ecx
jmp 0x7acff9
sub edx, ecx
shrd di, cx, 0x46
bt di, 0xd0
sub esi, ecx
mov edi, dword [ebp - 8]
mov dword [ebp - 0xc], 0xc
clc
cmp esi, 0x350c70b7
cmc
add edi, 0xa68
jmp 0x7a4cd3
jae 0x8152f9
mov edx, ecx
add edi, edi
jmp 0xa4d4d3
shr ecx, 0xb
test sp, 0x333c
imul ecx, eax
stc
cmp esi, ecx
jmp 0x7fcc04
shl esi, 8
shl edx, 8
or esi, ebx
jmp 0x81908f