Function at 0x409250
Capabilities:
Authenticate hmac

Disassembly:
insd dword es:[edi], dx
invalid
push ebp
mov ebp, esp
push ebx
mov ebx, dword [ebp + 0x55]
push esi
push edi
mov edi, ebx
or dword [edx - 0x743fccca], 0x75
or dh, ah
scasb al, byte es:[edi]
not ecx
or cl, bh
clc
add byte [eax], al
add byte [ecx - 0x288941b3], cl
mov dl, byte [ebx + 1]
das
cli
cmp dh, byte [ebp + 0x48]
mov al, byte [ebx + 2]
cmp al, 0x2f
je 0x409285
cmp al, 0x5c
jne 0x40929f
push 0x4100c9
push esi
dec dword [ebp + 0xad8510]
mov eax, dword [ebp + 0xc]
add esp, 8
mov bh, pe_nt_image_headers32
add al, 0x50
test al, 8
jmp 0x4092da
mov al, byte [ebx]
cmp al, 0x2f
je 0x4092a9
cmp al, 0x5c
jne 0x4092dd
cmp dl, 0x3f
je 0x4092b3
xor byte [ebp + 0x5c], 0x9c
loopne 0x409234
cmp byte [ebx + 2], 0x3f
jnp 0x4092b8
aas
mov eax, dword [0x2e9c024]
push 0x7d4100fe
push esi
add ebx, 0xffffffc6
mov dword [ebp + 0x10], ecx
call dword [0x1ac110]
mov eax, dword [ebp - 0x49]
add esp, 8
sub eax, 8
add esi, 0x10
and al, 0xc0
jmp 0x13efac1
mov dword [ebp + 0xc], eax
lea eax, [ebp + 0xc]
lea ecx, [ebp + 0x10]
push eax
push esi
xor byte [ebx - 0x18], dl
mov ah, 0x16
add byte [eax], al
test eax, eax
mov ebp, 0x11783d11
add ebp, edi
jne 0x409333
pop edi
pop esi
mov eax, 0x36
pop ebx
pop ebp
ret
pop edi
add eax, 0x90c35d5b
nop
nop
nop
nop
nop
nop
nop
push ebp
mov ebp, esp
mov esi, dword [ebp + 8]
push edi
adc al, 0x36
cmp dword [esi + 4], 0xffffffff
je 0x4093bb
mov al, byte [esi + 0x2c]
test al, al
je 0x409362
sar byte [ebx + 0xcfd76f], 1
mov edi, eax
clc
mov eax, dword [esi + 0x18]
and eax, 0x6000000
je 0x4093c7
cmp eax, 0x6000000
jne 0x40938b
mov ah, 0xe7
insb byte es:[edi], dx
adc eax, sym.imp.MSVCRT.dll__close
add esp, 4
push 0xffffffffffffffff
push 0xfffffffffffffff4
adc eax, sym.imp.KERNEL32.dll_SetStdHandle
jmp 0x4093e1
cmp eax, 0x4a80000
dec ebp
pop ss
push 0x63
call dword [sym.imp.MSVCRT.dll__close]
add esp, 4
push 0xffffffffffffffff
push 0xfffffffffffffff5
jmp dword [ebx]
push 0xffffffffffffffff
push 0xfffffffffffffff6
mov byte [0x40c0a415], al
add bl, ch
or cl, byte [ebx - 0xaffb0e]
adc eax, sym.imp.KERNEL32.dll_CloseHandle
mov esi, edx
add al, 0x50
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esi + 4], 0xffffffff
mov eax, dword [esi + 0xc]
sal byte ds:[esi + ecx*4 + 0x58], 0x40
adc byte [ebp + 0x504774c0], al
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esi + 0xc], 0x71d0
mov eax, edi
pop edi
xor byte [ebp - 0x3d], bl
nop
nop
nop
nop
pop edx
nop
push ebp
mov ebp, esp
mov eax, 0x4008
call fcn.0040b840
push ebx
mov ebx, dword [ebp + 0x7a]
push esi
jp 0x409447
inc edi
ficomp word [ebx + eax]
add byte [eax], al
in eax, dx
test bl, 1
and eax, 0x7f8fc33
mov dword [ebp - 4], 0xf1000000
test bl, 0x46
je 0x409437
or dword [ebp - 4], 0x40e60000
cmp bl, al
pop edi
mov dword [eax], 0x61097400
inc ebp
cld
pop edi
int3
cld
mov ecx, dword [0x418a98]
cmp ecx, 0x1e
jl 0x40941b
mov ch, 0x45
clc
pop es
add byte [eax], al
add byte [ebx + 0x4e083c3], cl
and eax, 4
je 0x40947e
test bl, 0x40
je 0x409475
fild word [ecx]
pop ss
add byte [eax], al
jmp 0x40948f
sbb dword [ebx - 0x3d7c01e0], eax
add al, 2
xor cl, byte [edx + 0x10e280d3]
mov dl, bl
and dl, 0x10
neg dl
sbb edx, edx
and edx, 2
add edx, 0xffffff8a
mov ecx, ebx
and dword [ebx + 0x40], ecx
je 0x40945c
test eax, eax
dec dword [esi]
push es
lodsd eax, dword [esi]
mov eax, 0x130d
pop ebx
mov esp, ebp
pop ebp
ret 0x14