Function at 0x10020c66
Capabilities:
Authenticate hmac

Disassembly:
sub esp, 0x110
push ebx
push ebp
push esi
push edi
push dword [esp + 0x134]
mov dword [esp + 0x54], ecx
push dword [esp + 0x134]
push dword [esp + 0x134]
push 0x20
push dword [esp + 0x134]
push edx
push ecx
call fcn.10008002
mov dword [esp + 0x40], 0xb850c4
add esp, 0x1c
add dword [esp + 0x24], 0xffff1b87
xor edx, edx
mov eax, dword [esp + 0x24]
xor ebp, ebp
mov ebx, 0x31427ed
push 0x38
pop esi
div esi
push 0x48
mov dword [esp + 0x28], eax
xor edx, edx
or dword [esp + 0x28], 0x7484239e
xor dword [esp + 0x28], 0x7487679f
mov dword [esp + 0x40], 0x671610
shl dword [esp + 0x40], 9
add dword [esp + 0x40], 0xffffbdb7
mov eax, dword [esp + 0x40]
pop edi
div edi
push 0x5a
mov dword [esp + 0x40], eax
xor edx, edx
xor dword [esp + 0x40], 0x2dd0dbe
mov dword [esp + 0x2c], 0x6d45a8
xor dword [esp + 0x2c], 0xcdaaf4a8
or dword [esp + 0x2c], 0x2aa6e37d
shr dword [esp + 0x2c], 0xc
xor dword [esp + 0x2c], 0xefe7f
mov dword [esp + 0xec], 0x1d0414
xor dword [esp + 0xec], 0xe63e9f7a
xor dword [esp + 0xec], 0xe6239b6e
mov dword [esp + 0x60], 0xdbff9
add dword [esp + 0x60], 0xffffdf67
shr dword [esp + 0x60], 9
xor dword [esp + 0x60], 0x6cf
mov dword [esp + 0xcc], 0xee2915
mov eax, dword [esp + 0xcc]
pop esi
div esi
push 0x7d
mov dword [esp + 0xcc], eax
xor edx, edx
xor dword [esp + 0xcc], 0x2a56f
mov dword [esp + 0x24], 0x30f311
imul eax, dword [esp + 0x24], 0x6c
pop esi
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
div esi
mov dword [esp + 0x20], eax
add dword [esp + 0x20], 0xffff130d
xor dword [esp + 0x20], 0x295de4
mov dword [esp + 0x14], 0xd74e11
shr dword [esp + 0x14], 0xb
add dword [esp + 0x14], 0x536c
add dword [esp + 0x14], 0xffff4a38
xor dword [esp + 0x14], 0xffffb88d
mov dword [esp + 0xa0], 0x78165c
xor dword [esp + 0xa0], 0x119f2f8b
shr dword [esp + 0xa0], 5
xor dword [esp + 0xa0], 0x8f39ce
mov dword [esp + 0x1c], 0x46e0dd
imul eax, dword [esp + 0x1c], 0x14
mov dword [esp + 0x1c], eax
shl dword [esp + 0x1c], 4
imul eax, dword [esp + 0x1c], 0x3f
mov dword [esp + 0x1c], eax
xor edx, edx
xor dword [esp + 0x1c], 0xcdabfbc0
mov dword [esp + 0x90], 0x6701dd
xor dword [esp + 0x90], 0x9279afad
add dword [esp + 0x90], 0xffff89d5
xor dword [esp + 0x90], 0x921e3845
mov dword [esp + 0xb4], 0x3d44ad
shr dword [esp + 0xb4], 1
shr dword [esp + 0xb4], 6
xor dword [esp + 0xb4], 0x7a89
mov dword [esp + 0xc4], 0x45ba2c
imul eax, dword [esp + 0xc4], 0x4a
push 0x62
pop esi
push 0x5c
mov dword [esp + 0xc8], eax
xor dword [esp + 0xc8], 0x1427283f
mov dword [esp + 0xf0], 0x343fab
add dword [esp + 0xf0], 0x68e6
xor dword [esp + 0xf0], 0x3405e0
mov dword [esp + 0x74], 0xaf3889
xor dword [esp + 0x74], 0xc23279d7
imul eax, dword [esp + 0x74], 0x1b
mov dword [esp + 0x74], eax
xor dword [esp + 0x74], 0x869c530f
mov dword [esp + 0x108], 0xf4b427
or dword [esp + 0x108], 0x483a8d57
xor dword [esp + 0x108], 0x48fe78d2
mov dword [esp + 0xb4], 0x10db4e
xor dword [esp + 0xb4], 0xf1aff679
shl dword [esp + 0xb4], 0xa
xor dword [esp + 0xb4], 0xfcbe5c75
mov dword [esp + 0xd8], 0x14b737
add dword [esp + 0xd8], 0x7c5f
xor dword [esp + 0xd8], 0x13f1cb
mov dword [esp + 0xf8], 0x7484d8
imul eax, dword [esp + 0xf8], 9
mov dword [esp + 0xf8], eax
xor dword [esp + 0xf8], 0x4160bfd
mov dword [esp + 0xd0], 0x9b7484
or dword [esp + 0xd0], 0x5f4a7202
xor dword [esp + 0xd0], 0x5fdf5c37
mov dword [esp + 0x7c], 0xda0fbd
mov eax, dword [esp + 0x7c]
div edi
xor edx, edx
mov dword [esp + 0x7c], eax
imul eax, dword [esp + 0x7c], 0x1b
mov dword [esp + 0x7c], eax
xor dword [esp + 0x7c], 0x53367e
mov dword [esp + 0xe0], 0x2fa43a
xor dword [esp + 0xe0], 0xdf30566
xor dword [esp + 0xe0], 0xddaec5a
mov dword [esp + 0x104], 0xc1ec80
mov eax, dword [esp + 0x104]
div esi
mov dword [esp + 0x104], eax
xor dword [esp + 0x104], 0xe66f3
mov dword [esp + 0x84], 0x6b4fac
add dword [esp + 0x84], 0x12eb
or dword [esp + 0x84], 0x6651ce0a
xor dword [esp + 0x84], 0x667f6b6f
mov dword [esp + 0x9c], 0x33b0f4
xor dword [esp + 0x9c], 0xd9a5f0ed
shr dword [esp + 0x9c], 0xf
xor dword [esp + 0x9c], 0xf0842
mov dword [esp + 0x100], 0x2a6a0f
imul eax, dword [esp + 0x100], 0x2e
mov dword [esp + 0x100], eax
xor dword [esp + 0x100], 0x7936512
mov dword [esp + 0xdc], 0x697fd1
xor dword [esp + 0xdc], 0xbf1512e6
xor dword [esp + 0xdc], 0xbf789ab5
mov dword [esp + 0x90], 0xe185e4
xor dword [esp + 0x90], 0xe5b2acdb
add dword [esp + 0x90], 0xffff9d18
xor dword [esp + 0x90], 0xe55c8429
xor edx, edx
mov dword [esp + 0xa8], 0x9fa9d1
mov eax, dword [esp + 0xa8]
pop esi
div esi
push 0x2c
mov dword [esp + 0xa8], eax
xor edx, edx
add dword [esp + 0xa8], 0xffff2216
xor dword [esp + 0xa8], 0x77867
mov dword [esp + 0xa0], 0x8adf9e
add dword [esp + 0xa0], 0x9a5e
xor dword [esp + 0xa0], 0x1a624471
xor dword [esp + 0xa0], 0x1ae76519
mov dword [esp + 0xe4], 0x313708
or dword [esp + 0xe4], 0x4d552f5
xor dword [esp + 0xe4], 0x4f75265
mov dword [esp + 0x34], 0xb80a70
add dword [esp + 0x34], 0x66b6
or dword [esp + 0x34], 0x1a350fc1
add dword [esp + 0x34], 0xffffcc70
xor dword [esp + 0x34], 0x1abc6eb5
mov dword [esp + 0x98], 0x2912e7
or dword [esp + 0x98], 0xe2603e46
add dword [esp + 0x98], 0x7e97
xor dword [esp + 0x98], 0xe265e9db
mov dword [esp + 0xb0], 0x821ea6
imul eax, dword [esp + 0xb0], 0x36
pop esi
mov dword [esp + 0xac], eax
add dword [esp + 0xac], 0x5511
xor dword [esp + 0xac], 0x1b7bb2e8
mov dword [esp + 0x38], 0xf0e9f8
imul eax, dword [esp + 0x38], 0x7a
mov dword [esp + 0x38], eax
add dword [esp + 0x38], 0xffff16fe
add dword [esp + 0x38], 0xffff2a1a
xor dword [esp + 0x38], 0x72ce1a31
mov dword [esp + 0xf0], 0xf5efb0
add dword [esp + 0xf0], 0xffff94f3
xor dword [esp + 0xf0], 0xfb4f00
mov dword [esp + 0x84], 0x5ba670
imul eax, dword [esp + 0x84], 0x1a
mov dword [esp + 0x84], eax
shr dword [esp + 0x84], 0xf
xor dword [esp + 0x84], 0xaa99f
mov dword [esp + 0x7c], 0xe620a
or dword [esp + 0x7c], 0x6cacc763
add dword [esp + 0x7c], 0xffff3d7f
xor dword [esp + 0x7c], 0x6caebe8e
mov dword [esp + 0x18], 0x43c5d0
or dword [esp + 0x18], 0xb2ae0f18
add dword [esp + 0x18], 0xffff20a5
add dword [esp + 0x18], 0x8e2a
xor dword [esp + 0x18], 0xb2e472bd
mov dword [esp + 0xc0], 0x6313ef
add dword [esp + 0xc0], 0x1112
xor dword [esp + 0xc0], 0x6c6cc1
mov dword [esp + 0x58], 0xd4b609
mov eax, dword [esp + 0x58]
div esi
mov dword [esp + 0x58], eax
or dword [esp + 0x58], 0x8315fc57
xor dword [esp + 0x58], 0x83102fe5
mov dword [esp + 0xbc], 0x2b0f3c
shr dword [esp + 0xbc], 5
xor dword [esp + 0xbc], 0x84a15
mov dword [esp + 0x108], 0xb53f51
shl dword [esp + 0x108], 0xc
xor dword [esp + 0x108], 0x53fe8c9e
mov dword [esp + 0xe4], 0xdeceb1
shl dword [esp + 0xe4], 6
xor dword [esp + 0xe4], 0x37b3ff62
mov dword [esp + 0x60], 0x1ce17f
imul eax, dword [esp + 0x60], 0x2a
mov dword [esp + 0x60], eax
shr dword [esp + 0x60], 0xa
xor dword [esp + 0x60], 0xa04b3
mov dword [esp + 0x88], 0x50af57
add dword [esp + 0x88], 0xffffa32e
add dword [esp + 0x88], 0x3d8
xor dword [esp + 0x88], 0x55a199
mov dword [esp + 0x74], 0x237ec8
shl dword [esp + 0x74], 9
or dword [esp + 0x74], 0x4009841a
xor edx, edx
xor dword [esp + 0x74], 0x46f72838
mov dword [esp + 0xb8], 0x126ce
add dword [esp + 0xb8], 0x6844
xor dword [esp + 0xb8], 0xdf250
mov dword [esp + 0x68], 0x7f89e0
imul eax, dword [esp + 0x68], 0x13
push 0x7c
pop esi
push 0x43
mov dword [esp + 0x6c], eax
add dword [esp + 0x6c], 0x9bdf
xor dword [esp + 0x6c], 0x97566f3
mov dword [esp + 0x48], 0x80e5a4
shr dword [esp + 0x48], 4
shr dword [esp + 0x48], 0xc
shl dword [esp + 0x48], 0xb
xor dword [esp + 0x48], 0x4633a
mov dword [esp + 0x38], 0xa3af09
add dword [esp + 0x38], 0xd396
mov eax, dword [esp + 0x38]
div esi
xor edx, edx
mov dword [esp + 0x38], eax
shl dword [esp + 0x38], 6
xor dword [esp + 0x38], 0x5e9d44
mov dword [esp + 0x14], 0xdcaf57
shr dword [esp + 0x14], 0x10
add dword [esp + 0x14], 0xffffbaf3
add dword [esp + 0x14], 0xa902
xor dword [esp + 0x14], 0x15b44
mov dword [esp + 0x50], 0xf8cf2f
add dword [esp + 0x50], 0xffff434a
mov eax, dword [esp + 0x50]
pop esi
div esi
push 0x53
mov dword [esp + 0x50], eax
xor edx, edx
add dword [esp + 0x50], 0xebc7
xor dword [esp + 0x50], 0x808bb
mov dword [esp + 0x30], 0xab67d2
add dword [esp + 0x30], 0xa2f6
xor dword [esp + 0x30], 0x53709e51
imul eax, dword [esp + 0x30], 0x4d
pop esi
push 0x65
mov dword [esp + 0x30], eax
xor dword [esp + 0x30], 0x39596a5b
mov dword [esp + 0xac], 0xeb205c
mov eax, dword [esp + 0xac]
div esi
xor edx, edx
mov dword [esp + 0xac], eax
shl dword [esp + 0xac], 0x10
xor dword [esp + 0xac], 0xd53d7c47
mov dword [esp + 0x58], 0x928934
mov eax, dword [esp + 0x58]
pop esi
div esi
mov dword [esp + 0x54], eax
shl dword [esp + 0x54], 4
xor dword [esp + 0x54], 0x124f63
mov dword [esp + 0x6c], 0xfa33d6
shr dword [esp + 0x6c], 0xe
or dword [esp + 0x6c], 0xba2d9757
xor dword [esp + 0x6c], 0xba2e1214
mov dword [esp + 0xd0], 0x3a8b30
or dword [esp + 0xd0], 0xac97b1c6
xor dword [esp + 0xd0], 0xacba9565
mov dword [esp + 0x64], 0xb91ef8
xor dword [esp + 0x64], 0x88b963f
shr dword [esp + 0x64], 8
xor dword [esp + 0x64], 0x1fb3d
mov dword [esp + 0xf8], 0x2fe7d8
add dword [esp + 0xf8], 0xc7f9
xor dword [esp + 0xf8], 0x3a6680
mov dword [esp + 0x48], 0x6f56e7
add dword [esp + 0x48], 0xfffff5e8
mov eax, dword [esp + 0x48]
push 0x71
xor edx, edx
mov edi, 0xd7342cb
pop esi
div esi
push 0x5e
mov dword [esp + 0x4c], eax
xor edx, edx
add dword [esp + 0x4c], 0x8f1f
xor dword [esp + 0x4c], 0x1ab71
mov dword [esp + 0x44], 0x334e4d
shr dword [esp + 0x44], 3
shl dword [esp + 0x44], 0xf
mov eax, dword [esp + 0x44]
pop esi
div esi
mov esi, 0xaa6f2cb
mov dword [esp + 0x40], eax
xor dword [esp + 0x40], 0x9dce1e
mov eax, 0x3c47c30
mov edx, 0x43cb520
cmp ebx, esi
jg 0x1002182f
je 0x100217b4
cmp ebx, 0x40b594
je 0x10021788
cmp ebx, 0x31427ed
je 0x1002177e
cmp ebx, 0x3ae9152
je 0x100216c2
cmp ebx, eax
je 0x10021679
cmp ebx, edx
jne 0x10021947
push dword [esp + 0x74]
mov edx, dword [esp + 0x130]
push dword [esp + 0x18]
push dword [esp + 0x90]
push dword [esp + 0x13c]
push dword [esp + 0x70]
mov ecx, dword [esp + 0x120]
call fcn.1000ac44
mov ecx, eax
add esp, 0x14
mov eax, dword [esp + 0xa0]
mov ebx, 0x40b594
cmp ecx, eax
mov ecx, dword [esp + 0x50]
mov eax, 0x3c47c30
cmove ebx, eax
jmp 0x100215e5
push ecx
push dword [esp + 0x38]
push dword [esp + 0x24]
push dword [esp + 0x50]
push dword [esp + 0x11c]
push dword [esp + 0x7c]
mov edx, dword [esp + 0xd0]
push 0x20
pop ecx
call fcn.1001c678
xor edx, edx
mov ecx, eax
mov eax, dword [esp + 0xa8]
inc edx
add esp, 0x18
mov ebx, 0x40b594
cmp ecx, eax
cmove ebp, edx
mov ecx, dword [esp + 0x50]
jmp 0x100215e0
mov edx, dword [esp + 0xec]
mov ecx, dword [esp + 0xc4]
push 0x10001648
call fcn.10020ad3
mov edx, dword [esp + 0x108]
mov esi, eax
mov ecx, dword [esp + 0x74]
mov dword [esp], 0x100015c8
call fcn.10020ad3
pop ecx
push dword [esp + 0xcc]
mov edi, eax
mov ecx, esi
push dword [esp + 0xf8]
lea eax, [esp + 0x118]
push dword [esp + 0xdc]
push edi
push eax
push dword [esp + 0xc4]
mov edx, dword [esp + 0x3c]
call fcn.100092dd
mov ecx, eax
mov ebx, 0xe240aa1
mov eax, dword [esp + 0x54]
cmp ecx, eax
push esi
push dword [esp + 0x11c]
mov edx, dword [esp + 0xfc]
mov eax, 0xb82defd
mov ecx, dword [esp + 0x98]
cmove ebx, eax
call fcn.10012eed
push edi
push dword [esp + 0x120]
mov edx, dword [esp + 0xc0]
mov ecx, dword [esp + 0xa8]
call fcn.10012eed
add esp, 0x28
mov edi, 0xd7342cb
jmp 0x10021934
mov ebx, 0x3ae9152
jmp 0x100215ea
push dword [esp + 0xa8]
push dword [esp + 0x110]
push dword [esp + 0x34]
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x1c]
call fcn.1002296f
add esp, 0xc
mov ebx, 0xf968961
jmp 0x100216b9
push dword [esp + 0xe4]
lea eax, [esp + 0x110]
push ecx
push dword [esp + 0x118]
push dword [esp + 0x114]
push dword [esp + 0xcc]
push dword [esp + 0x6c]
push dword [esp + 0xd8]
push eax
push dword [esp + 0x138]
push dword [esp + 0xec]
push dword [esp + 0x84]
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x140]
call fcn.100036b6
mov ecx, eax
add esp, 0x2c
mov eax, dword [esp + 0x20]
mov ebx, 0xf968961
cmp ecx, eax
mov edx, 0x43cb520
mov ecx, dword [esp + 0x50]
mov eax, 0x3c47c30
cmove ebx, edx
jmp 0x100215ea
cmp ebx, 0xb82defd
je 0x100218a8
cmp ebx, 0xc658524
je 0x1002187c
cmp ebx, edi
je 0x10021955
cmp ebx, 0xf968961
jne 0x10021947
push dword [esp + 0x64]
push dword [esp + 0xd4]
push dword [esp + 0x74]
mov edx, dword [esp + 0x120]
mov ecx, dword [esp + 0x60]
call fcn.1000f699
add esp, 0xc
mov ebx, edi
jmp 0x100216b9
mov eax, dword [esp + 0x7c]
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x118]
push ecx
call fcn.10016f53
test eax, eax
mov dword [esp + 0x118], eax
mov ebx, edi
pop ecx
cmovne ebx, esi
jmp 0x100216b9
mov edx, dword [esp + 0x8c]
mov ecx, dword [esp + 0xd8]
push 0x10001618
call fcn.10020ad3
push dword [esp + 0x114]
mov esi, eax
lea edx, [esp + 0x120]
push dword [esp + 0x9c]
lea eax, [esp + 0x128]
push dword [esp + 0x34]
push esi
push dword [esp + 0x44]
push dword [esp + 0xf8]
push eax
push dword [esp + 0xbc]
mov ecx, dword [esp + 0xc8]
call fcn.10005894
add esp, 0x24
mov ecx, eax
mov eax, dword [esp + 0xe8]
mov ebx, edi
cmp ecx, eax
mov eax, 0xc658524
push esi
push dword [esp + 0xf4]
mov edx, dword [esp + 0x40]
cmove ebx, eax
mov ecx, dword [esp + 0xb4]
call fcn.10012eed
pop ecx
pop ecx
mov ecx, dword [esp + 0x50]
mov edx, 0x43cb520
mov eax, 0x3c47c30
mov esi, 0xaa6f2cb
cmp ebx, 0xe240aa1
jne 0x100215ea
jmp 0x1002197a
push dword [esp + 0x110]
push dword [esp + 0x44]
push dword [esp + 0xbc]
mov edx, dword [esp + 0x54]
mov ecx, dword [esp + 0x104]
call fcn.10002cf9
add esp, 0xc
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x110
ret