Function at 0x41e820
Capabilities:
Authenticate hmac

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x350
mov esi, esp
lea eax, [0x447c00]
mov dword [esi + 0x2bc], eax
mov dword [esi + 0x2b8], 0x19
mov al, byte [esi + 0xcc]
mov byte [esi + 0xe4], al
mov byte [esi + 0xd0], 0x19
mov byte [esi + 0xd1], 0xbb
mov byte [esi + 0xd2], 0x21
mov byte [esi + 0xd3], 0xb9
mov byte [esi + 0xd4], 0x37
mov byte [esi + 0xd5], 0xbf
mov byte [esi + 0xd6], 0x6a
mov byte [esi + 0xd7], 0xbd
mov byte [esi + 0xd8], 0x6e
mov byte [esi + 0xd9], 0xb3
mov byte [esi + 0xda], 0x56
mov byte [esi + 0xdb], 0xb1
mov byte [esi + 0xdc], 0x56
mov byte [esi + 0xdd], 0xb7
mov byte [esi + 0xde], 0xb6
mov byte [esi + 0xdf], 0xb5
mov eax, 0x10
mov byte [esi + eax + 0xd0], 0
add eax, 1
cmp eax, 0x13
jne 0x41e8c8
xor eax, eax
cmp eax, 0x13
jae 0x41e8fc
mov cl, byte [esi + eax + 0xd0]
mov dl, al
add dl, 0x5f
xor dl, cl
add dl, 0x25
mov byte [esi + eax + 0xd0], dl
add eax, 1
jmp 0x41e8da
lea eax, [esi + 0xd0]
sub esp, 0xc
mov ecx, dword [ebp + 8]
mov dword [esp], ecx
mov ecx, dword [ebp + 0xc]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00417a80
add esp, 0xc
and al, 1
movzx edi, al
mov al, byte [esi + 0xc8]
mov byte [esi + 0xe8], al
mov byte [esi + 0x14c], 0x87
mov byte [esi + 0x14d], 0x19
mov byte [esi + 0x14e], 0x8b
mov byte [esi + 0x14f], 0x17
mov byte [esi + 0x150], 0x9a
mov byte [esi + 0x151], 0x15
mov byte [esi + 0x152], 0x9e
mov byte [esi + 0x153], 0x13
mov byte [esi + 0x154], 0x59
mov byte [esi + 0x155], 0x11
mov byte [esi + 0x156], 0x5c
mov byte [esi + 0x157], 0xf
mov byte [esi + 0x158], 0x90
mov byte [esi + 0x159], 0xd
mov byte [esi + 0x15a], 0x94
mov byte [esi + 0x15b], 0xb
mov byte [esi + 0x15c], 8
mov byte [esi + 0x15d], 9
mov eax, 0x12
mov byte [esi + eax + 0x14c], 0
add eax, 1
cmp eax, 0x18
jne 0x41e9b2
xor eax, eax
cmp eax, 0x18
jae 0x41e9e6
mov cl, byte [esi + eax + 0x14c]
mov dl, al
add dl, 6
xor dl, cl
add dl, 0xe2
mov byte [esi + eax + 0x14c], dl
add eax, 1
jmp 0x41e9c4
sub esp, 0xc
lea eax, [esi + 0x14c]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00417a80
add esp, 0xc
movzx eax, al
mov ecx, eax
and ecx, edi
add edi, eax
sub edi, ecx
setne byte [esi + 3]
mov eax, dword [esi + 0x2b8]
mov ecx, dword [esi + 0x2bc]
mov eax, dword [ecx + eax*4]
push eax
mov ebx, esp
mov dword [ebx], 0x447d84
push eax
mov edi, esp
push eax
mov ecx, esp
mov dword [esi + 0x1b4], ecx
mov dword [ecx], 0x447d8c
push eax
mov dword [esi + 0x1b0], esp
push eax
mov ecx, esp
mov dword [esi + 0x1ac], ecx
mov dword [ecx], 0x447c00
push eax
mov ecx, esp
mov dword [esi + 0x1a8], ecx
mov dword [ecx], 0x1c
push eax
mov ecx, esp
mov dword [esi + 0x1cc], ecx
mov dword [ecx], 0x447d94
push eax
mov dword [esi + 0x1c8], esp
push eax
mov ecx, esp
mov dword [esi + 0x1c4], ecx
mov dword [ecx], 0x447c00
push eax
mov ecx, esp
mov dword [esi + 0x1c0], ecx
mov dword [ecx], 0x3b
push eax
mov ecx, esp
mov dword [esi + 0x1bc], ecx
mov dword [ecx], 0x447d9c
push eax
mov dword [esi + 0x1b8], esp
push eax
mov ecx, esp
mov dword [esi + 0x1ec], ecx
mov dword [ecx], 0x447da4
push eax
mov dword [esi + 0x1e0], esp
push eax
mov ecx, esp
mov dword [esi + 0x1e8], ecx
mov dword [ecx], 0x447dac
push eax
mov dword [esi + 0x1dc], esp
push eax
mov ecx, esp
mov dword [esi + 0x1e4], ecx
mov dword [ecx], 0x447db4
push eax
mov dword [esi + 0x1d8], esp
push eax
mov ecx, esp
mov dword [esi + 0x1fc], ecx
mov dword [ecx], 0x447dbc
push eax
mov dword [esi + 0x1f4], esp
push eax
mov ecx, esp
mov dword [esi + 0x1f8], ecx
mov dword [ecx], 0x447dc4
push eax
mov dword [esi + 0x1f0], esp
push eax
mov ecx, esp
mov dword [esi + 0x204], ecx
mov dword [ecx], 0x447dcc
push eax
mov dword [esi + 0x200], esp
push eax
mov ecx, esp
mov dword [esi + 0x21c], ecx
mov dword [ecx], 0x447dd4
push eax
mov dword [esi + 0x210], esp
push eax
mov ecx, esp
mov dword [esi + 0x218], ecx
mov dword [ecx], 0x447ddc
push eax
mov dword [esi + 0x20c], esp
push eax
mov ecx, esp
mov dword [esi + 0x224], ecx
mov dword [ecx], 0x447de4
push eax
mov dword [esi + 0x220], esp
push eax
mov ecx, esp
mov dword [esi + 0x214], ecx
mov dword [ecx], 0x447c00
push eax
mov ecx, esp
mov dword [esi + 0x208], ecx
mov dword [ecx], 0x29
push eax
mov ecx, esp
mov dword [esi + 0x290], ecx
mov dword [ecx], 0x447dec
push eax
mov dword [esi + 0x288], esp
push eax
mov ecx, esp
mov dword [esi + 0x284], ecx
mov dword [ecx], 0x447c00
push eax
mov ecx, esp
mov dword [esi + 0x280], ecx
mov dword [ecx], 0x32
push eax
mov ecx, esp
mov dword [esi + 0x27c], ecx
mov dword [ecx], 0x447df4
push eax
mov dword [esi + 0x278], esp
push eax
mov ecx, esp
mov dword [esi + 0x274], ecx
mov dword [ecx], 0x447c00
push eax
mov ecx, esp
mov dword [esi + 0x270], ecx
mov dword [ecx], 0x31
push eax
mov ecx, esp
mov dword [esi + 0x26c], ecx
mov dword [ecx], 0x447dfc
push eax
mov dword [esi + 0x268], esp
push eax
mov ecx, esp
mov dword [esi + 0x264], ecx
mov dword [ecx], 0x447c00
push eax
mov ecx, esp
mov dword [esi + 0x260], ecx
mov dword [ecx], 0x2f
push eax
mov ecx, esp
mov dword [esi + 0x25c], ecx
mov dword [ecx], 0x447c00
push eax
mov ecx, esp
mov dword [esi + 0x258], ecx
mov dword [ecx], 0x30
push eax
mov ecx, esp
mov dword [esi + 0x254], ecx
mov dword [ecx], 0x447c00
push eax
mov ecx, esp
mov dword [esi + 0x250], ecx
mov dword [ecx], 0x31
push eax
mov ecx, esp
mov dword [esi + 0x24c], ecx
mov dword [ecx], 0x447c00
push eax
mov ecx, esp
mov dword [esi + 0x244], ecx
mov dword [ecx], 0x29
push eax
mov ecx, esp
mov dword [esi + 0x248], ecx
mov dword [ecx], 0x447c00
push eax
mov ecx, esp
mov dword [esi + 0x238], ecx
mov dword [ecx], 0x33
push eax
mov ecx, esp
mov dword [esi + 0x240], ecx
mov dword [ecx], 0x447e04
push eax
mov dword [esi + 0x234], esp
push eax
mov ecx, esp
mov dword [esi + 0x23c], ecx
mov dword [ecx], 0x447c00
push eax
mov ecx, esp
mov dword [esi + 0x230], ecx
mov dword [ecx], 0x35
push eax
mov ecx, esp
mov dword [esi + 0x22c], ecx
mov dword [ecx], 0x447c00
push eax
mov ecx, esp
mov dword [esi + 0x228], ecx
mov dword [ecx], 0x36
push eax
mov ecx, esp
mov dword [esi + 0x2b4], ecx
mov dword [ecx], 0x447c00
push eax
mov ecx, esp
mov dword [esi + 0x2a8], ecx
mov dword [ecx], 0x37
push eax
mov ecx, esp
mov dword [esi + 0x2b0], ecx
mov dword [ecx], 0x447e0c
push eax
mov dword [esi + 0x2a0], esp
push eax
mov ecx, esp
mov dword [esi + 0x2ac], ecx
mov dword [ecx], 0x447c00
push eax
mov ecx, esp
mov dword [esi + 0x29c], ecx
mov dword [ecx], 0x39
push eax
mov ecx, esp
mov dword [esi + 0x298], ecx
mov dword [ecx], 0x447c00
push eax
mov ecx, esp
mov dword [esi + 0x28c], ecx
mov dword [ecx], 0x3a
push eax
mov ecx, esp
mov dword [esi + 0x2a4], ecx
mov dword [ecx], 0x447c00
push eax
mov ecx, esp
mov dword [esi + 0x294], ecx
mov dword [ecx], 0x3b
push eax
mov ecx, esp
mov dword [esi + 0x194], ecx
mov dword [ecx], 0x447c00
push eax
mov ecx, esp
mov dword [esi + 0x190], ecx
mov dword [ecx], 0x1a
push eax
mov ecx, esp
mov dword [esi + 0x19c], ecx
mov dword [ecx], 0x447c00
push eax
mov ecx, esp
mov dword [esi + 0x198], ecx
mov dword [ecx], 0x1f
push eax
mov ecx, esp
mov dword [esi + 0x1a4], ecx
mov dword [ecx], 0x447c00
push eax
mov ecx, esp
mov dword [esi + 0x1a0], ecx
mov dword [ecx], 0x22
push eax
mov ecx, esp
mov dword [esi + 0x1d4], ecx
mov dword [ecx], 0x447c00
push eax
mov ecx, esp
mov dword [esi + 0x1d0], ecx
mov dword [ecx], 0x27
jmp eax