Function at 0x10003506
Capabilities:
Authenticate hmac

Disassembly:
adc eax, 0x10009efc
push edi
call dword [0x10009efc]
lea eax, [ebp - 0x1c]
push esi
push eax
push esi
push 0x100092dc
push 0x100092a8
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 4], esi
call fcn.10004bf6
add esp, 0x18
push 1
pop eax
pop edi
pop esi
pop ebx
leave
ret
push ebp
mov ebp, esp
sub esp, 0x68
and byte [ebp - 0x68], 0
push ebx
push esi
push edi
push 0x18
xor eax, eax
pop ecx
lea edi, [ebp - 0x67]
rep stosd dword es:[edi], eax
and dword [ebp - 4], 0
stosw word es:[edi], ax
stosb byte es:[edi], al
jp 0x10003548
push eax
mov ax, 0xea42
pop eax
jnp 0x10003548
pop eax
mov edx, 0xb7bc9ea5
jb 0x10003569
jp 0x100034cf
test cl, 0x87
xor esp, esi
cwde
push edx
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x68]
push eax
call fcn.100059b2
jb 0x10003573
push esi
mov esi, 0xb484b386
pop esi
jae 0x10003573
out 0xbd, eax
retf
mov ebp, 0x7f8e5cb
scasd eax, dword es:[edi]
sub byte [ebp + 0xd6af010], bl
push 0xd
push 0x10009030
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
jp 0x1000359d
push si
pop si
jnp 0x1000359d
outsd dx, dword [esi]
cmp ah, byte [edx]
aas
pop esp
salc
jbe 0x1000358f
sbb dword [edi + edx*2], 0xffffff85
mov dword [ecx + 0x6a], eax
or al, 0x68
inc eax
nop
add byte [eax], dl
push 0xc
push 0x10009040
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
jp 0x100035c7
push si
pop si
jnp 0x100035c7
outsd dx, dword [esi]
cmp ah, byte [edx]
aas
pop esp
salc
jbe 0x100035b9
sbb dword [edi + edx*2], 0xffffff85
mov dword [ecx + 0x6a], eax
or al, 0x68
dec esp
nop
add byte [eax], dl
push 0xc
push 0x1000904c
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
add esp, 0x38
push ebx
test bl, 0x4d
pop ebx
push 0xd
push 0x10009058
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
add esp, 0x10
push ebx
add bx, ax
mov bx, 0x6602
and bh, dl
pop ebx
push ebx
and bx, cx
pop ebx
push 0x10
push 0x10009068
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
jb 0x10003633
push di
pop di
jae 0x10003633
scasb al, byte es:[edi]
bound eax, qword [edx]
pushfd
dec esi
call 0x1fd895a5
test byte [eax + ebx - 0x7f], 0x4b
lea ebp, [edx + 0xc]
push 0xc
push 0x10009078
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
add esp, 0x20
pushaw
push ecx
test bl, ah
or ch, 0x47
pop ecx
popaw
push 0xe
push 0x10009084
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
add esp, 0x10
pushal
mov eax, eax
mov cx, 0xebe
popal
push 0xa
push 0x10009094
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
add esp, 0x10
pushal
test si, di
and ch, dl
and ax, cx
test dl, ah
cmp dh, 0x36
popal
push 0xb
push 0x100090a0
lea eax, [ebp - 0x68]
push dword [ebp - 4]
push eax
call fcn.10002704
jbe 0x100036ba
mov dx, dx
mov esi, esi
ja 0x100036ba
sub ch, byte [ebx]
cmp byte [edx - 0xb], dl
sub dword [edi + 0x6a], esp
or byte [eax - 0x54], ch
nop
add byte [eax], dl
push 8
push 0x100090ac
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
jbe 0x100036d7
push esi
pop esi
ja 0x100036d7
pop ebx
hlt
push 9
lea eax, [ebp - 0x68]
pop edi
push edi
push 0x100090b4
push dword [ebp - 4]
push eax
call fcn.10002704
add esp, 0x30
push ebx
push ecx
inc dword [ebx + 0x515330c4]
or bl, ah
sub cl, 0x27
cmp bh, 8
and cx, 0x784f
and bx, 0x94f
pop ecx
pop ebx
push edi
push 0x100090c0
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
jp 0x1000372e
push si
pop si
jnp 0x1000372e
outsd dx, dword [esi]
cmp ah, byte [edx]
aas
pop esp
salc
jbe 0x10003720
sbb dword [edi + edx*2], 0xffffff85
mov dword [ecx + 0x57], eax
push edi
push 0x100090cc
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
jp 0x10003764
push eax
mov ax, 0xea42
pop eax
jnp 0x10003764
pop eax
mov edx, 0xb7bc9ea5
jb 0x10003785
jp 0x100036eb
test cl, 0x87
xor esp, esi
cwde
push edx
push 0xa
push 0x100090d8
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
add esp, 0x30
push ecx
push esi
and ecx, 0x4ed
dec esi
xor ecx, 0x19e7
out 0x19, eax
add byte [eax], al
add si, 0x438f
xor cx, 0x2688
add ch, dh
test ch, 0x5b
pop esi
pop ecx
push edi
push 0x100090e4
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
add esp, 0x10
push ecx
push edi
push ax
test di, 0x934
test edi, 0x48bd
and edi, eax
and ch, 0xb
cmp cl, 0x6f
mov cl, 0xc
sub di, 0x5090
test cx, di
pop ax
pop edi
pop ecx
push 0xa
push 0x100090f0
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
add esp, 0x10
pushal
inc si
dec dh
cmp al, bl
and ah, 0x4d
or dl, 0x4d
sub si, si
popal
push 0xc
push 0x100090fc
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
jp 0x10003825
push edi
mov di, 0xb224
pop edi
jnp 0x10003825
xchg edx, eax
clc
mov esi, 0x34a96cf4
inc eax
lds ebp, [0x6a17b43a]
or ch, byte [eax + 8]
xchg ecx, eax
add byte [eax], dl
push 0xa
push 0x10009108
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
add esp, 0x20
push eax
cmp al, bl
inc ah
test si, ax
test esi, eax
pop eax
push 9
push 0x10009114
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
add esp, 0x10
push eax
push edi
push esi
inc si
cmp edi, eax
pop esi
pop edi
pop eax
push 0xa
push 0x10009120
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
add esp, 0x10
push eax
test edx, eax
cmp eax, ecx
pop eax
push 0xb
push 0x1000912c
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
add esp, 0x10
pushal
sub ebx, 0xe88
test ecx, esi
dec ch
test bh, 0x2a
or ah, 0x12
sub bh, dh
or ax, ax
or al, 0x2f
cmp ch, 5
popal
push 0xa
push 0x10009138
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
add esp, 0x10
push ecx
cmp cl, 0x3f
or ch, dl
cmp cx, cx
or ch, 0x1f
pop ecx
push 0xa
push 0x10009144
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
jo 0x1000390e
push dx
mov dx, 0x7a78
pop dx
jno 0x1000390e
insb byte es:[edi], dx
mov bl, 0xbc
ja 0x10003979
fdiv qword [eax - 0x7f6a6a73]
push 0x56
mov bh, byte [ecx]
mov eax, 0x458d096a
cwde
push 9
lea eax, [ebp - 0x68]
pop edi
push edi
push 0x10009150
push dword [ebp - 4]
push eax
call fcn.10002704
add esp, 0x20
push ecx
push esi
and ecx, 0x4ed
dec esi
xor ecx, 0x19e7
add si, 0x438f
xor cx, 0x2688
add ch, dh
test ch, 0x5b
pop esi
pop ecx
push edi
push 0x10009180
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
jbe 0x10003968
mov dx, dx
mov esi, esi
ja 0x10003968
sub ch, byte [ebx]
cmp byte [edx - 0xb], dl
sub dword [edi + 0x6a], esp
or byte [eax - 0x74], ch
xchg ecx, eax
add byte [eax], dl
push 8
push 0x1000918c
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
jl 0x10003986
invalid
push ebx
mov bh, 0x4c
pop ebx
jge 0x10003986
xchg edx, eax
cmp eax, 0x91946857
add byte [eax], dl
push edi
push 0x10009194
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
jp 0x100039a4
push ecx
mov ecx, 0x54689436
pop ecx
jnp 0x100039a4
adc dword [edi + 0x68], 0x5c
xchg ecx, eax
add byte [eax], dl
push edi
push 0x1000915c
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
add esp, 0x40
push eax
push edx
push edi
add dl, dh
pop edi
pop edx
pop eax
push 0xa
push 0x10009168
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
add esp, 0x10
push eax
push ebx
push ecx
mov cl, 0x6d
inc ebx
pop ecx
pop ebx
pop eax
push 9
push 0x10009174
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
add esp, 0x10
push ebx
and bx, cx
pop ebx
push 0x14
push 0x100091a0
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
add esp, 0x10
push ebx
push cx
test dx, cx
test bl, ch
test cl, 0x43
and ch, bh
or cl, bl
and cx, di
pop cx
pop ebx
push 0xa
push 0x100091b4
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
jp 0x10003a55
mov ebx, ebx
mov esi, esi
xchg bx, bx
jnp 0x10003a55
psrlw mm1, qword [edx + 0x13]
enter 0x626d, 0x3f
daa
in eax, 0x78
retf
push 0xb
push 0x100091c0
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
js 0x10003a78
mov edx, edx
jns 0x10003a78
sub eax, 0x1bf31dd6
xchg esi, eax
and byte [ebx], 0xc3
cmp dword [edx + 9], ebp
push 9
push 0x100091cc
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
add esp, 0x30
pushal
test bx, 0xa43
cmp ch, 0x6e
sub ch, bl
cmp dx, 0x7a98
sub ecx, edx
popal
push 8
push 0x100091d8
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
add esp, 0x10
pushal
test si, di
and ch, dl
and ax, cx
test dl, ah
cmp dh, 0x36
popal
push 0xb
push 0x100091e0
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
add esp, 0x10
push di
push eax
push ecx
test dl, cl
and di, 0x377
cmp ecx, 0x5354
pop ecx
pop eax
pop di
push 5
push 0x100094c0
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
add esp, 0x10
push dx
push eax
or ax, 0x4297
and ax, 0x45c0
test esi, eax
test dh, al
cmp dl, 0x51
pop eax
pop dx
push 5
push 0x100094c8
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
add esp, 0x10
push edx
push bx
cmp edx, esi
inc dl
cmp dh, cl
mov edx, 0x5a9c
test dx, bx
test edx, 0x5a77
inc bl
and dh, 0x55
xor bl, dh
pop bx
pop edx
push 5
push 0x100094d0
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
add esp, 0x10
push eax
push edi
test edi, 0x6e34
dec ax
dec ah
or eax, ecx
xor al, dh
or eax, 0x24ad
cmp ax, cx
test eax, eax
dec ah
and di, di
pop edi
pop eax
push 0x29
push 0x100091ec
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
add esp, 0x10
push eax
test edx, eax
cmp eax, ecx
pop eax
push 0x2a
push 0x10009218
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
add esp, 0x10
push eax
push dx
inc eax
pop dx
pop eax
push 0xb
push 0x10009244
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
add esp, 0x10
push ecx
push esi
and ecx, 0x4ed
dec esi
xor ecx, 0x19e7
add si, 0x438f
xor cx, 0x2688
add ch, dh
test ch, 0x5b
pop esi
pop ecx
push 0x12
push 0x10009250
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
add esp, 0x10
push ebx
push esi
push dx
inc dl
xor bl, dl
inc si
cmp dx, 0x676a
xor bx, 0x35f8
cmp esi, 0x222c
pop dx
pop esi
pop ebx
push 0x25
push 0x10009a10
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
jb 0x10003c51
nop
nop
nop
nop
jae 0x10003c51
xor edi, dword [edi + 0xe58be73]
lea ebx, [ebp + 0x68086a76]
cmp byte [edx + 0x75ff1000], bl
cld
push 8
push 0x10009a38
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
jo 0x10003c72
push ecx
mov ecx, 0x9bcdcc09
pop ecx
jno 0x10003c72
inc eax
movsd dword es:[edi], dword [esi]
mov edx, 0x64680d6a
xchg edx, eax
add byte [eax], dl
push 0xd
push 0x10009264
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
jbe 0x10003c9f
xchg bh, bh
xchg edi, edi
ja 0x10003c9f
cmp eax, eax
xchg esp, eax
movsd dword es:[edi], dword [esi]
mov bh, 0xdf
mov ebp, 0x6ae181d0
and dword [eax + 0x74], ebp
xchg edx, eax
add byte [eax], dl
push 0x21
push 0x10009274
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
add esp, 0x40
jl 0x10003cca
xchg ecx, ecx
xchg ch, ch
jge 0x10003cca
fbstp tbyte [eax - 0x7ce92414]
push ebx
dec eax
daa
add dword [edx], 0x56adf84
push 5
push 0x10009298
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
add esp, 0x10
push ax
push cx
push edi
and al, dl
or ch, 0x3a
dec edi
inc edi
cmp ah, bl
xor ax, ax
cmp cl, dl
dec cl
pop edi
pop cx
pop ax
push 8
push 0x100092a0
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
jl 0x10003d22
xchg ecx, ecx
xchg ch, ch
jge 0x10003d22
fbstp tbyte [eax - 0x7ce92414]
push ebx
dec eax
daa
add dword [edx], 0x336adf84
push 0x33
push 0x100092a8
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
jl 0x10003d40
push ebx
mov bh, 0x4c
pop ebx
jge 0x10003d40
xchg edx, eax
cmp eax, 0xdc68076a
xchg edx, eax
add byte [eax], dl
push 7
push 0x100092dc
lea eax, [ebp - 0x68]
push dword [ebp - 4]
push eax
call fcn.10002704
jb 0x10003d6c
push edx
mov dx, 0xecd6
pop edx
jae 0x10003d6c
cmc
adc eax, 0x7c8ecb0d
xor dword [esi + 0x43d1773a], 0x6a27e95e
pop es
push 7
push 0x100092e4
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
add esp, 0x40
jl 0x10003d9d
push edi
mov edi, 0x513b465
pop edi
jge 0x10003d9d
sbb dl, bl
pop ss
push es
mov dl, 0xf4
dec esi
or edi, ebp
stosb byte es:[edi], al
sub dl, dl
aad 0x79
jb 0x10003da2
push 4
push 0x100092ec
add byte [eax], dl
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
add esp, 0x10
push eax
push edx
xor al, 0x3d
sub ah, 0x2b
add eax, 0x7c28
or dh, dl
xor ax, dx
cmp ax, 0x4001
pop edx
pop eax
push 5
push 0x100092f0
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
jl 0x10003df8
push edi
mov edi, 0x513b465
pop edi
jge 0x10003df8
sbb dl, bl
pop ss
push es
mov dl, 0xf4
dec esi
or edi, ebp
stosb byte es:[edi], al
sub dl, dl
aad 0x79
jb 0x10003dfd
push 4
push 0x100092f8
add byte [eax], dl
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
jp 0x10003e15
push cx
mov cl, 0x21
pop cx
jnp 0x10003e15
push 5
push 0x100092fc
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
js 0x10003e39
push eax
mov eax, 0xc7766751
pop eax
jns 0x10003e39
cmpsd dword [esi], dword es:[edi]
fstp qword [edi + 0x18]
pop ds
cmpsb byte [esi], byte es:[edi]
push 0x26
push 0x10009304
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
add esp, 0x40
jbe 0x10003e59
push esi
pop esi
ja 0x10003e59
pop ebx
hlt
push 0xd
push 0x10009588
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
add esp, 0x10
push edx
push bx
cmp edx, esi
inc dl
cmp dh, cl
mov edx, 0x5a9c
test dx, bx
test edx, 0x5a77
inc bl
and dh, 0x55
xor bl, dh
pop bx
pop edx
push 0x19
push 0x10009598
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
jo 0x10003ec7
push dx
mov dx, 0x7a78
pop dx
jno 0x10003ec7
insb byte es:[edi], dx
mov bl, 0xbc
ja 0x10003f32
fdiv qword [eax - 0x7f6a6a73]
push 0x56
mov bh, byte [ecx]
mov eax, 0xb4680b6a
xchg ebp, eax
add byte [eax], dl
push 0xb
push 0x100095b4
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
add esp, 0x20
push ebx
push cx
test dx, cx
test bl, ch
test cl, 0x43
and ch, bh
or cl, bl
and cx, di
pop cx
pop ebx
push 0xb
push 0x100095c0
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
jbe 0x10003f13
mov di, di
xchg edi, edi
ja 0x10003f13
and eax, 0xe2f4cc58
push 0xb
push 0x100095cc
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
jp 0x10003f3d
push edi
mov di, 0xb224
pop edi
jnp 0x10003f3d
xchg edx, eax
clc
mov esi, 0x34a96cf4
inc eax
lds ebp, [0x6a17b43a]
or ch, byte [eax - 0x28]
xchg ebp, eax
add byte [eax], dl
push 0xa
push 0x100095d8
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
jbe 0x10003f67
push eax
pop eax
ja 0x10003f67
pop esi
fisubr dword [ecx + 0x7a96ed64]
dec esp
push 0xc
push 0x100095e4
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
add esp, 0x40
push ebx
push esi
push dx
inc dl
xor bl, dl
inc si
cmp dx, 0x676a
xor bx, 0x35f8
cmp esi, 0x222c
pop dx
pop esi
pop ebx
push 0xe
push 0x100095f0
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
jb 0x10003fc7
push edx
mov dx, 0xecd6
pop edx
jae 0x10003fc7
cmc
adc eax, 0x7c8ecb0d
xor dword [esi + 0x43d1773a], 0x6a27e95e
adc dword [eax], ebp
xchg esi, eax
add byte [eax], dl
push 0x11
push 0x10009600
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
add esp, 0x20
push edx
add edx, 0x2915
sub dl, ah
pop edx
push 0x13
push 0x10009614
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
add esp, 0x10
push edx
push bx
mov dl, 0xc
test dx, 0x40ef
test bh, bh
pop bx
pop edx
push 0x14
push 0x10009628
push dword [ebp - 4]
lea eax, [ebp - 0x68]
push eax
call fcn.10002704
add esp, 0x10
pop edi
pop esi
pop ebx
leave
ret