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

Disassembly:
sub esp, 0x6d4
mov dword [esp + 0xb0], 0x10dfc4
xor ecx, ecx
mov dword [esp + 0xb4], ecx
xor edx, edx
mov dword [esp + 0xb8], ecx
mov dword [esp + 0x78], 0x7dfd9c
or dword [esp + 0x78], 0x63be1b23
xor dword [esp + 0x78], 0x63ffff96
mov dword [esp + 0x50], 0xad87b0
xor dword [esp + 0x50], 0xe036969
or dword [esp + 0x50], 0x5a66fde0
xor dword [esp + 0x50], 0xdeeefff8
mov dword [esp], 0xf8f5ad
imul eax, dword [esp], 0x67
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x10], eax
mov edi, 0x807f73b
xor dword [esp + 0x10], 0x35dd009f
shr dword [esp + 0x10], 8
xor dword [esp + 0x10], 0x51f7da
mov dword [esp + 0x18], 0xc47e7f
imul eax, dword [esp + 0x18], 0x6b
push 0x47
mov dword [esp + 0xbc], ecx
pop ecx
push 0x19
mov dword [esp + 0x1c], eax
shl dword [esp + 0x1c], 7
xor dword [esp + 0x1c], 0xea005a01
xor dword [esp + 0x1c], 0xfa6fd080
mov dword [esp + 0xb8], 0xdbbc1f
add dword [esp + 0xb8], 0xffff2bd9
xor dword [esp + 0xb8], 0xdf1081
mov dword [esp + 0x54], 0x9587b1
mov eax, dword [esp + 0x54]
div ecx
xor edx, edx
mov dword [esp + 0x54], eax
add dword [esp + 0x54], 0x9683
xor dword [esp + 0x54], 0x23433
mov dword [esp + 0x34], 0x9b70a1
imul eax, dword [esp + 0x34], 0x48
pop ecx
mov dword [esp + 0x30], eax
xor dword [esp + 0x30], 0xa4af49c6
shl dword [esp + 0x30], 0xa
xor dword [esp + 0x30], 0x63933fa3
mov dword [esp + 0x80], 0x15b114
or dword [esp + 0x80], 0x5d24bdff
xor dword [esp + 0x80], 0x5d3b7924
mov dword [esp + 0x4c], 0x1132c7
xor dword [esp + 0x4c], 0xcc2c5e32
shl dword [esp + 0x4c], 0xf
xor dword [esp + 0x4c], 0xb6775683
mov dword [esp + 0x78], 0xb47bf9
shr dword [esp + 0x78], 5
xor dword [esp + 0x78], 0xd389d
mov dword [esp + 0xa0], 0x4d33a3
imul eax, dword [esp + 0xa0], 0x42
mov dword [esp + 0xa0], eax
xor dword [esp + 0xa0], 0x13e53c96
mov dword [esp + 0x84], 0xbd2a4b
xor dword [esp + 0x84], 0x7f655b0
xor dword [esp + 0x84], 0x74f1d51
mov dword [esp + 0x3c], 0x4950ce
xor dword [esp + 0x3c], 0x552d7291
imul eax, dword [esp + 0x3c], 0x65
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x3c]
div ecx
mov dword [esp + 0x3c], eax
xor dword [esp + 0x3c], 0x709bdd2
mov dword [esp + 0x34], 0x3289c
shr dword [esp + 0x34], 3
or dword [esp + 0x34], 0xe3c1a73e
imul eax, dword [esp + 0x34], 0x75
mov dword [esp + 0x34], eax
xor dword [esp + 0x34], 0x17925b98
mov dword [esp + 0x7c], 0x54646e
xor edx, edx
add dword [esp + 0x7c], 0xf29b
xor dword [esp + 0x7c], 0x55b732
mov dword [esp + 0x2c], 0x76c2a7
mov eax, dword [esp + 0x2c]
push 0x5f
pop ecx
div ecx
push 0x7d
mov dword [esp + 0x30], eax
xor edx, edx
imul eax, dword [esp + 0x30], 0x5b
pop ecx
push 7
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
div ecx
xor edx, edx
mov dword [esp + 0x30], eax
xor dword [esp + 0x30], 0xe1165
mov dword [esp + 0x48], 0x1c1b14
or dword [esp + 0x48], 0x55587a2c
mov eax, dword [esp + 0x48]
pop ecx
div ecx
push 0x76
mov dword [esp + 0x48], eax
xor edx, edx
imul eax, dword [esp + 0x48], 0x36
pop ecx
push 0x7e
pop esi
mov dword [esp + 0x44], eax
xor dword [esp + 0x44], 0x9288eb4c
mov dword [esp + 0x48], 0xa7c0b8
xor dword [esp + 0x48], 0xe661217f
shl dword [esp + 0x48], 0xe
xor dword [esp + 0x48], 0xb87f54c8
mov dword [esp + 0x8c], 0xd9c1b6
mov eax, dword [esp + 0x8c]
div ecx
xor edx, edx
mov dword [esp + 0x8c], eax
xor dword [esp + 0x8c], 0x62d0a
mov dword [esp + 0xac], 0xcfe2b4
add dword [esp + 0xac], 0xffff0542
xor dword [esp + 0xac], 0xc47295
mov dword [esp + 0x20], 0xcbbc7c
add dword [esp + 0x20], 0xfffffcca
add dword [esp + 0x20], 0xffff7a64
or dword [esp + 0x20], 0x1d59801
xor dword [esp + 0x20], 0x1d2c7d5
mov dword [esp + 0x14], 0xbf15cd
add dword [esp + 0x14], 0xe46f
xor dword [esp + 0x14], 0x415175c0
or dword [esp + 0x14], 0xf5dc7ac4
xor dword [esp + 0x14], 0xf5f8d1c6
mov dword [esp + 0x28], 0xde04ad
shr dword [esp + 0x28], 6
xor dword [esp + 0x28], 0x23d11e83
mov eax, dword [esp + 0x28]
div esi
mov dword [esp + 0x28], eax
xor dword [esp + 0x28], 0x4e01e3
mov dword [esp + 0x98], 0x2b2abe
xor dword [esp + 0x98], 0xc12e498e
xor dword [esp + 0x98], 0xc107c08a
mov dword [esp + 0xa4], 0xc30b60
add dword [esp + 0xa4], 0x96d9
xor dword [esp + 0xa4], 0xc35f7c
mov dword [esp + 0x40], 0xf32ce1
add dword [esp + 0x40], 0x4db2
add dword [esp + 0x40], 0x311c
shl dword [esp + 0x40], 4
xor dword [esp + 0x40], 0xf3c0e6a
mov dword [esp + 0x74], 0x8f22ba
imul eax, dword [esp + 0x74], 0x43
mov dword [esp + 0x74], eax
xor dword [esp + 0x74], 0x25781db6
mov dword [esp + 0x58], 0x1a5b3
or dword [esp + 0x58], 0x7696d33
xor edx, edx
add dword [esp + 0x58], 0xffffd66c
mov ebp, 0x6e61f4f
xor dword [esp + 0x58], 0x76625cc
mov dword [esp + 0x24], 0x5812d8
shl dword [esp + 0x24], 1
imul eax, dword [esp + 0x24], 0x25
push 0xb
pop ecx
push 0x3f
mov ebx, dword [esp + 0xbc]
mov dword [esp + 0x28], eax
or dword [esp + 0x28], 0xc4af1bea
xor dword [esp + 0x28], 0xddf52eab
mov dword [esp + 0x20], 0x10ca3b
shl dword [esp + 0x20], 0x10
imul eax, dword [esp + 0x20], 0x5f
mov dword [esp + 0x20], eax
add dword [esp + 0x20], 0xffffca6a
xor dword [esp + 0x20], 0xbef2ac3
mov dword [esp + 0xac], 0x652e67
shl dword [esp + 0xac], 0x10
xor dword [esp + 0xac], 0x2e6c20a3
mov dword [esp + 0x94], 0xeaceba
shl dword [esp + 0x94], 9
xor dword [esp + 0x94], 0xd5963bd6
mov dword [esp + 0x6c], 0xec24a3
add dword [esp + 0x6c], 0xffff7db5
xor dword [esp + 0x6c], 0xc21910ac
xor dword [esp + 0x6c], 0xc2fc55f6
mov dword [esp + 0x3c], 0x50d28f
add dword [esp + 0x3c], 0x9820
or dword [esp + 0x3c], 0xc2e760dd
mov eax, dword [esp + 0x3c]
div ecx
xor edx, edx
mov dword [esp + 0x3c], eax
xor dword [esp + 0x3c], 0x11b8a3a1
mov dword [esp + 0xb4], 0x208149
shl dword [esp + 0xb4], 0xb
xor dword [esp + 0xb4], 0x4051a2e
mov dword [esp + 0x60], 0x161969
imul eax, dword [esp + 0x60], 0x50
pop ecx
push 0x62
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x60]
div ecx
xor edx, edx
mov dword [esp + 0x60], eax
xor dword [esp + 0x60], 0x1c68c4
mov dword [esp + 0x68], 0x5e2b52
xor dword [esp + 0x68], 0x9e2db5d7
shl dword [esp + 0x68], 0xd
xor dword [esp + 0x68], 0x73dbd8fe
mov dword [esp + 0x58], 0x533ae6
or dword [esp + 0x58], 0xcce49a03
mov eax, dword [esp + 0x58]
pop ecx
div ecx
xor edx, edx
mov dword [esp + 0x54], eax
xor dword [esp + 0x54], 0x216b3d7
mov dword [esp + 0x6c], 0x5bfcb3
add dword [esp + 0x6c], 0xffffc25a
shl dword [esp + 0x6c], 3
xor dword [esp + 0x6c], 0x2da46b6
mov dword [esp + 0x9c], 0xeaabb
shr dword [esp + 0x9c], 0xb
xor dword [esp + 0x9c], 0x37a73
mov dword [esp + 0x70], 0x5c296a
or dword [esp + 0x70], 0xa4296d25
shr dword [esp + 0x70], 0x10
xor dword [esp + 0x70], 0x7b498
mov dword [esp + 0x94], 0x552e5f
mov eax, dword [esp + 0x94]
div esi
mov dword [esp + 0x94], eax
xor dword [esp + 0x94], 0x12aa7
push 0x5c
pop ecx
mov eax, 0xffeb38a
cmp edi, 0x1220f3b
je 0xfe4182
cmp edi, 0x4cadb2b
je 0xfe4162
cmp edi, ebp
je 0xfe40de
cmp edi, 0x807f73b
je 0xfe40a1
cmp edi, 0x9a4417c
je 0xfe422b
cmp edi, eax
jne 0xfe421d
push dword [esp + 0x68]
mov ecx, dword [esp + 0x94]
lea edx, [esp + 0xd0]
call fcn.00fd4d5e
pop ecx
push dword [esp + 0x6c]
lea ecx, [esp + 0xd0]
push dword [esp + 0x58]
lea eax, [eax*2 + 2]
push dword [esp + 0x6c]
push dword [esp + 0xc8]
push ebx
push dword [esp + 0x70]
push ecx
push eax
push ecx
push dword [esp + 0xd4]
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x40]
call 0xff2298
xor ecx, ecx
add esp, 0x28
test eax, eax
mov edi, 0x9a4417c
sete cl
mov dword [esp + 0xb8], ecx
jmp 0xfe3fe9
push dword [esp + 0x4c]
lea eax, [esp + 0x4e0]
push dword [esp + 0x84]
push ecx
push dword [esp + 0x3c]
push dword [esp + 0x60]
push dword [esp + 0xc8]
mov edx, dword [esp + 0xa0]
push ecx
push eax
call fcn.00fe6150
add esp, 0x20
mov edi, 0x1220f3b
jmp 0xfe3fe9
push dword [esp + 0x20]
mov ecx, dword [esp + 0xb0]
mov edx, 0xfd12dc
call fcn.00fdf672
pop ecx
push dword [esp + 0x58]
mov esi, eax
lea eax, [esp + 0xc0]
push dword [esp + 0x78]
push dword [esp + 0x48]
push eax
push dword [esp + 0xb4]
push ecx
push dword [esp + 0xb0]
push esi
push dword [esp + 0x48]
push ecx
push dword [esp + 0x88]
push dword [esp + 0x3c]
mov edx, dword [esp + 0x44]
push ecx
push ecx
call fcn.00feaba9
push dword [esp + 0xe0]
test eax, eax
mov edi, 0xade32b3
push dword [esp + 0x58]
mov edx, dword [esp + 0x64]
mov eax, 0xffeb38a
mov ecx, esi
cmove edi, eax
call fcn.00fdcea2
add esp, 0x40
jmp 0xfe4215
mov ebx, dword [0xff321c]
add ebx, 0x22c
jmp 0xfe4173
add ebx, 2
cmp word [ebx], cx
jne 0xfe4170
add ebx, 2
mov edi, ebp
jmp 0xfe3fec
push dword [esp + 0xa0]
mov ecx, dword [esp + 0x7c]
mov edx, 0xfd127c
call fcn.00fdf672
lea ecx, [esp + 0x2d8]
mov esi, eax
call fcn.00fec4cc
push dword [esp + 0x30]
lea eax, [esp + 0xd4]
mov ecx, 0x104
push esi
push eax
lea eax, [esp + 0x2e4]
push eax
lea eax, [esp + 0x4f0]
push eax
push dword [esp + 0x94]
mov eax, dword [0xff321c]
add eax, 0x24
push eax
push dword [esp + 0x54]
push dword [esp + 0x60]
push dword [esp + 0xac]
mov edx, dword [0xff321c]
lea edx, [edx + 0x22c]
call fcn.00ff006a
push dword [esp + 0xb8]
mov ecx, esi
push dword [esp + 0x78]
mov edx, dword [esp + 0x78]
call fcn.00fdcea2
add esp, 0x34
mov edi, 0x4cadb2b
push 0x5c
mov eax, 0xffeb38a
pop ecx
cmp edi, 0xade32b3
jne 0xfe3ff1
jmp 0xfe424b
push dword [esp + 0xbc]
push dword [esp + 0x98]
mov edx, dword [esp + 0x78]
mov ecx, dword [esp + 0xa4]
call fcn.00fe6521
pop ecx
pop ecx
mov eax, dword [esp + 0xb8]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6d4
ret