Function at 0xa24601
Capabilities:
Execute anti-debugging instructions

Disassembly:
mov ax, sp
mov edx, ecx
mov dword [esp], ebx
jmp 0xa240b2
clc
jl 0xa24090
jge 0xa240d0
lea esp, [esp + 4]
inc bl
xchg dx, ax
lea eax, reloc.oleaut32.dll_SysFreeString
push si
jmp 0xa240da
mov ax, sp
mov edx, ecx
mov dword [esp], ebx
jmp 0xa240b2
cmp eax, 0x9648e920
jno 0xa2437b
add esp, 1
xchg byte [esp], dh
lea esp, [esp + 1]
jmp 0xa24156
jge 0xa2412a
mov edx, dword [esp]
inc dx
jmp 0xa2412f
mov edx, dword [esp]
inc dx
jmp 0xa2421a
mov dx, cx
jmp 0xa241e7
add bl, 0x62
mov ax, 0x949e
mov edx, 0x3830c744
mov eax, edx
jmp 0xa24175
lea esp, [esp + 1]
neg bl
mov edx, dword [esp]
dec dh
jmp 0xa24114
mov ax, word [esp]
rcr eax, cl
xchg dh, ah
jmp 0xa24181
xchg dx, ax
and ebx, 0x3c
neg eax
jo 0xa2415f
jno 0xa2419f
sub esi, 4
push di
rdtsc
lea eax, [ecx + esi]
push word [esp + 1]
jmp 0xa241a9
mov ax, word [esp]
rcr eax, cl
xchg dh, ah
jmp 0xa24181
jne 0xa241bf
je 0xa241bf
fistp word [edx + esi*8 - 0x6b]
inc ecx
sub ebp, dword [ecx - reloc.oleaut32.dll_SysFreeString]
dec eax
jmp 0xa241be
pop ds
mov edx, dword [ebx + edi]
dec bh
jmp 0xa241f3
pushal
pop word [esp + 7]
lea esp, [esp + 2]
jmp 0xa242b0
mov al, 0x90
xchg dh, dl
bsr edx, edi
jmp 0xa2413c
je 0xa241ca
pushal
pop word [esp + 7]
jmp 0xa24201
lea esp, [esp + 2]
jmp 0xa242b0
sub bl, 0x18
mov eax, ebp
add edx, esi
jl 0xa24134
mov dx, cx
mov al, 0x90
xchg dh, dl
bsr edx, edi
jmp 0xa2413c
mov dword [esi], edx
call fcn.00a24252
push dword [esp + 2]
js 0xa242e5
lea esp, [esp + 4]
jmp 0xa242e9
jmp 0xa24324
lea esp, [esp + 4]
cmp esi, edx
ja 0xa242cf
neg ebx
jns 0xa24ad4
pushfd
inc eax
jmp 0xa24a46
lea edx, [edx*4]
neg eax
jp 0xa2435f
pushfd
jmp 0xa243c8
movzx ebx, byte [ebp]
mov ax, 0xbfa
xchg edx, eax
mov ax, bp
lea eax, [edx + esi]
jmp 0xa2430e
pushfd
mov word [esp], bx
mov dx, 0x967c
call fcn.00a24386
dec esp
enter 0x395e, 0xffffffffffffffc8
loop 0xa243da
cmc
pushfd
outsd dx, dword [esi]
adc al, 0x14
xchg dword [ebx + 0x348601c4], eax
and al, 0xe9
int3
add esp, 1
xchg byte [esp], dh
jmp 0xa24152
jmp 0xa244d6
mov word [esp], bx
mov dx, 0x967c
jmp 0xa2439c
xchg dword [esp], edx
setle dl
call fcn.00a24418
pushal
loopne 0xa2445e
adc eax, esp
stosd dword es:[edi], eax
sahf
sbb eax, 0x7827d48d
call 0x773e4064
cmp edi, edi
invalid
lea esp, [esp + 2]
jmp 0xa2446d
sub al, 0x47
int3
lea esp, [esp + 2]
mov al, bl
call fcn.00a2448b
mov word [esp + 1], dx
bt edx, eax
mov dx, 0xbb29
xchg word [esp + 1], dx
jmp 0xa244c0
pop word [esp + 1]
pop edx
jmp 0xa244fe
sub bl, cl
sete dh
push cx
sub esp, 0xc
jae 0xa24469
jb 0xa24453
mov byte [esp + 2], al
mov dx, bp
xchg dword [esp], edx
setle dl
jmp 0xa2451b
add al, 0x5d
call 0xa244e8
sub al, 0xe0
mov dx, 0x886f
mov dl, 0xc5
cmc
jbe 0xa245de
ja 0xa24542
out 0x11, al
nop
adc ecx, dword [edx + reloc.oleaut32.dll_SysFreeString]
lea esp, [esp + 3]
mov byte [esp], dl
lea esp, [esp + 1]
jmp 0xa24505
mov dl, 0xaf
jmp 0xa2456b
mov dl, bh
sub esp, 0
mov dl, byte [esp]
xor al, 0xfd
inc dx
jge 0xa245b7
jl 0xa245a1
mov ebp, 0x39caaf3f
jl 0xa244f2
adc byte [esi + 0x56910e1], al
lea ebx, reloc.oleaut32.dll_SysFreeString
mov dl, 0xaf
xor al, 0x2e
mov edx, 0x5621800
mov dx, word [esp]
or edx, 0x7bf8056c
jmp 0xa24598
mov dl, byte [esp]
jmp 0xa2454e
jno 0xa24546
mov dl, bh
sub esp, 0
jmp 0xa2457e
sub dl, 0xf3
sub esp, 0x16
lea edx, reloc.oleaut32.dll_SysFreeString
jmp 0xa24652
sub dl, 0xf3
sub esp, 0x16
lea edx, reloc.oleaut32.dll_SysFreeString
lea edx, [edx + esi]
lea esp, [esp + 2]
jmp 0xa24623
jmp 0xa24569
neg dl
dec dl
inc edx
jmp 0xa245fb
neg dl
dec dl
inc edx
call 0xa24601
jmp 0xa2462e
push word [esp + 1]
mov dx, 0x1b7e
rdtsc
lea esp, [esp + 3]
jmp 0xa246c4
lea esp, [esp + 0x14]
inc al
cmc
jns 0xa245f6
js 0xa245e0
sub cl, al
sub esp, 5
jnp 0xa24603
push word [esp + 1]
call fcn.00a2465b
mov byte [ebx], dl
and esi, 0x15
push 0x1e
xchg esp, eax
or ch, byte [ebp - 0x64]
sbb ecx, dword [eax + 0x3f09101]
xchg byte [eax - 0x73], al
adc al, 0x32
lea edx, [edx + esi]
lea esp, [esp + 2]
jmp 0xa24623
call fcn.00a246fd
dec ebp
into
pop esp
cmp edx, esi
frstor dword [ebx - 0xd]
xchg esi, eax
sub byte gs:[esi], ah
push ecx
rcl byte [ebx - 0x36]
inc dh
jg 0xa2468d
jle 0xa2468d
bswap edx
mov edx, ecx
inc dl
mov dh, bl
mov dl, ah
bswap edx
jmp 0xa24720
inc ebp
rdtsc
bswap edx
lea eax, [ecx - 0x44]
xchg dx, ax
jmp 0xa246a3
aam 0xeb
fld xword [ebx + 0x34c5a22c]
pop esi
mov edi, 0x3bc8a939
add bl, byte [eax + 0xfc17afb]
retf 0xd18b
mov dx, word [esp]
call fcn.00a24733
sub byte [ecx + 0x26a35031], ah
pushal
loop 0xa2478c
pop ss
loop 0xa246d5
mov dword [reloc.oleaut32.dll_SysFreeString], eax
or eax, 0xe1733259
xor bl, 0xdc
or ax, 0x3259
jae 0xa2470a
mov dx, word [esp]
jmp 0xa2470e
in eax, dx
push 0x116899fe
add eax, 0x8dcea7b4
lea eax, [edx + edx]
mov dh, ah
call fcn.00a24780
dec dl
push ebp
lea eax, [eax - 0x7f]
mov edx, dword [esp]
bsr edx, edi
mov edx, ecx
jmp 0xa247ec
lea eax, [eax + ebp]
inc al
push dword [esp + 8]
ret 0xc
sete dl
xchg dword [esp + 8], eax
lea eax, [ebp*4]
mov al, bh
jmp 0xa247d6
lea edx, [edi + 0x40]
mov ax, word [esp]
mov ax, word [esp]
mov al, 0x1f
mov ah, byte [esp]
jmp 0xa24a4d
mov eax, 0x61e2d86d
jmp 0xa24a7b
sub edx, ebx
sub esp, 6
jmp 0xa24aa0
xchg dword [esp], eax
pop eax
mov al, cl
lea esp, [esp + 2]
jmp 0xa24aa8
pushfd
inc eax
mov eax, 0x61e2d86d
mov ebx, edi
mov ax, word [esp]
mov dx, word [esp]
mov eax, dword [esp]
jmp 0xa24a22
mov al, cl
lea esp, [esp + 2]
jmp 0xa24aa8
jge 0xa24a58
xchg dword [esp], eax
pop eax
jmp 0xa24a8a
lea eax, [esi - 0x80]
and al, 0xfc
sub eax, edx
jmp 0xa24ab5
mov esp, eax
pushfd
lea edi, [eax + edx - 0x40]
jmp 0xa24aec
push ecx
jmp 0xa24ad6
jmp 0xa24a74
pushal
bswap eax
mov dword [esp + 4], ebx
popal
jmp 0xa24b4e
push esi
push edi
jmp 0xa24abe
pop esi
popfd
call fcn.00a24b27
dec ecx
rol dword [ebx + 0x26], cl
aad 0xe8
rcl dword [edx + ecx*8 - 0x53]
pop esp
and eax, 0x557ac341
les esi, [edi - 0xd]
movsb byte es:[edi], byte [esi]
rep movsb byte es:[edi], byte [esi]
pop ecx
pop edi
jmp 0xa24b08
mov edi, eax
mov ecx, edx
cld
jmp 0xa24b21