Function at 0x290e49
Capabilities:
Authenticate hmac

Disassembly:
sub esp, 0x5c
push ebx
push ebp
push esi
push edi
push 0x40
push dword [esp + 0x74]
push edx
push ecx
call fcn.0028621e
mov dword [esp + 0x64], 0x11d73b
xor ebx, ebx
mov dword [esp + 0x68], ebx
add esp, 0x10
mov dword [esp + 0x50], 0x10
xor edx, edx
mov dword [esp + 0x3c], 0x7f2b
mov ecx, 0x388876ff
add dword [esp + 0x3c], 0xaba4
xor dword [esp + 0x3c], 0x12b4a
mov dword [esp + 0x28], 0xaf7e
shl dword [esp + 0x28], 2
add dword [esp + 0x28], 0x4bd0
xor dword [esp + 0x28], 0x3281c
mov dword [esp + 0x24], 0x481
imul eax, dword [esp + 0x24], 0xa
push 0x64
pop esi
push 0x2a
mov dword [esp + 0x28], eax
xor dword [esp + 0x28], 0x2060e0ce
xor dword [esp + 0x28], 0x206089a3
mov dword [esp + 0x48], 0xd0f6
shr dword [esp + 0x48], 7
xor dword [esp + 0x48], 0x3534
mov dword [esp + 0x14], 0x74c5
shl dword [esp + 0x14], 0xd
mov eax, dword [esp + 0x14]
div esi
xor edx, edx
mov dword [esp + 0x14], eax
or dword [esp + 0x14], 0x9f619725
xor dword [esp + 0x14], 0x9f65dfb9
mov dword [esp + 0x30], 0xd1f8
xor dword [esp + 0x30], 0x561134a6
mov eax, dword [esp + 0x30]
pop esi
div esi
push 0x1d
mov dword [esp + 0x30], eax
xor edx, edx
xor dword [esp + 0x30], 0x20ca460
mov dword [esp + 0x44], 0xbdaf
shl dword [esp + 0x44], 0x10
xor dword [esp + 0x44], 0xbdaf5db8
mov dword [esp + 0x18], 0x1ba4
shr dword [esp + 0x18], 0xb
add dword [esp + 0x18], 0x5fb5
add dword [esp + 0x18], 0xffff822d
xor dword [esp + 0x18], 0xffff9617
mov dword [esp + 0x4c], 0x696e
shl dword [esp + 0x4c], 0xb
xor dword [esp + 0x4c], 0x34b1f09
mov dword [esp + 0x50], 0x75c2
mov eax, dword [esp + 0x50]
pop esi
div esi
push 0x66
mov dword [esp + 0x50], eax
xor edx, edx
xor dword [esp + 0x50], 0x5acf
mov dword [esp + 0x38], 0xb5d1
shr dword [esp + 0x38], 3
mov eax, dword [esp + 0x38]
pop esi
div esi
mov dword [esp + 0x34], eax
xor dword [esp + 0x34], 0x706a
mov dword [esp + 0x18], 0x210e
add dword [esp + 0x18], 0xe17b
add dword [esp + 0x18], 0x36
mov eax, dword [esp + 0x18]
push 0x1c
xor edx, edx
mov edi, 0x2e026cdc
pop esi
div esi
push 0x26
mov dword [esp + 0x1c], eax
xor edx, edx
xor dword [esp + 0x1c], 0x11cc
mov ebp, 0x358228f7
mov dword [esp + 0x34], 0xc444
or dword [esp + 0x34], 0x410404e1
add dword [esp + 0x34], 0x719d
xor dword [esp + 0x34], 0x41050b41
mov dword [esp + 0x24], 0x44de
add dword [esp + 0x24], 0xffff9a26
shr dword [esp + 0x24], 0xd
imul eax, dword [esp + 0x24], 0x65
pop esi
mov dword [esp + 0x20], eax
xor dword [esp + 0x20], 0x32794c5
mov dword [esp + 0x38], 0x4de2
shl dword [esp + 0x38], 0xb
xor dword [esp + 0x38], 0xa657d753
xor dword [esp + 0x38], 0xa43892b0
mov dword [esp + 0x1c], 0x9db0
mov eax, dword [esp + 0x1c]
div esi
mov esi, 0x14abf1fb
mov dword [esp + 0x1c], eax
xor dword [esp + 0x1c], 0x7fe4d7f3
shl dword [esp + 0x1c], 6
xor dword [esp + 0x1c], 0xf934ed45
cmp ecx, esi
je 0x2910dd
cmp ecx, edi
je 0x2910ad
cmp ecx, ebp
je 0x291111
cmp ecx, 0x388876ff
jne 0x291107
mov ecx, esi
jmp 0x291095
lea ecx, [esp + 0x5c]
cmp byte [esp + 0x5c], bl
je 0x2910d9
mov al, byte [ecx]
cmp al, 0x30
jl 0x2910c1
cmp al, 0x39
jle 0x2910d4
cmp al, 0x61
jl 0x2910c9
cmp al, 0x7a
jle 0x2910d4
cmp al, 0x41
jl 0x2910d1
cmp al, 0x5a
jle 0x2910d4
mov byte [ecx], 0x58
inc ecx
cmp byte [ecx], bl
jne 0x2910b7
mov ecx, ebp
jmp 0x291095
lea eax, [esp + 0x5c]
push eax
push dword [esp + 0x28]
lea ecx, [esp + 0x58]
push dword [esp + 0x30]
mov edx, dword [esp + 0x48]
call fcn.0029238c
add esp, 0xc
test eax, eax
je 0x291102
mov ecx, edi
jmp 0x291095
mov ecx, 0x1cc14558
cmp ecx, 0x1cc14558
jne 0x291095
jmp 0x291178
push dword [esp + 0x40]
push 0x29d9c0
push dword [esp + 0x34]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x50]
call fcn.0028f6e3
mov esi, eax
mov eax, dword [esp + 0x54]
mov eax, dword [esp + 0x20]
call fcn.002949ef
mov ecx, dword [esp + 0x7c]
lea edx, [esp + 0x68]
push esi
push eax
push dword [esp + 0x44]
push dword [esp + 0x30]
push dword [esp + 0x50]
push 0x40
push dword [esp + 0x70]
call fcn.0028f6a2
push dword [esp + 0x44]
xor ebx, ebx
mov ecx, esi
push dword [esp + 0x64]
mov edx, dword [esp + 0x50]
test eax, eax
setg bl
call fcn.00289116
add esp, 0x30
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
add esp, 0x5c
ret