Function at 0x401fb3
Capabilities:
Authenticate hmac

Disassembly:
pushfd
jns 0x401ff9
add byte [ecx], al
rcl byte [ecx + 0x50], 0xe8
push ds
cmp dword [ebx], eax
add byte [ebx + 0x437aa435], cl
add byte [ecx], al
invalid
cmp eax, 0x437c20
add edi, eax
push edi
mov dword [0x437958], eax
push 0x10
call sub.USER32.dll_GetWindow
mov eax, dword [0x437958]
add edi, edx
add edx, ecx
mov eax, dword [0x437a24]
add edx, eax
push 0x40
push eax
call sub.USER32.dll_GetWindow
mov eax, dword [0x437b00]
mov eax, 0x64
mov eax, dword [0x4379a4]
mov eax, dword [0x437ac4]
mov edx, 0x80
push dword [0x437b14]
mov esi, dword [0x437958]
push esi
call sub.USER32.dll_GetWindow
mov eax, dword [0x437d34]
add eax, eax
add eax, edx
mov esi, dword [0x4379a8]
push esi
push 0x20
call sub.USER32.dll_GetWindow
mov esi, dword [0x437d44]
add edi, esi
mov ax, 2
add esi, eax
mov esi, dword [0x437a24]
push esi
mov eax, dword [0x437958]
push eax
call sub.USER32.dll_GetWindow
mov esi, dword [0x437bd8]
sub eax, eax
mov edi, dword [0x437cd0]
mov esi, dword [0x437b94]
push dword [0x437cd0]
push 1
call sub.USER32.dll_GetWindow
mov edx, dword [0x437958]
sub eax, esi
mov ecx, dword [0x437d0c]
mov ecx, 0xc1
push dword [0x437b48]
mov dx, 1
push edx
call sub.USER32.dll_GetWindow
and eax, dword [0x4379ac]
mov ecx, 2
mov ecx, dword [0x437b14]
push eax
push 0x40
call sub.USER32.dll_GetWindow
mov edx, dword [0x437c78]
sub ecx, eax
mov eax, dword [0x437bdc]
push esi
push edx
call sub.USER32.dll_GetWindow
mov edx, dword [0x437958]
sub eax, eax
mov edi, dword [0x437c3c]
mov eax, 0x5e
push esi
push esi
call sub.USER32.dll_GetWindow
mov eax, dword [0x437cb8]
mov ax, 0x81
sub eax, esi
push dword [0x437b18]
push dword [0x437a58]
call sub.USER32.dll_GetWindow
mov ecx, dword [0x437958]
mov ecx, 0x20
mov edx, dword [0x437bec]
sub eax, edi
mov edi, dword [0x437958]
push dword [0x437c4c]
push ecx
call sub.USER32.dll_GetWindow
mov eax, dword [0x437958]
add edx, ecx
mov eax, dword [0x437a68]
sub eax, edx
push 0xa5
push eax
call sub.USER32.dll_GetWindow
mov esi, dword [0x437958]
mov ax, 0xd8
mov ecx, dword [0x437b80]
mov dx, 0x10
mov edx, dword [0x437a1c]
push eax
push 8
call sub.USER32.dll_GetWindow
sbb eax, dword [0x437ae4]
add eax, edi
mov ax, 0x14
mov eax, dword [0x437988]
add ecx, eax
push ecx
push 1
call sub.USER32.dll_GetWindow
mov eax, dword [0x437c38]
mov ax, 0xb8
add edi, eax
push eax
mov eax, dword [0x437ad0]
sub eax, ecx
push eax
call sub.USER32.dll_GetWindow
mov eax, dword [0x437b30]
add eax, edi
add eax, ecx
mov eax, dword [0x437bb8]
push esi
mov esi, 4
push esi
call sub.USER32.dll_GetWindow
mov eax, dword [0x437b34]
sub eax, eax
mov eax, dword [0x437c18]
push edx
push eax
call sub.USER32.dll_GetWindow
mov eax, dword [0x43796c]
sub edi, esi
sub eax, edx
push dword [0x437994]
push eax
call sub.USER32.dll_GetWindow
mov eax, dword [0x437a7c]
mov ax, 0x32
mov ecx, dword [0x437cb8]
mov esi, 1
mov eax, dword [0x437a00]
mov eax, 0xed
push 0xcd
push eax
call sub.USER32.dll_GetWindow
mov esi, dword [0x437b68]
mov eax, 0xd7
push 1
mov dword [0x437ac0], eax
push dword [0x437c0c]
call sub.USER32.dll_GetWindow
sub edx, dword [0x437c28]
sub eax, edx
mov ecx, dword [0x437d3c]
mov eax, dword [0x4379a0]
mov eax, 4
mov ecx, dword [0x437a5c]
push ecx
mov eax, 8
push eax
call sub.USER32.dll_GetWindow
mov esi, dword [0x437d28]
add eax, edi
mov esi, dword [0x437b08]
push 8
push eax
call sub.USER32.dll_GetWindow
mov eax, dword [0x437c3c]
mov eax, 1
mov esi, dword [0x437b4c]
push ecx
push 0x1c
call sub.USER32.dll_GetWindow
mov eax, dword [0x437c3c]
mov cx, 0x80
mov edi, dword [0x4379a8]
mov ax, 8
invalid