Function at 0x1001d39a
Capabilities:
Authenticate hmac

Disassembly:
mov eax, 0x100226d8
call fcn.10021c80
mov eax, 0x127c
call fcn.10021d20
lea ecx, [ebp - 0x11ec]
call fcn.100024c5
and dword [ebp - 4], 0
lea ecx, [ebp - 0xd0]
call fcn.100024c5
mov byte [ebp - 4], 1
mov ecx, dword [ebp + 8]
call fcn.1000273c
add eax, 0x41
push eax
lea ecx, [ebp - 0x11ec]
call fcn.100025da
lea ecx, [ebp - 0x11ec]
call fcn.1000272e
push eax
mov ecx, dword [ebp + 8]
call fcn.1000272e
push eax
call fcn.10002bc0
pop ecx
pop ecx
lea ecx, [ebp - 0x11ec]
call fcn.10005be7
mov ecx, 0x10037608
call fcn.1000272e
push eax
call dword [sym.imp.MSVCRT.dll_wcslen]
pop ecx
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x158]
add eax, 0x41
push eax
lea ecx, [ebp - 0xd0]
call fcn.100025da
lea ecx, [ebp - 0x11ec]
call fcn.1000272e
movzx eax, word [eax]
cmp eax, 0x22
jne 0x1001d49c
push 0x22
lea ecx, [ebp - 0x11ec]
call fcn.1000272e
inc eax
inc eax
push eax
call fcn.10002f26
pop ecx
pop ecx
mov dword [ebp - 0x11f0], eax
cmp dword [ebp - 0x11f0], 0
je 0x1001d47a
mov eax, dword [ebp - 0x11f0]
and word [eax], 0
lea ecx, [ebp - 0x11ec]
call fcn.1000272e
inc eax
inc eax
push eax
lea ecx, [ebp - 0x11ec]
call fcn.1000272e
push eax
call dword [sym.imp.MSVCRT.dll_wcscpy]
pop ecx
pop ecx
push dword [ebp - 0x158]
mov ecx, 0x10037608
call fcn.1000272e
push eax
lea ecx, [ebp - 0xd0]
call fcn.10002658
jmp 0x1001d4c7
mov eax, dword [ebp - 0x158]
inc eax
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x158]
xor edx, edx
push 0x40
pop ecx
div ecx
test edx, edx
je 0x1001d4e7
push 0
lea ecx, [ebp - 0xd0]
call fcn.100026f7
jmp 0x1001d4ba
cmp dword [ebp - 0x158], 0x40
jbe 0x1001d561
lea eax, [ebp - 0x1288]
push eax
call fcn.1000f5e7
pop ecx
push dword [ebp - 0x158]
lea ecx, [ebp - 0xd0]
call fcn.1000272e
push eax
lea eax, [ebp - 0x1288]
push eax
call fcn.10010758
add esp, 0xc
lea eax, [ebp - 0xc4]
push eax
lea eax, [ebp - 0x1288]
push eax
call fcn.1001084b
pop ecx
pop ecx
mov dword [ebp - 0x158], 0x10
mov eax, dword [ebp - 0x158]
shl eax, 1
push eax
lea eax, [ebp - 0xc4]
push eax
lea ecx, [ebp - 0xd0]
call fcn.1000272e
push eax
call sub.MSVCRT.dll_memcpy
add esp, 0xc
and dword [ebp - 0x15c], 0
jmp 0x1001d577
mov eax, dword [ebp - 0x15c]
inc eax
mov dword [ebp - 0x15c], eax
cmp dword [ebp - 0x15c], 0x40
jae 0x1001d5a2
mov eax, dword [ebp - 0x15c]
mov word [ebp + eax*2 - 0x1e0], 0x36
mov eax, dword [ebp - 0x15c]
mov word [ebp + eax*2 - 0x154], 0x5c
jmp 0x1001d56a
and dword [ebp - 0x15c], 0
jmp 0x1001d5b8
mov eax, dword [ebp - 0x15c]
inc eax
mov dword [ebp - 0x15c], eax
mov eax, dword [ebp - 0x15c]
cmp eax, dword [ebp - 0x158]
jae 0x1001d62a
lea ecx, [ebp - 0xd0]
call fcn.1000272e
mov ecx, dword [ebp - 0x15c]
mov edx, dword [ebp - 0x15c]
mov cx, word [ebp + ecx*2 - 0x1e0]
xor cx, word [eax + edx*2]
mov eax, dword [ebp - 0x15c]
mov word [ebp + eax*2 - 0x1e0], cx
lea ecx, [ebp - 0xd0]
call fcn.1000272e
mov ecx, dword [ebp - 0x15c]
mov edx, dword [ebp - 0x15c]
mov cx, word [ebp + ecx*2 - 0x154]
xor cx, word [eax + edx*2]
mov eax, dword [ebp - 0x15c]
mov word [ebp + eax*2 - 0x154], cx
jmp 0x1001d5ab
lea eax, [ebp - 0xa4]
push eax
call fcn.1000f5e7
pop ecx
push 0x40
lea eax, [ebp - 0x1e0]
push eax
lea eax, [ebp - 0xa4]
push eax
call fcn.10010758
add esp, 0xc
lea ecx, [ebp - 0x11ec]
call fcn.1000273c
push eax
lea ecx, [ebp - 0x11ec]
call fcn.1000272e
push eax
lea eax, [ebp - 0xa4]
push eax
call fcn.10010758
add esp, 0xc
lea eax, [ebp - 0xc4]
push eax
lea eax, [ebp - 0xa4]
push eax
call fcn.1001084b
pop ecx
pop ecx
lea eax, [ebp - 0xa4]
push eax
call fcn.1000f5e7
pop ecx
push 0x40
lea eax, [ebp - 0x154]
push eax
lea eax, [ebp - 0xa4]
push eax
call fcn.10010758
add esp, 0xc
push 0x10
lea eax, [ebp - 0xc4]
push eax
lea eax, [ebp - 0xa4]
push eax
call fcn.10010758
add esp, 0xc
lea eax, [ebp - 0xc4]
push eax
lea eax, [ebp - 0xa4]
push eax
call fcn.1001084b
pop ecx
pop ecx
mov ecx, 0x100411a8
call fcn.1000272e
push eax
lea eax, [ebp - 0x11e0]
push eax
call dword [sym.imp.MSVCRT.dll_wcscpy]
pop ecx
pop ecx
lea eax, [ebp - 0x11e0]
push eax
call dword [sym.imp.MSVCRT.dll_wcslen]
pop ecx
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x158]
mov word [ebp + eax*2 - 0x11e0], 0x20
mov eax, dword [ebp - 0x158]
inc eax
mov dword [ebp - 0x158], eax
and dword [ebp - 0x15c], 0
jmp 0x1001d73e
mov eax, dword [ebp - 0x15c]
inc eax
mov dword [ebp - 0x15c], eax
cmp dword [ebp - 0x15c], 0x10
jae 0x1001d782
mov eax, dword [ebp - 0x15c]
movzx eax, word [ebp + eax*2 - 0xc4]
push eax
push str._02hx
mov eax, dword [ebp - 0x158]
lea eax, [ebp + eax*2 - 0x11e0]
push eax
call dword [sym.imp.MSVCRT.dll_swprintf]
add esp, 0xc
mov eax, dword [ebp - 0x158]
inc eax
inc eax
mov dword [ebp - 0x158], eax
jmp 0x1001d731
push 0
push dword [ebp + 0xc]
push dword [ebp - 0x158]
lea eax, [ebp - 0x11e0]
push eax
call fcn.10002f39
add esp, 0x10
push 0x100237b4
push dword [ebp + 0xc]
call dword [sym.imp.MSVCRT.dll_wcscat]
pop ecx
pop ecx
lea ecx, [ebp - 0xd0]
call fcn.10002525
lea ecx, [ebp - 0x11ec]
call fcn.10002525
and byte [ebp - 4], 0
lea ecx, [ebp - 0xd0]
call fcn.100024a2
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x11ec]
call fcn.100024a2
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
leave
ret