Function at 0x581189
Capabilities:
Execute anti-debugging instructions

Disassembly:
clc
call 0x580cb9
mov dword [esp + 5], esi
mov dword [esp + 1], ebp
lea esp, [esp + 3]
lea esp, [esp + 3]
lea esp, [esp + 4]
pushal
jmp 0x580da8
mov ebp, dword [esp]
mov di, 0x20c5
call fcn.00580d55
xchg ch, dl
mov edi, dword [esp]
neg di
lea ecx, [edx + edx]
setnp ch
mov esi, eax
jmp 0x580e41
inc al
mov esi, eax
push word [esp + 5]
bsf bx, si
call fcn.00580e09
xor bh, byte [ecx + 0x56bb4829]
adc al, 0x9a
or byte [edi - 0x66], ch
je 0x580ebc
mov dx, di
add esp, 1
mov byte [esp], bh
mov bp, 0xc3c7
push edx
xchg byte [esp + 2], cl
jmp 0x580e22
or dword [esi - 1], esp
je 0x580ee5
adc al, 0x88
je 0x580ee9
sbb ecx, ebp
dec eax
sti
invalid
mov al, 0x4e
mov dh, byte [esp + 0xa]
clc
mov bl, 0xc8
mov ecx, esi
xchg dh, al
jmp 0x580ede
popal
inc ecx
cmc
xchg word [esp + 3], bp
mov ch, byte [esp + 0x11]
mov dword [esp + 0xc], ebp
add ecx, dword [edx - reloc.MSVBVM60.DLL___vbaVarTstGt]
insb byte es:[edi], dx
and al, 0xc
adc dword [ecx - reloc.MSVBVM60.DLL___vbaVarTstGt], ecx
xchg esi, eax
add byte [eax], al
add byte [esi], bh
or dword [edi - reloc.MSVBVM60.DLL___vbaVarTstGt], eax
jmp 0x580f89
xchg word [esp + 0x14], si
cpuid
sub esp, 0x14
jmp 0x580ecb
mov byte [esp], dh
lea esp, [esp + 1]
lea eax, [ebx*4]
inc al
mov bx, word [esp]
rcr ebx, 0xf
jmp 0x580f9b
cld
shl si, cl
bsr ax, cx
pop word [esp]
ror ah, 1
neg ch
jmp 0x580f45
lea esp, [esp + 0xd]
pop eax
not di
mov bl, 0x78
ror ebp, 1
mov word [esp], di
jmp 0x580f6b
xchg ebx, ebp
clc
bswap edi
mov cx, bx
neg edx
mov di, sp
jmp 0x58139e
adc byte [edi + 0x641d8d16], ah
xchg edi, eax
adc bl, byte [edi + ebp*8 - 0x7cdf1e0a]
les eax, [eax]
add esp, 0
xchg ecx, ebx
call fcn.0058103c
jg 0x5810ac
ja 0x5810d9
loope 0x581131
lcall 0xf5cc, 0x18e98e18
in al, 0x17
jle 0x58111d
mov al, ah
mov ecx, 0x36f0fa14
rcr ch, 5
add esp, 1
mov bh, byte [esp]
btr ebx, esp
jmp 0x5810b9
invalid
xchg ebx, edi
mov cl, ch
xchg edi, ebx
mov bl, bh
mov si, word [esp + 9]
sub eax, eax
jmp 0x58116c
mov bl, 0x18
mov byte [esp + 9], ah
clc
xchg bh, cl
xchg di, ax
clc
jmp 0x5810e9
je 0x581143
pop es
pop bx
neg ecx
xchg ah, bl
xchg dword [esp + 1], ecx
cmc
jmp 0x5810ff
mov eax, dword [esp + 2]
mov al, ah
jmp 0x58117d
sub cl, al
lds esi, [edi - 0x72]
not si
lea ebx, [edi*4]
mov ebx, 0x2409bc16
call fcn.0058112d
sbb al, 0x99
or dword [eax - 0x65], ebp
jns 0x5811e2
cli
push 0x5b14fa0f
mov dl, 0xad
lea edi, [esp + ebx]
xchg byte [esp + 2], dl
pop cx
bswap ebp
setg ah
pop ebx
jmp 0x581149
bswap ecx
push dword [esp + 8]
call 0x581189
mov esp, 0x5eeb8766
mov bh, byte [esp + 0xb]
setg ch
jmp 0x581259
xchg bp, dx
lea eax, reloc.MSVBVM60.DLL___vbaVarTstGt
xchg cx, bp
rdtsc
pop word [esp + 1]
xchg dword [esp + 3], edi
jmp 0x58120b
lea esi, [edx + edx]
not bh
setg bh
mov bp, 0xebe7
cmc
btc ebp, edi
jmp 0x5811c0
xchg dx, ax
btc ebx, ebx
mov word [esp + 4], dx
xchg edi, eax
sub ebx, eax
setg ch
jmp 0x58121c
xchg ebp, ebx
rdtsc
xchg dh, al
bsr bp, cx
add ebx, ebp
btc eax, edi
jmp 0x5811f4
xchg dword [esp + 4], eax
push dword [esp]
sub esp, 4
bswap esi
lea ebx, [edx + edx]
xchg esi, ebp
jmp 0x58135c
xchg word [esp + 6], si
xchg edx, edi
mov dl, dh
pop si
mov si, di
xchg byte [esp + 6], dl
jmp 0x5811e2
lea esi, [ebp*4]
lea edi, [esp + ebp]
cmc
not si
jmp 0x58123f
mov di, bx
lea esp, [esp]
mov byte [esp + 3], ch
lea esp, [esp + 3]
neg bh
xchg ch, dl
jmp 0x5810d4
pop word [esp + 5]
mov ecx, dword [esp + 1]
mov dword [esp + 1], ebp
call fcn.00581288
setae ah
xchg ah, bl
pop dword [esp]
xchg ecx, esi
mov bh, byte [esp]
stc
jmp 0x581335
xchg dh, al
lea ebx, [ecx*4]
lea ebp, [esi + 0x85]
call int.00581387
outsd dx, dword [esi]
add edx, dword [ebx + reloc.MSVBVM60.DLL___vbaVarTstGt]
int1
ljmp 0x2474
mov al, 0x1e
push dword [esp + 2]
bsr dx, bp
lea ecx, [esi + 0xcd]
bsf dx, ax
mov edi, dword [esp + 1]
jmp 0x581315
mov di, dx
pop ebp
btc eax, ebx
pop ebx
push word [esp + 4]
btr ecx, edx
jmp 0x5812a4
mov bx, 0x3f61
sub esp, 4
bswap eax
stc
setl dh
and bp, 0xf72a
jmp 0x581271