Function at 0x495c91
Capabilities:
Authenticate hmac

Disassembly:
test ebx, ebx
jb 0x4bc038
jne 0x4a85cb
je 0x49320a
enter 0xad6, 0xffffffffffffffe8
stosb byte es:[edi], al
push ebx
add dword [eax], eax
call 0x4a85b9
invalid
push eax
call dword [0x51f0f5]
test eax, eax
jb 0x49c2d0
jne 0x494fd4
je 0x494fca
bound esp, qword [ebp - 0x4799f731]
invalid
mov ax, 0xffff
mov esp, ebp
pop ebp
ret
cmp word [ebp - 0xa], 0xfafa
mov ax, 0xffff
shr ebp, 0x40
jne 0x494ff0
je 0x494fed
mov word [ebp + 0x458be89e], gs
clc
mov eax, dword [ebp - 8]
jmp 0x49ba81
push ebp
mov dl, dl
mov ebp, esp
or ebx, ebx
sub esp, 0xc
cmp dword [0x51e838], 0
jne 0x49db38
je 0x495cb5
lds ebp, [esi]
pushfd
int1
call fcn.004b050c
test eax, eax
jb 0x4960ff
jne 0x49db38
je 0x495cce
push 0xe8b143a0
push eax
jle 0x495cd2
call 0x49db23
invalid
add bh, al
sub byte [edi], cl
test dword [edx], ecx
add byte [eax], al
shr al, 0x40
je 0x495ce2
xchg ebx, eax
pop ss
xor edx, edx
jb 0x4a1e96
mov al, byte [ebp + edx - 0x20]
mov dx, dx
mov ebx, dword [esi]
mov cx, word [ebx + 0xbc]
sub al, 0x58
sub cl, 0x34
inc edx
xor al, cl
jb 0x4a1eac
cmp edx, 8
mov byte [ebx + edx + 0x2b], al
jl 0x495cea
jge 0x495d1e
nop
cpuid
ret 0xa5e9
jmp 0x4b8dc8
xor al, 0x3d
mov esi, dword [ebp + esi]
jmp dword [esi]
jbe 0x49ad13
test esi, esi
je 0x49ad34
mov ebx, dword [esi + edi + 0x24]
add esi, edi
add ebx, edi
call fcn.0049aba1
sub al, 0x50
into
mov eax, dword [esi + 0x20]
add eax, edi
mov edi, dword [esi + 0x1c]
add edi, dword [ebp + 8]
inc esi
and byte [ebx], al
invalid
daa
ror byte [ebp - 0x12a43], 0xff
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
and byte [ebp - 0x654], 0
push 0x40
pop ecx
xor eax, eax
lea edi, [ebp - 0x653]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
and byte [ebp - 0x504], 0
push 0x40
pop ecx
xor eax, eax
lea edi, [ebp - 0x503]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
call fcn.0049ab7f
or byte [eax + 0x2ff845c6], ah
mov byte [ebp - 0x24], 0x34
and byte [ebp - 0x36c], 0
and byte [ebp - 0x36b], 0
mov byte [ebp - 0x36a], 0xaa
and byte [ebp - 0x369], 0
mov byte [ebp - 0x368], 0x12
mov byte [ebp - 0x367], 0x30
mov byte [ebp - 0x366], 0x21
test dword [esp + edi*8 - 1], edx
dec dword [ebx + 0x448dfc4d]
add dword [ecx + ecx*4], eax
test dword [eax], ecx
stc
invalid
cld
xor eax, eax
jb 0x49c2c9
lea ecx, [ebp - 4]
mov word [ebp - 0xc], ax
push eax
mov word [ebp - 0xa], ax
jmp 0x49db4d
push ecx
push 6
lea edx, [ebp - 0xc]
push edx
mov eax, dword [ebp + 8]
push 6
push edx
push 0x9c402450
jne 0x494fae
je 0x49db6d
or ch, byte [ebp - 0x47]
je 0x494fae
add eax, 0x57f6ff58
xor esi, esi
jb 0x4aed46
push 0x51ef21
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ebx, eax
jno 0x4931f7
jo 0x49db97
fnstcw word [ecx + 0x565a800f]
invalid
jo 0x4931f7
add byte [edi + ecx - 0x83c278], 0xff
test byte [ebp + esi*2], dh
add bh, bh
jle 0x4a1e8f
jle 0x4a1e8f
mov esi, dword [esi + 4]
lea ebp, [ebp]
jno 0x497786
xchg cx, dx
xchg dx, cx
jo 0x4a1eaf
je 0x4a1ec5
inc eax
jo 0x497786
xor eax, 0x44e8bf6
mov ecx, ecx
lea esi, [esi + 0xc]
shl byte [ebx + edx], cl
jmp dword [esi]
clc
lea esi, [esi]
ja 0x4b23fd
shl bl, 0x20
jbe 0x4a1ed5
out 0x62, al
jbe 0x4b23fd
xor al, 0xf9
shr bl, 0x40
push str.IsTNT
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push ebx
call edi
test eax, eax
jb 0x4bc041
je 0x4a8607
jne 0x4a85f1
or al, 0xf
pop esp
jmp 0xc0d056f4
call eax
test eax, eax
jb 0x49ac99
jne 0x4a8628
je 0x4a8607
cmp al, 0xb2
fild word [edx]
push str.Borland32
push ebx
call edi
push eax
pop eax
test eax, eax
jb 0x49acb5
je 0x4a862d
shr al, 0x40
jne 0x4a8628
fst dword [esi]
retf 0x1be
mov esi, 1
push ebx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
shr dl, 0x40
mov eax, esi
pop edi
pop esi
pop ebx
call fcn.004958fc
adc byte [edi - 0x3a78f0b0], 0x4b
invalid
add edi, dword [edx + 0xf]
mov bh, bl
rol byte [eax], cl
add byte [esi - 0x77], ah
fstp xword [ecx + 4]
cpuid
inc edx
ret
mov ecx, ecx
mov ebx, dword [ebp + 0x64]
jne 0x49eda5
xor eax, 0x24448fc2
cld
mov dh, dh
push 0
lea eax, [ebp - 8]
push eax
mov ecx, dword [ebp - 4]
push 0x2000
push ecx
push 0x2000
mov edx, edx
push ecx
jmp 0x4ba484
push 0x9c4024a8
mov bx, bx
push esi
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
shl dx, 0x20
mov edi, eax
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test edi, edi
jb 0x4b88d6
je 0x4972fa
jne 0x4ba4b3
or eax, 0x7d81f21e
clc
or byte [eax], al
add byte [eax], al
cmp dword [ebp - 8], 8
jne 0x4ad36f
je 0x4ba4c6
and dword [ebx + 0xd], esp
int1
je 0x4ad36f
invalid
dec ecx