Function at 0x100420d0
Capabilities:
Authenticate hmac

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100fbac0
mov eax, dword fs:[0]
push eax
sub esp, 0x68
mov eax, dword [0x1014d084]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x58], ebx
mov eax, dword [ebx]
mov dword [0x10152974], eax
cmp byte [ebx + 0xfa], 0
je 0x1004270e
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount64]
call esi
sub eax, dword [ebx + 0x100]
mov ecx, eax
sbb edx, dword [ebx + 0x104]
call fcn.10077450
cvtsd2ss xmm0, xmm0
divss xmm0, dword [0x1013ce38]
comiss xmm0, dword [0x1013cdc4]
jb 0x1004270e
call esi
sub dword [ebx + 0xf0], 1
mov dword [ebx + 0x100], eax
mov dword [ebx + 0x104], edx
js 0x100426f6
lea eax, [ebp - 0x4f]
mov word [ebp - 0x50], 0x1d
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 0x4f], 0
call fcn.10007920
mov dword [ebp - 4], 0
mov eax, 0xc22e4507
mov edi, dword [ebx + 0xf0]
imul edi
add edx, edi
sar edx, 0x10
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
call fcn.100335c0
call fcn.10077321
mov esi, eax
mov edx, edi
imul ecx, esi, 0x15180
mov eax, 0x91a2b3c5
mov dword [ebp - 0x34], esi
sub edx, ecx
mov ecx, 0x18
mul edx
shr edx, 0xb
mov eax, edx
xor edx, edx
div ecx
mov ecx, edx
call fcn.1002c5e0
call fcn.10077321
mov ebx, eax
lea ecx, [esi + esi*2]
mov edx, edi
mov dword [ebp - 0x54], ebx
mov eax, 0x88888889
lea esi, [ebx + ecx*8]
imul ecx, esi, 0xe10
sub edx, ecx
mov ecx, 0x3c
mul edx
shr edx, 5
mov eax, edx
xor edx, edx
div ecx
mov ecx, edx
call fcn.1002c5e0
call fcn.10077321
mov ecx, esi
mov dword [ebp - 0x4c], eax
shl ecx, 4
sub ecx, esi
lea ecx, [eax + ecx*4]
mov edx, ecx
shl edx, 4
sub edx, ecx
mov ecx, 0x3c
shl edx, 2
sub edi, edx
xor edx, edx
mov eax, edi
div ecx
mov ecx, edx
call fcn.1002c5e0
call fcn.10077321
mov edx, dword [ebp - 0x34]
mov edi, eax
test edx, edx
je 0x1004230d
cmp edx, 0xa
jae 0x10042264
mov al, 0x5b
mov byte [ebp - 0x32], 0
mov cl, 0x6b
mov byte [ebp - 0x34], al
xor cl, al
mov byte [ebp - 0x32], 0
mov byte [ebp - 0x33], cl
lea eax, [ebp - 0x33]
jmp 0x10042271
mov word [ebp - 0x30], 0x36
lea eax, [ebp - 0x2f]
mov byte [ebp - 0x2f], 0
push edx
push eax
mov dword [ebp - 0x3c], 0x7b2d7b5e
xor esi, esi
mov word [ebp - 0x38], 0x642b
mov byte [ebp - 0x36], 0
cmp esi, 6
jb 0x100422a2
push 0x90
push str.C:Program_Files__x86_Microsoft_Visual_Studio_14.0VCinclude_array
push str.array_subscript_out_of_range
call fcn.10066030
add esp, 0xc
mov bl, byte [ebp + esi - 0x3b]
xor bl, byte [ebp - 0x3c]
cmp esi, 6
jb 0x100422c5
push 0x90
push str.C:Program_Files__x86_Microsoft_Visual_Studio_14.0VCinclude_array
push str.array_subscript_out_of_range
call fcn.10066030
add esp, 0xc
mov byte [ebp + esi - 0x3b], bl
inc esi
cmp esi, 5
jb 0x10042286
sub esp, 0x1c
mov byte [ebp - 0x36], 0
lea eax, [ebp - 0x3b]
mov ecx, esp
push eax
call fcn.10007920
lea eax, [ebp - 0x74]
push eax
call fcn.10006ba0
add esp, 0x28
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 1
call fcn.1000cd00
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0
call fcn.10006cd0
mov ebx, dword [ebp - 0x54]
test ebx, ebx
je 0x100423db
cmp ebx, 0xa
jae 0x10042333
mov cl, 0x79
mov byte [ebp - 0x32], 0
mov al, 0x49
mov byte [ebp - 0x34], cl
xor al, cl
mov byte [ebp - 0x32], 0
mov byte [ebp - 0x33], al
lea eax, [ebp - 0x33]
jmp 0x10042340
mov word [ebp - 0x30], 0x43
lea eax, [ebp - 0x2f]
mov byte [ebp - 0x2f], 0
push ebx
push eax
mov dword [ebp - 0x3c], 0x580e587d
xor esi, esi
mov word [ebp - 0x38], 0x4708
mov byte [ebp - 0x36], 0
cmp esi, 6
jb 0x10042371
push 0x90
push str.C:Program_Files__x86_Microsoft_Visual_Studio_14.0VCinclude_array
push str.array_subscript_out_of_range
call fcn.10066030
add esp, 0xc
mov bl, byte [ebp + esi - 0x3b]
xor bl, byte [ebp - 0x3c]
cmp esi, 6
jb 0x10042394
push 0x90
push str.C:Program_Files__x86_Microsoft_Visual_Studio_14.0VCinclude_array
push str.array_subscript_out_of_range
call fcn.10066030
add esp, 0xc
mov byte [ebp + esi - 0x3b], bl
inc esi
cmp esi, 5
jb 0x10042355
sub esp, 0x1c
mov byte [ebp - 0x36], 0
lea eax, [ebp - 0x3b]
mov ecx, esp
push eax
call fcn.10007920
lea eax, [ebp - 0x74]
push eax
call fcn.10006ba0
add esp, 0x28
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 2
call fcn.1000cd00
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0
call fcn.10006cd0
jmp 0x10042441
mov dword [ebp - 0x44], 0x2d272717
xor esi, esi
mov byte [ebp - 0x40], 0
cmp esi, 4
jb 0x10042404
push 0x90
push str.C:Program_Files__x86_Microsoft_Visual_Studio_14.0VCinclude_array
push str.array_subscript_out_of_range
call fcn.10066030
add esp, 0xc
mov bl, byte [ebp + esi - 0x43]
xor bl, byte [ebp - 0x44]
cmp esi, 4
jb 0x10042427
push 0x90
push str.C:Program_Files__x86_Microsoft_Visual_Studio_14.0VCinclude_array
push str.array_subscript_out_of_range
call fcn.10066030
add esp, 0xc
mov byte [ebp + esi - 0x43], bl
inc esi
cmp esi, 3
jb 0x100423e8
lea eax, [ebp - 0x43]
mov byte [ebp - 0x40], 0
push eax
lea ecx, [ebp - 0x2c]
call fcn.1000b060
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
je 0x10042516
cmp ecx, 0xa
jae 0x1004246a
mov dl, 0x3e
mov byte [ebp - 0x32], 0
mov al, 0xe
mov byte [ebp - 0x34], dl
xor al, dl
mov byte [ebp - 0x32], 0
mov byte [ebp - 0x33], al
lea eax, [ebp - 0x33]
jmp 0x10042477
mov word [ebp - 0x30], 0x6a
lea eax, [ebp - 0x2f]
mov byte [ebp - 0x2f], 0
push ecx
push eax
mov dword [ebp - 0x3c], 0x5e085e7b
xor esi, esi
mov word [ebp - 0x38], 0x410e
mov byte [ebp - 0x36], 0
nop dword [eax]
cmp esi, 6
jb 0x100424ac
push 0x90
push str.C:Program_Files__x86_Microsoft_Visual_Studio_14.0VCinclude_array
push str.array_subscript_out_of_range
call fcn.10066030
add esp, 0xc
mov bl, byte [ebp + esi - 0x3b]
xor bl, byte [ebp - 0x3c]
cmp esi, 6
jb 0x100424cf
push 0x90
push str.C:Program_Files__x86_Microsoft_Visual_Studio_14.0VCinclude_array
push str.array_subscript_out_of_range
call fcn.10066030
add esp, 0xc
mov byte [ebp + esi - 0x3b], bl
inc esi
cmp esi, 5
jb 0x10042490
sub esp, 0x1c
mov byte [ebp - 0x36], 0
lea eax, [ebp - 0x3b]
mov ecx, esp
push eax
call fcn.10007920
lea eax, [ebp - 0x74]
push eax
call fcn.10006ba0
add esp, 0x28
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 3
call fcn.1000cd00
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0
call fcn.10006cd0
jmp 0x1004257c
mov dword [ebp - 0x44], 0x7b717141
xor esi, esi
mov byte [ebp - 0x40], 0
cmp esi, 4
jb 0x1004253f
push 0x90
push str.C:Program_Files__x86_Microsoft_Visual_Studio_14.0VCinclude_array
push str.array_subscript_out_of_range
call fcn.10066030
add esp, 0xc
mov bl, byte [ebp + esi - 0x43]
xor bl, byte [ebp - 0x44]
cmp esi, 4
jb 0x10042562
push 0x90
push str.C:Program_Files__x86_Microsoft_Visual_Studio_14.0VCinclude_array
push str.array_subscript_out_of_range
call fcn.10066030
add esp, 0xc
mov byte [ebp + esi - 0x43], bl
inc esi
cmp esi, 3
jb 0x10042523
lea eax, [ebp - 0x43]
mov byte [ebp - 0x40], 0
push eax
lea ecx, [ebp - 0x2c]
call fcn.1000b060
test edi, edi
je 0x10042646
cmp edi, 0xa
jae 0x100425a2
mov cl, 0x2d
mov byte [ebp - 0x32], 0
mov al, 0x1d
mov byte [ebp - 0x34], cl
xor al, cl
mov byte [ebp - 0x32], 0
mov byte [ebp - 0x33], al
lea eax, [ebp - 0x33]
jmp 0x100425af
mov word [ebp - 0x30], 0x2a
lea eax, [ebp - 0x2f]
mov byte [ebp - 0x2f], 0
push edi
push eax
mov dword [ebp - 0x4c], 0xc5a0c29
xor esi, esi
mov word [ebp - 0x48], 0x5c
cmp esi, 5
jb 0x100425dc
push 0x90
push str.C:Program_Files__x86_Microsoft_Visual_Studio_14.0VCinclude_array
push str.array_subscript_out_of_range
call fcn.10066030
add esp, 0xc
mov bl, byte [ebp + esi - 0x4b]
xor bl, byte [ebp - 0x4c]
cmp esi, 5
jb 0x100425ff
push 0x90
push str.C:Program_Files__x86_Microsoft_Visual_Studio_14.0VCinclude_array
push str.array_subscript_out_of_range
call fcn.10066030
add esp, 0xc
mov byte [ebp + esi - 0x4b], bl
inc esi
cmp esi, 4
jb 0x100425c0
sub esp, 0x1c
mov byte [ebp - 0x47], 0
lea eax, [ebp - 0x4b]
mov ecx, esp
push eax
call fcn.10007920
lea eax, [ebp - 0x74]
push eax
call fcn.10006ba0
add esp, 0x28
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 4
call fcn.1000cd00
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0
call fcn.10006cd0
jmp 0x100426a9
mov dword [ebp - 0x34], 0x787848
xor esi, esi
nop
cmp esi, 3
jb 0x1004266c
push 0x90
push str.C:Program_Files__x86_Microsoft_Visual_Studio_14.0VCinclude_array
push str.array_subscript_out_of_range
call fcn.10066030
add esp, 0xc
mov bl, byte [ebp + esi - 0x33]
xor bl, byte [ebp - 0x34]
cmp esi, 3
jb 0x1004268f
push 0x90
push str.C:Program_Files__x86_Microsoft_Visual_Studio_14.0VCinclude_array
push str.array_subscript_out_of_range
call fcn.10066030
add esp, 0xc
mov byte [ebp + esi - 0x33], bl
inc esi
cmp esi, 2
jb 0x10042650
lea eax, [ebp - 0x33]
mov byte [ebp - 0x31], 0
push eax
lea ecx, [ebp - 0x2c]
call fcn.1000b060
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
lea ecx, [ebp - 0x74]
cmovae eax, dword [ebp - 0x28]
push eax
call fcn.10007920
mov eax, dword [ebp - 0x58]
mov byte [ebp - 4], 5
mov esi, dword [eax + 0x48]
test esi, esi
je 0x100426e4
push 4
push esi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x100426e4
lea eax, [ebp - 0x74]
mov ecx, esi
push eax
call dword [0x101384e4]
lea ecx, [ebp - 0x74]
call fcn.10006cd0
lea ecx, [ebp - 0x2c]
call fcn.10006cd0
jmp 0x1004270e
mov ecx, ebx
mov byte [ebx + 0xfa], 0
mov dword [ebx + 0xf0], 0
call fcn.1002ebc0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10075bf0
mov esp, ebp
pop ebp
ret