Function at 0x10003228
Capabilities:
Authenticate hmac
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x4c0
mov dword [esp + 0xa4], 0x1cb5a8
mov dword [esp + 0xa8], 0x505ffa
push ebx
push ebp
push esi
push edi
xor edi, edi
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xbc], edi
mov ebp, edx
mov dword [esp + 0x30], 0x376c
xor edx, edx
shl dword [esp + 0x30], 3
mov esi, 0xe980b9f
add dword [esp + 0x30], 0xffff79a1
add dword [esp + 0x30], 0x5a99
xor dword [esp + 0x30], 0x18f98
mov dword [esp + 0x7c], 0xd2fb
add dword [esp + 0x7c], 0xc9d
xor dword [esp + 0x7c], 0xdf88
mov dword [esp + 0x50], 0x1f52
or dword [esp + 0x50], 0x4d6b1b5a
shr dword [esp + 0x50], 7
xor dword [esp + 0x50], 0x409ad63e
mov dword [esp + 0x64], 0xb688
mov eax, dword [esp + 0x64]
push 0x15
pop ecx
div ecx
push 0x74
mov dword [esp + 0x68], eax
xor edx, edx
xor dword [esp + 0x68], 0xfe7853c5
xor dword [esp + 0x68], 0xfe7823fa
mov dword [esp + 0x14], 0x1176
imul eax, dword [esp + 0x14], 0x26
pop ecx
push 0x5f
mov dword [esp + 0x14], eax
add dword [esp + 0x14], 0xffff909d
add dword [esp + 0x14], 0xffffdc13
xor dword [esp + 0x14], 0x201fd
mov dword [esp + 0x94], 0xba7a
shl dword [esp + 0x94], 0xa
xor dword [esp + 0x94], 0x2e990c5
mov dword [esp + 0x24], 0xa3c4
or dword [esp + 0x24], 0x9ff723c2
mov eax, dword [esp + 0x24]
div ecx
xor edx, edx
mov dword [esp + 0x24], eax
add dword [esp + 0x24], 0x3928
xor dword [esp + 0x24], 0x1616723
mov dword [esp + 0x1c], 0x7213
or dword [esp + 0x1c], 0x351e9b59
imul eax, dword [esp + 0x1c], 0x1d
pop ecx
mov dword [esp + 0x18], eax
shr dword [esp + 0x18], 3
xor dword [esp + 0x18], 0x904fb7
mov dword [esp + 0x5c], 0x297a
or dword [esp + 0x5c], 0x66c43148
add dword [esp + 0x5c], 0xbef6
xor dword [esp + 0x5c], 0x66c4e3a8
mov dword [esp + 0xa8], 0xb108
add dword [esp + 0xa8], 0xffffb23b
xor dword [esp + 0xa8], 0x3984
mov dword [esp + 0x60], 0x972c
or dword [esp + 0x60], 0x55a95463
shl dword [esp + 0x60], 3
xor dword [esp + 0x60], 0xad4eaf49
mov dword [esp + 0x38], 0xedfb
mov eax, dword [esp + 0x38]
div ecx
mov dword [esp + 0x38], eax
add dword [esp + 0x38], 0xffffecb7
shl dword [esp + 0x38], 0xe
xor dword [esp + 0x38], 0xfbce5bfc
mov dword [esp + 0x44], 0x5f66
shl dword [esp + 0x44], 8
imul eax, dword [esp + 0x44], 0x4b
mov dword [esp + 0x44], eax
xor edx, edx
xor dword [esp + 0x44], 0x1bf2eb8b
mov dword [esp + 0x74], 0xc9a
add dword [esp + 0x74], 0x2510
xor dword [esp + 0x74], 0x1e79
mov dword [esp + 0x58], 0xe86a
mov eax, dword [esp + 0x58]
push 0x5c
pop ecx
div ecx
push 0x79
mov dword [esp + 0x5c], eax
xor edx, edx
add dword [esp + 0x5c], 0xffff7371
xor dword [esp + 0x5c], 0xffff2425
mov dword [esp + 0x84], 0xcc82
add dword [esp + 0x84], 0xc6d3
xor dword [esp + 0x84], 0x1c52d
mov dword [esp + 0xb0], 0x36af
mov eax, dword [esp + 0xb0]
pop ebx
div ebx
mov dword [esp + 0xac], eax
xor dword [esp + 0xac], 0xe87
mov dword [esp + 0x4c], 0x72c3
add dword [esp + 0x4c], 0xfe00
add dword [esp + 0x4c], 0xffffcf74
xor dword [esp + 0x4c], 0x17982
mov dword [esp + 0x88], 0xe5b8
add dword [esp + 0x88], 0xffff64c8
xor dword [esp + 0x88], 0x4835
mov dword [esp + 0x3c], 0xe83b
xor dword [esp + 0x3c], 0x50645aeb
shl dword [esp + 0x3c], 4
shr dword [esp + 0x3c], 0xe
xor dword [esp + 0x3c], 0x50c9
mov dword [esp + 0x34], 0x9196
shr dword [esp + 0x34], 9
shr dword [esp + 0x34], 5
shl dword [esp + 0x34], 5
xor dword [esp + 0x34], 0x7a23
mov dword [esp + 0x24], 0x47d0
or dword [esp + 0x24], 0x92809c60
xor dword [esp + 0x24], 0xaa14077
shr dword [esp + 0x24], 9
xor dword [esp + 0x24], 0x4c1604
mov dword [esp + 0x54], 0xa739
mov eax, dword [esp + 0x54]
mov dword [esp + 0x54], eax
xor dword [esp + 0x54], 0xf1b351c6
xor dword [esp + 0x54], 0xf1b3adaf
mov dword [esp + 0x6c], 0x41b6
add dword [esp + 0x6c], 0x2b93
shr dword [esp + 0x6c], 6
xor dword [esp + 0x6c], 0x38f9
mov dword [esp + 0x94], 0xf0c0
imul eax, dword [esp + 0x94], 0x45
mov dword [esp + 0x94], eax
xor dword [esp + 0x94], 0x40ff8e
mov dword [esp + 0x8c], 0x53d0
or dword [esp + 0x8c], 0x714ab1e7
xor dword [esp + 0x8c], 0x714af8de
mov dword [esp + 0x28], 0xe7ca
or dword [esp + 0x28], 0x74901d91
shr dword [esp + 0x28], 2
shl dword [esp + 0x28], 2
xor dword [esp + 0x28], 0x7490bdaa
mov dword [esp + 0x84], 0x4172
imul eax, dword [esp + 0x84], 0x69
mov dword [esp + 0x84], eax
xor dword [esp + 0x84], 0x1ac2d4
mov dword [esp + 0x78], 0xc4a2
or dword [esp + 0x78], 0xb1071ce6
xor dword [esp + 0x78], 0xb107e3cc
mov dword [esp + 0x98], 0xafb5
shr dword [esp + 0x98], 5
xor dword [esp + 0x98], 0x50c6
mov dword [esp + 0x48], 0x5e6d
add dword [esp + 0x48], 0xffff30ef
shl dword [esp + 0x48], 6
xor dword [esp + 0x48], 0xffe3f79c
xor edx, edx
mov dword [esp + 0xa4], 0xfcdb
shl dword [esp + 0xa4], 0xd
xor dword [esp + 0xa4], 0x1f9b008b
mov dword [esp + 0x1c], 0x2d62
shr dword [esp + 0x1c], 7
mov eax, dword [esp + 0x1c]
push 0x36
pop ecx
div ecx
xor edx, edx
mov dword [esp + 0x1c], eax
add dword [esp + 0x1c], 0xffff17c7
xor dword [esp + 0x1c], 0xffff0d36
mov dword [esp + 0xa0], 0xd9f3
add dword [esp + 0xa0], 0x7ef3
xor dword [esp + 0xa0], 0x14615
mov dword [esp + 0x2c], 0x45e6
or dword [esp + 0x2c], 0xb2517b85
add dword [esp + 0x2c], 0xffff8485
mov eax, dword [esp + 0x2c]
push 0x47
pop ecx
div ecx
xor edx, edx
mov dword [esp + 0x2c], eax
xor dword [esp + 0x2c], 0x28281f3
mov dword [esp + 0x14], 0x40cf
mov eax, dword [esp + 0x14]
push 0x54
pop ecx
div ecx
xor edx, edx
mov dword [esp + 0x14], eax
shr dword [esp + 0x14], 0xf
add dword [esp + 0x14], 0xffffcfbb
xor dword [esp + 0x14], 0xffffd245
mov dword [esp + 0x70], 0xec9
or dword [esp + 0x70], 0x66abf62f
shr dword [esp + 0x70], 2
xor dword [esp + 0x70], 0x19aa8e93
mov dword [esp + 0x9c], 0xb92f
shl dword [esp + 0x9c], 0xa
xor dword [esp + 0x9c], 0x2e4dd06
mov dword [esp + 0x40], 0xf9b7
xor dword [esp + 0x40], 0xd32ba56e
add dword [esp + 0x40], 0xffff6d4c
mov eax, dword [esp + 0x40]
div ebx
mov ebx, dword [esp + 0xb0]
mov dword [esp + 0x40], eax
xor dword [esp + 0x40], 0x1bea26b
mov dword [esp + 0x68], 0x7664
shr dword [esp + 0x68], 0xc
add dword [esp + 0x68], 0xffff8a59
xor dword [esp + 0x68], 0xffff9898
cmp esi, 0x4166320
je 0x100039b3
cmp esi, 0x5d953cf
je 0x1000398e
cmp esi, 0xe980b9f
je 0x10003984
cmp esi, 0x1c525ebd
je 0x10003926
cmp esi, 0x273bc967
je 0x100038d8
cmp esi, 0x2c6b1ef9
je 0x10003853
cmp esi, 0x35123284
jne 0x100039d5
push dword [ebp]
lea ecx, [ebp + 4]
push ecx
push ebx
push dword [esp + 0x20]
push dword [esp + 0x3c]
push ecx
push dword [esp + 0xb8]
push dword [esp + 0x38]
mov edx, dword [esp + 0xc4]
mov ecx, dword [ecx]
call fcn.10002b8b
xor ecx, ecx
add esp, 0x20
inc ecx
mov esi, 0x4166320
test eax, eax
cmovne edi, ecx
jmp 0x100037c4
push dword [esp + 0x4d4]
push dword [esp + 0x84]
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x7c]
call fcn.1001cb25
push dword [esp + 0x44]
mov edx, dword [esp + 0xbc]
mov esi, eax
push dword [esp + 0x94]
mov ecx, dword [esp + 0x4e8]
lea eax, [esp + 0xd0]
push dword [esp + 0x5c]
push eax
lea eax, [esp + 0x2e0]
push eax
push 0x104
push dword [esp + 0xcc]
push esi
call fcn.100170ec
push esi
push dword [esp + 0x98]
push dword [esp + 0x84]
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x68]
call fcn.1001d1f7
add esp, 0x34
mov esi, 0x1c525ebd
jmp 0x100037c4
lea eax, [esp + 0xc0]
push eax
push dword [esp + 0x94]
push dword [esp + 0x18]
mov edx, dword [esp + 0x70]
call fcn.1000980c
lea eax, [esp + 0xcc]
push eax
push dword [esp + 0xb8]
push dword [esp + 0x70]
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x38]
call fcn.10002a13
add esp, 0x18
mov esi, 0x5d953cf
xor ecx, ecx
mov word [eax], cx
jmp 0x100037c4
push dword [esp + 0x48]
xor edx, edx
push dword [esp + 0x9c]
push dword [esp + 0x80]
push dword [esp + 0x88]
push dword [esp + 0x4e8]
push ecx
push dword [esp + 0x9c]
push dword [esp + 0x6c]
push ecx
push dword [esp + 0x4c]
push dword [esp + 0xb4]
push dword [esp + 0xc0]
mov ecx, dword [esp + 0x60]
call fcn.1000552a
mov ebx, eax
add esp, 0x30
cmp ebx, 0xffffffff
je 0x100039e1
mov esi, 0x35123284
jmp 0x100037c4
mov esi, 0x273bc967
jmp 0x100037c4
lea eax, [esp + 0x2c8]
push eax
push dword [esp + 0x48]
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x68]
call fcn.10019268
pop ecx
pop ecx
mov esi, 0x2c6b1ef9
jmp 0x100037c4
push dword [esp + 0x68]
mov ecx, ebx
push dword [esp + 0x44]
push dword [esp + 0xa4]
mov edx, dword [esp + 0x7c]
call fcn.100084f0
add esp, 0xc
mov esi, 0x2a923978
cmp esi, 0x2a923978
jne 0x100037c4
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c0
ret