Function at 0x4b9697
Capabilities:
Authenticate hmac
Contain obfuscated stackstrings

Disassembly:
and ebx, 0x1fffffff
jb 0x496886
sub dl, 0
or ebx, 0xa0000000
jb 0x49353a
mov eax, ebx
pop ebx
ret
test ebx, 0x80000000
jb 0x493546
mov eax, ebx
jne 0x48c555
je 0x48c54d
xor byte [edi - 0x48], cl
pop ebx
ret
and eax, 0xff
jb 0x493558
cmp eax, 3
ja 0x4bc69a
jbe 0x48c571
shr byte [ebx + 0x5b], 0xa2
jne 0x48c58d
je 0x48c57c
shl byte [edx], cl
xor al, bh
clc
cmp bh, 0xb
shr esi, 0x40
ja 0x4bc69a
jbe 0x48c58d
fst dword [ecx - 0x1c7f]
call [edi + 0x44cf820f]
add byte [eax], al
and ebx, 0x9fffffff
jb 0x490a68
mov eax, ebx
pop ebx
push 0x4bc697
ret
mov dword [0x51e840], 1
call fcn.004a8027
push ebp
pop ebp
test eax, eax
jb 0x4af54e
je 0x48c534
jne 0x48de67
cpuid
adc al, bl
mov dword [0x51e83c], 1
test edx, ebx
jae 0x48de79
cpuid
nop
ret
jae 0x48c513
shl bx, 0x20
mov eax, dword [esi + 4]
shr di, 0x40
mov ebx, dword [esi + 8]
mov ax, word [ebp + eax]
lea esi, [esi + 0xc]
mov word [ebx], ax
mov bl, bl
jmp dword [esi]
and ebx, 0x1fffffff
jb 0x4b1ad3
test ecx, esi
jae 0x48e9a6
invalid
jae 0x49f1aa
xor al, 0x82
invalid
xor al, 0xbe
jmp dword [esi]
push edi
pop ss
mov al, al
lea ebp, [ebp]
mov esi, dword [esi + 4]
jmp dword [esi]
insb byte es:[edi], dx
ror byte [eax + 0x4768bd2], cl
mov esi, dword [esi]
shl bp, 0x20
call fcn.00490a62
fldcw word [ecx - 0x9afba75]
mov dword [ebp + 0x50], eax
jmp dword [esi]
sub byte [esi - 0x76689969], 0xf8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
shl al, 0x20
ret
or ebx, 0xa0000000
jb 0x4af543
mov eax, ebx
pop ebx
mov edi, edi
call fcn.0048de3b
add eax, 0x4b3d855e
add dl, dh
cmp dword [edx], ecx
add dword [eax], eax
add byte [eax], al
push eax
add byte [eax], al
add byte [ecx - 0x36ffb654], ah
invalid
ja 0x4b8995
jbe 0x4ab2ac
inc ebp
in al, 0x9f
jbe 0x4b8995
xor al, 0x36
loope 0x4af544
dec dword [ebx + 0x6468045e]
push 0x34c30049
jmp 0x4af550
mov ebx, dword [esi + 4]
push 0x496864
ret
xor al, 0xeb
jmp dword [esi]
and byte [esi], 0x66
shl esi, 0x20
mov eax, dword [esi + 4]
mov bh, bh
mov ebx, dword [esi + 8]
lea esi, [esi + 0xc]
mov byte [ebp + ebx], al
jmp dword [esi]
jmp dword [esi]
mov ax, ax
mov esi, dword [esi + 4]
mov esi, dword [esi]
mov ebp, ebp
jmp dword [esi]
add esp, 4
cmp dword [0x51e840], 0
shr dh, 0x40
mov ebx, eax
je 0x48de42
jne 0x4b96b7
sub byte [ecx - 0x11], ch
cmp dword [0x51e83c], 0
je 0x48c534
jne 0x4b96cd
les ecx, [ebx + esi*2]
arpl cx, di
stc
jb 0x4b96d2
xchg ebx, eax
fisttp word [edi]
cmp byte [edx + 0xffffd52], 0x8a
mov ebx, 0x89fffff2
rcl byte [eax + 0x58], cl
jb 0x48e992
jp 0x4b8999
mov edx, edx
push eax
pop eax
lea esi, [esi + 8]
js 0x4ab2a1
jns 0x4b96f0
dec eax
mov eax, dword [0xab890ffc]
sbb edi, edi
jmp dword [0x49e0e21b]
jns 0x4ab2a1
and eax, 0x49e0e21b
add byte [eax], ch
add byte [eax], al
loop 0x4b96e2
dec ecx
add byte [eax + eax], ah
add byte [eax - 0x10ffb54e], bh
mov ebp, dword [ebp + 0x2f]
dec edx
add byte [ebp], dl
add byte [eax], al
push ebp
add byte [eax], al
add dh, al
test byte [edx], 0x50
add byte [eax], al
add byte [eax], dl
add byte [eax], al
sub byte [esi], cl
dec edx
add byte [ebx - 0x14], al
dec eax
add byte [ecx + 0x2c0049ac], ah
xchg esp, eax
dec edx
add byte [edi + 0x40004aff], cl
add byte [eax], al
add byte [eax], bl
add byte [eax], al
xor ch, ch
dec edx
add byte [esi - 0x69], cl
dec ebx
add byte [eax + esi*4 - 0x50], al
pop edi
add eax, 0xc004946
add byte [eax], al
add byte [eax], dl
add byte [eax], al
sbb dword [ebp + 0x4a], edi
add byte [eax], al
inc eax
add byte [eax], al
push eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
popal
add byte [eax + 0x68], al
add byte [ecx], ah
add byte [eax], al
or al, 0
add byte [eax], al
add byte [ecx], ah
sub byte [eax], 0
add byte [eax], al
and dword [eax], eax
add byte [eax + eax], cl
add byte [eax], al
adc dword [edx], ebp
dec edx
add dl, ah
loopne 0x4b97ca
add byte [eax], ch
add byte [eax], al
loop 0x4b9768
dec ecx
add byte [eax + eax], ah
add byte [esi], bh
xor eax, 0x94260049
dec edx
add bh, al
push 0x4ab2b8
inc edx
arpl word [ebp - 0x87db5c], cx
invalid
movsb byte es:[edi], byte [esi]
and al, 0x78
invalid
invalid
je 0x4b97d9
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
dec ecx
jne 0x4b97d0
mov dword [ebp + 0x60], esp
mov dword [esp], 0x4b97ee
mov esi, 0x4b980f
jmp dword [esi]
or ebx, 0xc0000000
jb 0x490a77
mov eax, ebx
shl ch, 0x20
pop ebx
ret