Function at 0x4d567d
Capabilities:
Execute anti-debugging instructions

Disassembly:
pushfd
push edi
push ax
push dword [esp + 1]
add esp, 2
lea esp, [esp + 5]
jmp 0x4d5641
lea esp, [esp + 3]
pushal
rdtsc
lea ebp, [ebx*4]
adc si, di
xchg di, dx
jmp 0x4d567f
call 0x4d567d
push ebx
popal
outsb dx, byte gs:[esi]
imul ebp, dword [bp + 0x65], 0x69685320
insb byte es:[edi], dx
outsb dx, byte gs:[esi]
and byte [esi + 0x32], dh
xor ebp, dword cs:[esi]
cmp dword [esi], ebp
xor byte [eax], al
jmp 0x4d560f
mov dx, word [esp]
cpuid
mov dl, ch
btc ax, dx
lea edi, [esi + edi]
xchg edi, esi
jmp 0x4d56d2
mov dh, byte [esp]
mov ax, bx
mov ecx, dword [esp]
lea esi, [ebx + edi]
xchg si, ax
not ebx
jmp 0x4d5776
mov cl, 0x17
cld
mov dl, 0xad
btc eax, esi
mov edi, dword [esp]
mov eax, 0xb53ffd0f
jmp 0x4d56a3
mov ax, di
xchg bh, bl
add bh, dh
std
lea esi, [ebx + 0xdf]
cmc
jmp 0x4d56b9
neg cl
bswap eax
cpuid
bsf si, dx
mov word [esp + 0xa], ax
xchg word [esp + 0xd], si
jmp 0x4d5739
jmp 0x4d5703
jmp 0x4d565c
pop bp
seto bh
lea eax, [edx*4]
mov edx, dword [esp + 0xa]
mov word [esp + 5], cx
not dx
jmp 0x4d56e3
pop bp
mov si, cx
push word [esp + 3]
cpuid
jmp 0x4d5753
bswap ebp
mov word [esp + 1], di
mov ch, byte [esp + 0xf]
add ebx, 0xdf8cbc3e
pop si
pop word [esp + 4]
jmp 0x4d5723
lea esi, [edx*4]
bsr ax, si
sub esp, 0x15
xchg word [esp], bp
lea ecx, [edx + ebx]
mov word [esp + 0xd], di
jmp 0x4d57ac
sub esp, 0xf
push word [esp + 0xe]
setge bh
push word [esp + 2]
mov bp, word [esp + 3]
sete dl
jmp 0x4d5709
push dword [esp + 0x11]
inc dx
bswap edi
mov dl, bl
ror ch, 2
pop dword [esp + 2]
jmp 0x4d581e
push sp
xchg dword [esp + 0x16], ecx
inc di
lea eax, [esi + edi]
mov di, word [esp + 0x1c]
pop ax
jmp 0x4d5793
shr cx, 0xe
rol di, 0xa
xchg byte [esp + 9], ch
lea esp, [esp + 2]
xchg byte [esp], al
jmp 0x4d5802
mov dword [esp + 0xa], edx
mov bl, bh
setnp dh
pop cx
lea esp, [esp + 0x11]
cpuid
jmp 0x4d57c0
dec di
xchg esi, ecx
mov bp, word [esp + 0xc]
neg ch
pop word [esp + 7]
jmp 0x4d5830
mov ah, byte [esp + 0xa]
cpuid
pushfd
cpuid
stc
mov byte [esp], dl
jmp 0x4d57ec
cmc
pop ecx
bswap ebp
sub esp, 6
pop word [esp + 9]
xchg dword [esp + 0x14], eax
jmp 0x4d57d9
pop dword [esp + 6]
xchg byte [esp + 4], bh
add esp, 0xa
setge dh
pushfd
xchg byte [esp + 2], ah
jmp 0x4d5a14
push word [esp + 5]
setne dl
setnp dh
xchg byte [esp + 4], bl
jmp 0x4d589c
add esp, 1
rdtsc
mov bp, 0xd962
pop dword [esp + 2]
cld
cmc
jmp 0x4d5875
sub esp, 0xc
mov dword [esp + 9], ebx
pop word [esp + 0xc]
mov word [esp + 0x16], cx
lea esp, [esp + 0x11]
mov word [esp + 4], di
jmp 0x4d58d4
mov ch, byte [esp]
lea eax, [edi + 0xae]
btc si, sp
lea esi, [eax + edx]
push dword [esp + 0xa]
not dh
jmp 0x4d588b
lea edx, [ebp*4]
bswap edx
xchg bh, al
lea esp, [esp + 9]
setne ch
shr ebx, cl
jmp 0x4d5944
pop eax
rdtsc
setb ah
stc
mov word [esp + 8], bx
push dword [esp + 4]
jmp 0x4d58bc
mov di, 0x103
mov eax, ebx
pushfd
neg di
mov byte [esp + 2], dl
jmp 0x4d592e
lea esi, reloc.user32.dll_MessageBoxA
bswap ebp
bswap ecx
cpuid
cmp dh, cl
mov byte [esp], dh
jmp 0x4d5905
push dword [esp + 5]
mov bp, bx
mov ah, cl
mov byte [esp + 3], bl
mov ebx, eax
pushal
jmp 0x4d5956
sub esp, 0
adc bh, 0x5e
xchg byte [esp], cl
mov si, 0x43c5
cmp al, 0xd1
std
jmp 0x4d591b
bts eax, ecx
lea ecx, reloc.user32.dll_MessageBoxA
or bp, bp
pushal
lea esp, [esp + 0x4a]
mov eax, dword [esp]
jmp 0x4d59c0
mov byte [esp + 3], dl
pop word [esp + 0xe]
cpuid
mov word [esp + 0xe], bx
pop word [esp + 0xa]
setnp dh
jmp 0x4d58f3
push word [esp]
mov cx, ax
rdtsc
lea edx, [edx*4]
shl esi, cl
lea esp, [esp + 2]
jmp 0x4d59ea
mov al, byte [esp]
sub esp, 6
mov bh, 0x92
mov dword [esp], esi
mov dword [esp], edi
mov byte [esp + 1], cl
jmp 0x4d5998
mov di, bx
xor bx, 0xd5f8
pushal
mov dh, bh
xchg word [esp + 2], ax
jmp 0x4d59fe
mov di, sp
or ebx, 0x67d430fd
xchg bp, bx
cpuid
rdtsc
bswap edx
jmp 0x4d59d4
not eax
xchg cx, bx
mov bh, byte [esp + 0xd]
xchg cx, ax
mov bl, 0x40
not ecx
jmp 0x4d5a53
mov word [esp], bx
sub esp, 0x10
lea ecx, [eax + edi]
cld
neg bp
mov ah, byte [esp + 6]
jmp 0x4d597b
mov dword [esp + 3], eax
std
pop cx
mov bx, dx
mov dh, 0xfc
setp al
jmp 0x4d5a87
xchg byte [esp + 1], al
inc si
mov cl, byte [esp]
xchg byte [esp + 1], ch
xor edi, eax
jmp 0x4d5a67
push cx
stc
mov bp, word [esp + 0x1e]
lea esi, [ecx + ecx]
xchg byte [esp + 0xd], ch
add esp, 0x1a
jmp 0x4d5a2b
sub esp, 0xd
pop eax
pop dword [esp + 1]
push esi
neg si
shr eax, 0x12
jmp 0x4d5aa0
pop word [esp + 1]
pop word [esp + 2]
add esp, 0
xchg dword [esp + 2], ebp
xchg ecx, edx
mov byte [esp + 2], ch
jmp 0x4d5a3c
mov bx, word [esp + 0xe]
pop word [esp + 4]
pushal
lea esp, [esp + 0x28]
push edi
cmp cl, 0xec
jmp 0x4d5d6b
xchg ecx, esi
lea edi, [esp + 0xb]
xchg word [esp + 0xd], bx
mov word [esp + 0xa], bx
jmp 0x4d5b30
mov al, byte [esp + 0x17]
mov cx, bx
rdtsc
bswap esi
lea edx, [ecx*4]
lea esp, [esp + 0x15]
jmp 0x4d5ac9
pop word [esp + 3]
bts dx, dx
inc al
xchg dword [esp + 3], edx
pop eax
jmp 0x4d5b42
mov byte [esp + 1], bh
mov bl, bh
lea esi, [esi*4]
xchg byte [esp + 1], ah
setb dl
not edx
jmp 0x4d5af7
xchg esi, edx
xchg cl, ah
mov bp, 0xc82f
pop word [esp + 6]
pop ebx
pop bp
jmp 0x4d5b0d
pop word [esp + 5]
mov edx, 0x33e19db8
and ebx, 0x4bb7428c
cpuid
jmp 0x4d5b88
mov dword [esp], esi
pop word [esp + 1]
sub esp, 0x10
cpuid
cmc
rdtsc
jmp 0x4d5adf
xchg di, bx
lea ecx, [esi + 0xf0]
bt ax, dx
pop bp
jmp 0x4d5bc2
mov bx, 0xd3cc
mov bp, 0x8c4
lea eax, reloc.user32.dll_MessageBoxA
xchg si, ax
push dword [esp + 8]
mov di, dx
jmp 0x4d5b72
and di, 0x664b
rcl ebx, 0x14
add esp, 6
setnp al
push word [esp + 3]
xchg cx, si
jmp 0x4d5bec
xchg byte [esp + 6], bl
xchg byte [esp + 6], dh
std
sbb ecx, ecx
setl al
bsf bp, cx
jmp 0x4d5ba1
xchg dword [esp + 3], eax
xchg byte [esp + 5], ch
mov ebx, dword [esp + 3]
jmp 0x4d5c01
push dword [esp + 4]
xchg byte [esp + 6], al
mov bl, 0x9a
rcr edx, 0xe
neg dl
mov bx, 0xe5a5
jmp 0x4d5bd6
mov di, 0x1672
push word [esp + 4]
mov word [esp + 5], cx
mov dword [esp + 5], eax
mov ecx, dword [esp + 7]
jmp 0x4d5cac
lea edx, reloc.user32.dll_MessageBoxA
xchg edx, eax
lea eax, [eax + 0x15]
pop cx
pop word [esp + 4]
lea eax, [esi + edi]
jmp 0x4d5b5d
mov ch, 0x2b
bsr esi, eax
stc
xchg cx, di
mov ch, bl
bsr esi, esi
jmp 0x4d5c8b
lea edx, [eax*4]
pop di
pop dword [esp]
pop word [esp + 1]
mov ebx, dword [esp]
xchg byte [esp + 2], bh
jmp 0x4d5c36
mov ah, 0xc5
push ecx
pop ebp
std
bt dx, sp
rol si, cl
jmp 0x4d5cd7
pop ecx
bsr bx, cx
bsf bx, dx
bswap ecx
mov ecx, ebp
pushal
jmp 0x4d5c75
bsf di, sp
bswap edi
rdtsc
mov si, word [esp + 1]
add ecx, esi
mov cl, byte [esp + 5]
jmp 0x4d5c5b
add esp, 0x15
lea ecx, [ecx + edi]
sete cl
bt edi, edi
cpuid
dec di
jmp 0x4d5cec
mov ax, bx
clc
mov ebp, 0x6234e435
mov ah, 0xef
setnp bl
mov word [esp + 0x1d], dx
jmp 0x4d5cc1
pop edx
mov word [esp + 5], bx
mov dx, 0x5c7a
mov word [esp + 5], di
push dword [esp + 7]
xchg word [esp + 6], dx
jmp 0x4d5d42
mov dh, 0xde
std
sub esp, 0x1e
mov edi, dword [esp + 0xf]
mov dx, word [esp + 0x17]
add esp, 5
jmp 0x4d5c1d
xchg word [esp + 2], dx
btc dx, cx
mov edx, dword [esp + 4]
jmp 0x4d5da3
mov bh, 0xa6
mov ebp, esp
mov word [esp + 6], ax
mov eax, 0x8607541b
mov ebx, 0x8379a96e
mov eax, esp
jmp 0x4d5d2c
xchg byte [esp + 5], ch
setne bh
xchg byte [esp + 7], dh
mov bp, 0x5428
xchg byte [esp + 5], ah
mov dword [esp + 1], ecx
jmp 0x4d5d15
mov cl, byte [esp + 1]
bsf edi, esi
setl cl
mov ebx, dword [esp + 7]
pop word [esp + 3]
sete dh
jmp 0x4d5dbb
push word [esp + 0xa]
xchg dword [esp + 5], ebp
pop esi
lea ebp, reloc.user32.dll_MessageBoxA
mov cl, byte [esp + 9]
xchg ebx, edi
jmp 0x4d5d84
setno dh
push word [esp + 7]
mov si, 0x3617
cmc
mov cl, byte [esp + 1]
jmp 0x4d62d3
mov ecx, 0x54ac3cbf
bsr dx, cx
xchg bp, ax
not edx
call fcn.004d5ee8
lea ecx, [edx*4]
mov ax, word [esp + 2]
bswap edi
jmp 0x4d6101
mov edx, 0x5a211cde
rcl cl, cl
setle ch
btc di, di
jmp 0x4d6113
mov byte [esp + 5], ah
xchg si, ax
pushfd
mov si, word [esp + 5]
pushfd
rdtsc
jmp 0x4d60eb
xchg bx, si
not edi
mov byte [esp + 4], ah
lea ecx, reloc.user32.dll_MessageBoxA
xchg word [esp + 3], bx
jmp 0x4d61db
pop word [esp + 8]
mov ebx, edx
mov esi, ebp
push dword [esp + 4]
jmp 0x4d6171
sbb ebx, ecx
xchg byte [esp + 5], al
mov edi, esp
mov byte [esp + 6], al
mov edx, dword [esp + 0xe]
xchg dword [esp + 4], ebx
jmp 0x4d6145
mov dh, byte [esp + 5]
push dword [esp + 0xb]
rcl dh, cl
pop dword [esp + 6]
sub esp, 1
jmp 0x4d61b4
rdtsc
setae bl
mov byte [esp + 5], dh
pop ebp
stc
lea ebx, [ebp*4]
jmp 0x4d615b
dec ebp
mov eax, dword [esp + 0x12]
pop di
dec ebx
rdtsc
mov esi, dword [esp + 2]
jmp 0x4d6203
xchg word [esp + 2], dx
bsr eax, esi
xchg byte [esp + 6], bl
cmc
push word [esp + 2]
mov byte [esp + 0x11], al
jmp 0x4d619e
mov di, si
push bx
push dword [esp + 2]
mov bh, 0x31
sbb eax, ebx
mov cx, si
jmp 0x4d618a
pop word [esp + 0x17]
pop dx
pop word [esp + 0x29]
call fcn.004d6214
mov ch, 0xa4
xlatb
or dword ds:[eax + reloc.user32.dll_MessageBoxA], ecx
sbb edx, 0xc18a665a
mov byte [esp + 0xe], bl
sbb dx, 0x665a
mov al, cl
dec ecx
pushal
dec bx
jmp 0x4d61ed
btr ax, bp
lea esi, [ebx*4]
lea ebx, [ecx + 0x1f]
xor dh, bl
add esp, 2
xchg word [esp + 1], ax
jmp 0x4d60ac