Function at 0x1001c631
Capabilities:
Authenticate hmac

Disassembly:
sub esp, 0x5c
push ebx
push ebp
push esi
push edi
mov ebx, ecx
mov dword [esp + 0x34], 0x6c25e6
xor edx, edx
shr dword [esp + 0x34], 0xf
shr dword [esp + 0x34], 0xd
xor dword [esp + 0x34], 0xb07b8
mov dword [esp + 0x30], 0xfeb19f
or dword [esp + 0x30], 0xe5cfed25
xor dword [esp + 0x30], 0x26a25afc
xor dword [esp + 0x30], 0xc355f8a5
mov dword [esp + 0x58], 0x71f317
shr dword [esp + 0x58], 1
xor dword [esp + 0x58], 0x3a157d
mov dword [esp + 0x2c], 0x229c82
shr dword [esp + 0x2c], 6
add dword [esp + 0x2c], 0x6845
xor dword [esp + 0x2c], 0xe1a2d
mov dword [esp + 0x1c], 0xaa3c23
add dword [esp + 0x1c], 0x9f20
add dword [esp + 0x1c], 0x8b23
or dword [esp + 0x1c], 0x21cd8be9
xor dword [esp + 0x1c], 0x21ed2977
mov dword [esp + 0x18], 0xa275e1
shr dword [esp + 0x18], 0xd
mov eax, dword [esp + 0x18]
push 0x36
xor edi, edi
pop ecx
div ecx
push 0x3a
mov dword [esp + 0x1c], eax
xor edx, edx
or dword [esp + 0x1c], 0x6f301759
mov esi, 0xe982267
xor dword [esp + 0x1c], 0x6f339045
mov dword [esp + 0x18], 0x6e61be
xor dword [esp + 0x18], 0xaf54e0d1
shr dword [esp + 0x18], 4
or dword [esp + 0x18], 0xfa70c1e6
xor dword [esp + 0x18], 0xfaf0db59
mov dword [esp + 0x68], 0x2c245a
shl dword [esp + 0x68], 8
xor dword [esp + 0x68], 0x2c2bf9b3
mov dword [esp + 0x4c], 0xcb696d
shr dword [esp + 0x4c], 4
shl dword [esp + 0x4c], 5
xor dword [esp + 0x4c], 0x19dc7aa
mov dword [esp + 0x24], 0xb5019c
add dword [esp + 0x24], 0xffffd3ce
mov eax, dword [esp + 0x24]
pop ecx
div ecx
push 0x22
mov dword [esp + 0x24], eax
xor edx, edx
add dword [esp + 0x24], 0xe675
xor dword [esp + 0x24], 0xdb5c6
mov dword [esp + 0x48], 0x1e681a
mov eax, dword [esp + 0x48]
pop ecx
div ecx
mov dword [esp + 0x44], eax
add dword [esp + 0x44], 0x9449
xor dword [esp + 0x44], 0x94c29
mov dword [esp + 0x60], 0x15a3d6
imul eax, dword [esp + 0x60], 0x6f
mov dword [esp + 0x60], eax
xor dword [esp + 0x60], 0x96cbb26
mov dword [esp + 0x40], 0x420567
imul eax, dword [esp + 0x40], 0x2b
mov dword [esp + 0x40], eax
shr dword [esp + 0x40], 8
xor dword [esp + 0x40], 0x4b329
mov dword [esp + 0x54], 0xd75fdc
add dword [esp + 0x54], 0x1e6b
xor dword [esp + 0x54], 0xdf7832
mov dword [esp + 0x10], 0x2978f4
xor dword [esp + 0x10], 0x1aa3462f
mov ebp, 0xe145aac
imul eax, dword [esp + 0x10], 0x3a
mov dword [esp + 0x10], eax
or dword [esp + 0x10], 0xa828e589
xor dword [esp + 0x10], 0xab738ef3
mov dword [esp + 0x50], 0xea47cd
imul eax, dword [esp + 0x50], 0x68
mov dword [esp + 0x50], eax
xor dword [esp + 0x50], 0x5f2069e4
mov dword [esp + 0x5c], 0x52c32f
or dword [esp + 0x5c], 0xda6d254c
xor dword [esp + 0x5c], 0xda7308ab
mov dword [esp + 0x3c], 0xc39de2
xor dword [esp + 0x3c], 0x402eeacb
add dword [esp + 0x3c], 0xb85a
xor dword [esp + 0x3c], 0x40eaab85
mov dword [esp + 0x38], 0xbb994d
or dword [esp + 0x38], 0xbb22e40
xor dword [esp + 0x38], 0x7c36a9dd
xor dword [esp + 0x38], 0x7782b78d
mov dword [esp + 0x28], 0x6ee7f1
imul eax, dword [esp + 0x28], 3
mov dword [esp + 0x28], eax
imul eax, dword [esp + 0x28], 0x65
mov dword [esp + 0x28], eax
add dword [esp + 0x28], 0xffffc283
xor dword [esp + 0x28], 0x834839c0
mov dword [esp + 0x68], 0x2c076e
shr dword [esp + 0x68], 2
xor dword [esp + 0x68], 0x27705
mov dword [esp + 0x4c], 0x2be47d
shr dword [esp + 0x4c], 3
shl dword [esp + 0x4c], 0x10
xor dword [esp + 0x4c], 0x7c8953c8
mov dword [esp + 0x24], 0x664751
add dword [esp + 0x24], 0xffffb67a
add dword [esp + 0x24], 0xf05a
add dword [esp + 0x24], 0xffff370a
xor dword [esp + 0x24], 0x66b29b
cmp esi, ebp
jg 0x1001c9f8
je 0x1001c9d6
cmp esi, 0x15047ce
je 0x1001c9b4
cmp esi, 0x4d33fe3
je 0x1001c992
cmp esi, 0x708a22e
je 0x1001c96e
cmp esi, 0x70e2d06
jne 0x1001ca34
mov eax, dword [esp + 0x50]
mov eax, dword [esp + 0x10]
mov eax, dword [esp + 0x54]
push ecx
push ecx
call fcn.1000474b
add esp, 8
mov esi, 0x4d33fe3
add edi, eax
jmp 0x1001c919
push dword [esp + 0x2c]
lea edx, [ebx + 0x1c]
push dword [esp + 0x5c]
push dword [esp + 0x38]
mov ecx, dword [esp + 0x40]
call fcn.1001c2f8
add esp, 0xc
mov esi, 0x15047ce
add edi, eax
jmp 0x1001c919
mov eax, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
mov eax, dword [esp + 0x5c]
push ecx
push ecx
call fcn.1000474b
add esp, 8
mov esi, 0xe45b300
add edi, eax
jmp 0x1001c919
mov eax, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
push ecx
push ecx
call fcn.1000474b
add esp, 8
mov esi, 0xe32aaf2
add edi, eax
jmp 0x1001c919
mov eax, dword [esp + 0x40]
mov eax, dword [esp + 0x60]
mov eax, dword [esp + 0x44]
push ecx
push ecx
call fcn.1000474b
add esp, 8
mov esi, 0x70e2d06
add edi, eax
jmp 0x1001c919
cmp esi, 0xe32aaf2
je 0x1001ca1a
cmp esi, 0xe45b300
je 0x1001ca42
cmp esi, 0xe982267
jne 0x1001ca34
mov esi, 0x708a22e
jmp 0x1001c919
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x64]
push ecx
push ecx
call fcn.1000474b
add esp, 8
mov esi, ebp
add edi, eax
cmp esi, 0xce30a1f
jne 0x1001c919
jmp 0x1001ca5f
push dword [esp + 0x24]
lea edx, [ebx + 0x14]
push dword [esp + 0x50]
push dword [esp + 0x70]
mov ecx, dword [esp + 0x34]
call fcn.1001c2f8
add esp, 0xc
add edi, eax
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5c
ret