Function at 0x4019f2
Capabilities:
Authenticate hmac
Parse pe header

Disassembly:
dec eax
add byte [eax], al
add byte [edx + 7], ch
push eax
call sub.USER32.dll_GetWindow
mov eax, dword [0x437c78]
mov esi, 1
mov eax, dword [0x437a98]
mov eax, dword [0x437a30]
mov ax, 0x6c
push eax
push esi
call sub.USER32.dll_GetWindow
mov esi, dword [0x437bc8]
mov ax, 4
mov edi, dword [0x437958]
mov edi, dword [0x437c08]
sub eax, eax
mov eax, dword [0x437c28]
push eax
push eax
call sub.USER32.dll_GetWindow
mov edx, dword [0x4379ec]
mov dx, 0x40
mov eax, dword [0x437d24]
push dword [0x437c94]
mov ax, 0xde
push eax
call sub.USER32.dll_GetWindow
mov ecx, dword [0x437a14]
or edi, eax
adc eax, dword [0x4379a4]
mov ax, 0x8f
push dword [0x437b14]
push 0xdf
call sub.USER32.dll_GetWindow
mov eax, dword [0x437bb4]
mov edx, 0x14
mov eax, dword [0x437ba4]
push 0x92
mov eax, 0x80
push eax
call sub.USER32.dll_GetWindow
mov eax, dword [0x437cf4]
mov ax, 0xa2
mov eax, dword [0x437b58]
sub edx, edx
mov dword [0x437c90], eax
push dword [0x437bec]
push dword [0x4379d0]
call sub.USER32.dll_GetWindow
mov ecx, dword [0x437adc]
mov eax, 2
and eax, edi
sub eax, eax
mov dword [0x437c74], eax
push dword [0x437ad8]
push ecx
call sub.USER32.dll_GetWindow
mov esi, dword [0x437b78]
mov dx, 0x50
mov eax, dword [0x437ae4]
push eax
push eax
call sub.USER32.dll_GetWindow
mov edi, dword [0x437a58]
add eax, ecx
add esi, esi
mov eax, dword [0x437a60]
mov ax, 0x10
mov dword [0x437a94], ecx
push 0x13
push 0x20
call sub.USER32.dll_GetWindow
mov eax, dword [0x437cd8]
mov cx, 8
mov eax, dword [0x437d14]
mov eax, 1
push dword [0x437b28]
push dword [0x437ca8]
call sub.USER32.dll_GetWindow
mov eax, dword [0x437adc]
add eax, eax
mov si, 0x98
push 4
push 0x99
call sub.USER32.dll_GetWindow
mov eax, dword [0x437b88]
add eax, eax
add edi, ecx
mov ecx, 0x40
push eax
push dword [0x437a24]
call sub.USER32.dll_GetWindow
mov eax, dword [0x437bfc]
mov eax, 2
sub edx, eax
mov esi, dword [0x437d00]
mov eax, dword [0x437c18]
push eax
push dword [0x437ca0]
call sub.USER32.dll_GetWindow
mov eax, dword [0x437958]
mov cx, 0x57
sub ecx, eax
mov eax, dword [0x437b30]
push ecx
push 4
call sub.USER32.dll_GetWindow
mov eax, dword [0x437c60]
sub eax, eax
mov eax, dword [0x437aac]
mov eax, dword [0x437be4]
mov eax, 0x80
push 1
push dword [0x437bc8]
call sub.USER32.dll_GetWindow
mov ecx, dword [0x437ae0]
sub eax, eax
add ecx, eax
mov dx, 0x10
push 1
mov dword [0x437d14], eax
push 0x89
call sub.USER32.dll_GetWindow
mov edx, dword [0x437cf4]
and ecx, eax
mov ecx, 8
xor eax, edi
mov dword [0x437ce0], edx
push dword [0x437d48]
push eax
call sub.USER32.dll_GetWindow
mov eax, dword [0x437998]
mov eax, 0x54
mov eax, dword [0x437acc]
mov esi, dword [0x437cd0]
mov ax, 0xab
push eax
push 0xbb
call sub.USER32.dll_GetWindow
mov ecx, dword [0x437b50]
mov edi, 0x7f
xor edx, dword [0x437bb8]
push dword [0x437a80]
push eax
call sub.USER32.dll_GetWindow
mov eax, dword [0x437a50]
sub ecx, ecx
add ecx, esi
xor edx, dword [0x437ba4]
sub eax, edx
mov dword [0x437958], eax
push dword [0x437b0c]
push eax
call sub.USER32.dll_GetWindow
mov ecx, dword [0x437b14]
add edx, edi
mov eax, dword [0x437d38]
mov ax, 1
push 0x40
sub eax, edi
push eax
call sub.USER32.dll_GetWindow
mov eax, dword [0x437b18]
mov ax, 1
mov eax, dword [0x437b2c]
mov cx, 0x70
mov edx, dword [0x437b4c]
mov eax, 0x8d
mov dword [0x437cbc], edx
push 2
mov ecx, dword [0x437a64]
mov cx, 0x73
push ecx
call sub.USER32.dll_GetWindow
mov ecx, dword [0x437b28]
mov cx, 4
add eax, ecx
mov esi, 0x40
push ecx
push eax
call sub.USER32.dll_GetWindow
mov eax, dword [0x437b24]
add esi, eax
mov ax, 8
mov eax, dword [0x437a4c]
mov eax, 0x30
push dword [0x437b04]
push dword [0x437bd8]
call sub.USER32.dll_GetWindow
mov eax, dword [0x437ae4]
mov ax, 0x9c
mov eax, dword [0x437b04]
mov eax, dword [0x437a84]
push eax
push edx
call sub.USER32.dll_GetWindow
mov eax, dword [0x437cb0]
mov ax, 2
sub esi, edx
mov esi, dword [0x437a24]
mov edx, 0xcd
push 0xe3
push 0x80
call sub.USER32.dll_GetWindow
mov eax, dword [0x437a20]
mov eax, 0x40
mov eax, dword [0x43795c]
mov ecx, dword [0x437958]
push dword [0x437c70]
push dword [0x437d24]
call sub.USER32.dll_GetWindow
mov edx, dword [0x4379dc]
or edx, eax
mov eax, dword [0x437d44]
sub edi, edx
sub edi, ecx
mov dword [0x437978], eax
push dword [0x437aa8]
mov dword [0x4379e8], edi
push 8
call sub.USER32.dll_GetWindow
mov eax, dword [0x437cc8]
mov esi, 0x80
mov di, 0x45
push eax
push eax
call sub.USER32.dll_GetWindow
mov eax, dword [0x437b40]
mov ecx, 8
mov ecx, dword [0x437958]
push edi
push eax
call sub.USER32.dll_GetWindow
mov eax, dword [0x437a84]
sub eax, esi
add esi, edx
adc ecx, dword [0x437d40]
push 0x10
mov di, 8
push edi
call sub.USER32.dll_GetWindow
adc edx, dword [0x437a68]
mov eax, 0xe5
mov edi, dword [0x437c3c]
add edx, eax
push edx
push dword [0x437b64]
call sub.USER32.dll_GetWindow
adc eax, dword [0x437ce0]
mov cx, 0xff
mov eax, dword [0x4379fc]
mov eax, 0x64
sub eax, eax
push 0xec
push eax
call sub.USER32.dll_GetWindow
mov ecx, dword [0x437b94]
add edx, ecx
mov eax, dword [0x437b2c]
sub ecx, esi
mov eax, dword [0x437b68]
mov eax, 0xe2
push dword [0x437af4]
push eax
call sub.USER32.dll_GetWindow
mov ecx, dword [0x437d08]
mov eax, 1
add eax, edi
push eax
sub ecx, ecx
push ecx
call sub.USER32.dll_GetWindow
mov edx, dword [0x437c38]
add eax, eax
mov edx, 0x4f
mov si, 0xdd
push dword [0x437d1c]
sub esi, edx
push esi
call sub.USER32.dll_GetWindow
mov eax, dword [0x437b3c]
add edx, eax
mov eax, dword [0x4379dc]
mov eax, dword [0x4379cc]
push edi
mov edx, dword [0x437d40]
push edx
call sub.USER32.dll_GetWindow
mov eax, dword [0x437bfc]
mov ax, 0x5f
mov eax, dword [0x437984]
push dword [0x4379d4]
push 0x10
call sub.USER32.dll_GetWindow
mov edi, dword [0x437b44]
sub eax, eax
mov eax, dword [0x437a68]
mov edx, dword [0x437c94]
push ecx
push eax
call sub.USER32.dll_GetWindow
mov edi, dword [0x437a48]
mov edi, 0x10
push 1
mov eax, dword [0x437958]
push eax
call sub.USER32.dll_GetWindow
mov eax, dword [0x437bf4]
add edx, ecx
retf 0xfca1
jns 0x401f2b
add byte [ecx], ch
invalid
invalid
invalid