Function at 0x203f41
Capabilities:
Authenticate hmac

Disassembly:
sub esp, 0x250
mov dword [esp], 0xe399
xor edx, edx
shl dword [esp], 2
mov ecx, 0xf501058
shl dword [esp], 0xe
xor dword [esp], 0xe399001c
mov dword [esp + 4], 0x8f0f
imul eax, dword [esp + 4], 0x29
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x14], eax
xor esi, esi
xor dword [esp + 0x14], 0x16e94e
mov dword [esp + 0x28], 0x725
mov eax, dword [esp + 0x28]
push 0x36
pop edi
div edi
push 0xc
mov dword [esp + 0x2c], eax
xor edx, edx
imul eax, dword [esp + 0x2c], 0x63
pop edi
push 0x4e
mov dword [esp + 0x2c], eax
shl dword [esp + 0x2c], 8
xor dword [esp + 0x2c], 0xca091
mov dword [esp + 0x50], 0x951
shl dword [esp + 0x50], 7
xor dword [esp + 0x50], 0x4989a
mov dword [esp + 0x58], 0x2ad
or dword [esp + 0x58], 0xf8213247
xor dword [esp + 0x58], 0xf82150c2
mov dword [esp + 0x40], 0x8830
shr dword [esp + 0x40], 0xd
shr dword [esp + 0x40], 0xf
xor dword [esp + 0x40], 0x6238
mov dword [esp + 0x18], 0xba20
or dword [esp + 0x18], 0x721cc32f
xor dword [esp + 0x18], 0x721c8c06
mov dword [esp + 0x20], 0x8092
add dword [esp + 0x20], 0xfffffe56
mov eax, dword [esp + 0x20]
div edi
xor edx, edx
mov dword [esp + 0x20], eax
shr dword [esp + 0x20], 3
xor dword [esp + 0x20], 0x5b6
mov dword [esp + 0x48], 0xe99f
add dword [esp + 0x48], 0xfffff8d3
or dword [esp + 0x48], 0x984d7063
xor dword [esp + 0x48], 0x984d8ec7
mov dword [esp + 0x38], 0xc4eb
imul eax, dword [esp + 0x38], 0x5c
pop edi
push 0x21
mov dword [esp + 0x38], eax
add dword [esp + 0x38], 0x75ac
xor dword [esp + 0x38], 0x477921
mov dword [esp + 0x4c], 0x9b3b
add dword [esp + 0x4c], 0xaa1d
xor dword [esp + 0x4c], 0x12776
mov dword [esp + 0x28], 0x8e84
imul eax, dword [esp + 0x28], 0x29
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
div edi
xor edx, edx
mov dword [esp + 0x28], eax
shr dword [esp + 0x28], 0xa
xor dword [esp + 0x28], 0x20e9
mov dword [esp + 0x54], 0xcb2d
mov eax, dword [esp + 0x54]
pop edi
div edi
mov dword [esp + 0x50], eax
xor dword [esp + 0x50], 0x1b4e
mov dword [esp + 0x40], 0x6df7
xor dword [esp + 0x40], 0x414c8853
imul eax, dword [esp + 0x40], 0x75
xor edx, edx
push 0x49
pop edi
mov ebx, 0x3227b83a
mov ebp, 0x2ded9275
mov dword [esp + 0x40], eax
xor dword [esp + 0x40], 0xd824a1d7
mov dword [esp + 0x38], 0xc4f0
xor dword [esp + 0x38], 0x9d070a5f
add dword [esp + 0x38], 0xffff498d
xor dword [esp + 0x38], 0x9d0763b6
mov dword [esp + 0x2c], 0xe384
xor dword [esp + 0x2c], 0xde12aa62
or dword [esp + 0x2c], 0x2c019ae9
xor dword [esp + 0x2c], 0xa4e5f9a5
xor dword [esp + 0x2c], 0x5af67a61
mov dword [esp + 0x20], 0x7d9f
add dword [esp + 0x20], 0x6134
or dword [esp + 0x20], 0x6ccc595a
xor dword [esp + 0x20], 0x58e7ee
xor dword [esp + 0x20], 0x6c9448a2
mov dword [esp + 0x10], 0x396f
imul eax, dword [esp + 0x10], 7
mov dword [esp + 0x10], eax
xor dword [esp + 0x10], 0x10cc7cbf
xor dword [esp + 0x10], 0x10cdfb96
mov dword [esp + 0x30], 0x3078
shl dword [esp + 0x30], 8
mov eax, dword [esp + 0x30]
div edi
mov edi, dword [esp + 0x14]
mov dword [esp + 0x30], eax
add dword [esp + 0x30], 0xffff6a19
xor dword [esp + 0x30], 0xf142e
cmp ecx, ebx
jg 0x2042c3
je 0x204298
cmp ecx, 0xf501058
je 0x20425d
cmp ecx, 0x204dd1d9
je 0x20424e
cmp ecx, 0x24baa30b
je 0x20422c
cmp ecx, ebp
jne 0x204364
push ecx
push ecx
push dword [esp + 0x48]
push dword [esp + 0x24]
push dword [esp + 0x60]
mov edx, dword [esp + 0x38]
push ecx
push dword [0x1001ca2c]
mov ecx, dword [esp + 0x64]
call fcn.001fbac7
add esp, 0x1c
mov ecx, 0x204dd1d9
test eax, eax
push 1
pop eax
cmove esi, eax
jmp 0x2041ca
mov dword [esp + 0x18], 0xe62c
mov ecx, 0x36e33d60
xor dword [esp + 0x18], 0x84d80cbd
xor dword [esp + 0x18], 0x84d8eab8
jmp 0x2041ca
call fcn.001fa512
mov ecx, 0x354eaa90
jmp 0x2041ca
mov eax, dword [esp + 0x54]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x28]
push ecx
push ecx
mov ecx, 0x454
call fcn.001f7b36
mov dword [0x1001ca2c], eax
pop ecx
pop ecx
test eax, eax
je 0x204370
mov dword [eax + 0x214], 0x100120c5
mov ecx, 0x382146c2
jmp 0x2041ca
mov dword [esp + 0x18], 0xc457
shr dword [esp + 0x18], 6
xor dword [esp + 0x18], 0x30d
mov eax, dword [0x1001ca2c]
mov dword [eax + 0x218], 0x10017cc2
mov ecx, ebp
jmp 0x2041ca
cmp ecx, 0x354eaa90
je 0x20432d
cmp ecx, 0x36e33d60
je 0x20431c
cmp ecx, 0x382146c2
jne 0x204364
push dword [esp + 0x30]
push dword [esp + 0x20]
push dword [esp + 0x1c]
push dword [esp + 0x48]
call fcn.001f1d59
mov edi, eax
add esp, 0x10
test edi, edi
je 0x204315
mov eax, dword [0x1001ca2c]
xor ecx, ecx
inc ecx
mov dword [eax + 0x224], ecx
mov ecx, 0x24baa30b
jmp 0x2041ca
mov ecx, ebx
jmp 0x2041ca
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x44]
push edi
call fcn.001f53b2
pop ecx
jmp 0x2042bc
push dword [esp + 0x2c]
lea edx, [esp + 0x5c]
push dword [esp + 0x3c]
call fcn.0020323f
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x60]
mov ecx, dword [esp + 0x28]
push eax
call fcn.001fd69c
mov ecx, dword [0x1001ca2c]
add esp, 0xc
mov dword [ecx + 0x438], eax
mov ecx, 0xae4e76a
cmp ecx, 0xae4e76a
jne 0x2041ca
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x250
ret