Function at 0x4030b8
Capabilities:
Authenticate hmac
Parse pe header

Disassembly:
cld
jl 0x4030fe
add byte [edi + 0x8b], bh
push eax
push 2
call sub.USER32.dll_GetWindow
mov esi, dword [0x437ad0]
add eax, eax
mov edi, dword [0x437cb4]
mov edx, dword [0x437bb4]
add eax, eax
mov dword [0x437ae4], ecx
push dword [0x437b88]
mov ax, 4
push eax
call sub.USER32.dll_GetWindow
mov eax, dword [0x437c80]
sub eax, eax
mov edi, dword [0x437a98]
add edx, eax
mov edi, dword [0x437b24]
push edi
mov eax, dword [0x437c04]
mov ax, 0
push eax
call sub.USER32.dll_GetWindow
mov esi, dword [0x437980]
add eax, eax
mov edi, dword [0x437d10]
mov ax, 0x7d
xor edx, esi
push edi
mov edi, dword [0x437c20]
push edi
call sub.USER32.dll_GetWindow
mov esi, dword [0x4379f8]
mov esi, 0x6a
cwde
jp 0x403144
add byte [ecx], al
ret 0x3d8b
add byte [eax], al
mov eax, dword [0x437d50]
mov eax, dword [0x437c14]
push edi
push dword [0x437d08]
call sub.USER32.dll_GetWindow
adc edi, dword [0x4379b4]
mov ax, 2
push 0x8c
push 0x23
call sub.USER32.dll_GetWindow
mov eax, dword [0x437b7c]
add ecx, ecx
mov ecx, 0xb2
push esi
mov edi, 0x10
push edi
call sub.USER32.dll_GetWindow
mov ecx, dword [0x437958]
and eax, eax
mov eax, dword [0x437958]
sub edx, edx
mov ecx, dword [0x437cf4]
push ecx
push dword [0x437b60]
call sub.USER32.dll_GetWindow
mov eax, dword [0x437a84]
mov dx, 0xf2
sub eax, esi
mov eax, dword [0x437b60]
push edx
push edi
call sub.USER32.dll_GetWindow
mov eax, dword [0x4379ec]
sub edx, edx
push 8
push 0x6e
call sub.USER32.dll_GetWindow
mov edx, dword [0x437a00]
and ecx, eax
sub eax, esi
mov eax, dword [0x4379b4]
mov di, 0x39
push dword [0x437b7c]
push 0x49
call sub.USER32.dll_GetWindow
mov eax, dword [0x437958]
mov edx, 8
mov dword [0x437a90], ecx
push 0x35
push edi
call sub.USER32.dll_GetWindow
mov eax, dword [0x437b68]
mov si, 4
mov ecx, dword [0x437a08]
mov ax, 0xaf
push dword [0x437a90]
push eax
call sub.USER32.dll_GetWindow
sub eax, dword [0x437c28]
mov ax, 0x50
add esi, eax
mov eax, dword [0x437c38]
push 0xba
push 0x10
call sub.USER32.dll_GetWindow
mov eax, dword [0x437c0c]
mov eax, 0x24
mov ecx, dword [0x437ac0]
mov eax, 0x20
xor eax, eax
or eax, dword [0x437d1c]
push eax
push eax
call sub.USER32.dll_GetWindow
and eax, dword [0x437a60]
sub eax, eax
mov dx, 3
mov ecx, dword [0x437b80]
push ecx
push eax
call sub.USER32.dll_GetWindow
mov eax, dword [0x437a50]
or edx, eax
sub ecx, eax
mov edx, dword [0x437a00]
push 0x40
push eax
call sub.USER32.dll_GetWindow
mov eax, dword [0x437ad0]
sub eax, edi
mov edx, 0x30
mov eax, dword [0x437b88]
push 0x20
push 0x20
call sub.USER32.dll_GetWindow
mov eax, dword [0x437d18]
mov esi, 4
add edi, edi
push 1
push dword [0x437958]
call sub.USER32.dll_GetWindow
mov eax, dword [0x437bb8]
sub edi, eax
mov edi, dword [0x437d24]
mov eax, 0xa9
mov eax, dword [0x437ab4]
push eax
add eax, esi
push eax
call sub.USER32.dll_GetWindow
mov eax, dword [0x4379f4]
and edi, eax
mov eax, dword [0x437c68]
mov eax, dword [0x437a5c]
mov eax, 0x5a
mov dword [0x437b28], edx
push dword [0x437af8]
push eax
call sub.USER32.dll_GetWindow
mov edi, dword [0x437aa8]
mov edx, 0x80
mov ecx, dword [0x43797c]
sbb dword [0x437a5c], edi
push 0x63
push esi
call sub.USER32.dll_GetWindow
mov eax, dword [0x437c84]
mov eax, 0x1e
mov eax, dword [0x437d28]
mov eax, 0x51
and edx, edx
push ecx
push eax
call sub.USER32.dll_GetWindow
mov ecx, dword [0x437c18]
mov eax, 0x20
add byte [eax], al
add byte [esi - 0x47], ah
and byte [eax], al
push ecx
mov edx, dword [0x437a24]
push edx
call sub.USER32.dll_GetWindow
mov edi, dword [0x437d0c]
mov ax, 0x30
push 1
push 8
call sub.USER32.dll_GetWindow
mov edi, dword [0x437cdc]
mov eax, 0x40
mov edi, 0x61
mov eax, dword [0x437c74]
push esi
push edi
call sub.USER32.dll_GetWindow
mov eax, dword [0x437cb4]
mov ax, 0x48
mov ecx, 0xd1
mov esi, dword [0x437b3c]
push esi
push eax
call sub.USER32.dll_GetWindow
mov eax, dword [0x437a84]
mov edi, 2
mov ecx, dword [0x437c64]
sub ecx, ecx
push ecx
push eax
call sub.USER32.dll_GetWindow
mov esi, dword [0x437c0c]
mov si, 0x84
add eax, edi
push eax
push ecx
call sub.USER32.dll_GetWindow
mov eax, dword [0x437958]
sub eax, eax
mov ax, 4
mov ecx, dword [0x437b2c]
push eax
push 0x10
call sub.USER32.dll_GetWindow
mov esi, dword [0x437964]
mov eax, 0x80
mov eax, dword [0x437b98]
push edi
push edx
call sub.USER32.dll_GetWindow
mov eax, dword [0x437ad8]
sub eax, eax
sub edx, eax
mov eax, dword [0x437c04]
mov eax, 4
add edi, eax
push edi
mov eax, dword [0x437b00]
push eax
call sub.USER32.dll_GetWindow
mov esi, dword [0x437c54]
mov eax, 2
mov eax, dword [0x437a7c]
push eax
push eax
call sub.USER32.dll_GetWindow
mov eax, dword [0x437958]
or eax, edi
mov eax, 0x62
sub ecx, eax
mov dword [0x437a08], ecx
push 0x10
mov ecx, dword [0x437a74]
sub ecx, eax
push ecx
call sub.USER32.dll_GetWindow
mov eax, dword [0x437c4c]
add edi, edi
mov eax, dword [0x437c0c]
mov ecx, dword [0x437bb4]
push ecx
push eax
call sub.USER32.dll_GetWindow
mov eax, dword [0x437d20]
sub eax, edi
add eax, eax
push eax
sub ecx, eax
push ecx
call sub.USER32.dll_GetWindow
mov eax, dword [0x437ba8]
sub eax, eax
mov esi, dword [0x437a14]
push esi
push eax
call sub.USER32.dll_GetWindow
mov eax, dword [0x437b08]
sub eax, edi
mov eax, dword [0x43796c]
mov eax, dword [0x437c90]
sub eax, eax
push 0x83
push dword [0x437bec]
call sub.USER32.dll_GetWindow
mov eax, dword [0x437a00]
xor esi, eax
mov esi, dword [0x4379b8]
mov edx, dword [0x437a94]
sub esi, eax
push edi
push 0x8a
call sub.USER32.dll_GetWindow
mov eax, dword [0x437af4]
xor edx, eax
mov eax, dword [0x437b18]
push dword [0x4379a4]
push 1
call sub.USER32.dll_GetWindow
mov edi, dword [0x437ac0]
add eax, edi
mov ecx, dword [0x437958]
mov eax, dword [0x437b80]
add eax, esi
push eax
mov dword [0x437ca8], eax
push dword [0x437bb8]
call sub.USER32.dll_GetWindow
mov eax, dword [0x437958]
sub eax, eax
mov ecx, dword [0x437bd8]
mov eax, dword [0x437bc4]
mov edi, dword [0x437af8]
mov edi, 0x20
push edi
push edi
call sub.USER32.dll_GetWindow
and eax, dword [0x437a08]
sub eax, esi
mov eax, 2
push eax
push dword [0x437b50]
call sub.USER32.dll_GetWindow
mov esi, dword [0x437ce0]
mov edi, 0x40
mov edi, dword [0x437adc]
or eax, eax
mov ecx, dword [0x4379ec]
push ecx
sbb edi, dword [0x437b90]
push edi
call sub.USER32.dll_GetWindow
mov ecx, dword [0x437984]
sub eax, edx
add esi, eax
mov esi, dword [0x437b34]
mov esi, 0xee
push esi
push eax
call sub.USER32.dll_GetWindow
mov edi, dword [0x437b10]
and edi, eax
mov eax, dword [0x437c4c]
mov esi, dword [0x437994]
add eax, eax
mov dword [0x437b88], edi
push dword [0x437a24]
push edx
call sub.USER32.dll_GetWindow
mov esi, dword [0x437ad8]
mov eax, 0x40
or edi, edi
mov esi, dword [0x437be8]
sub esi, esi
mov eax, dword [0x437d08]
push eax
push 0xa2
call sub.USER32.dll_GetWindow
mov eax, dword [0x437d38]
add eax, eax
mov ecx, dword [0x437978]
push edi
mov dword [0x437c64], eax
push dword [0x437b44]
inc esp
jnp 0x403656
add al, ch
lds esp, [edx]
add eax, dword [eax]