Function at 0x1031e7ed
Capabilities:
Execute anti-debugging instructions

Disassembly:
neg ebx
mov ecx, esp
jmp 0x1031dd8c
mov dx, 0xa70e
bsr ecx, edx
jg 0x1031ddcb
neg cx
jmp 0x1031ddb0
mov ecx, dword [esp]
cmc
jnp 0x1031dd82
jp 0x1031dd82
cmc
jmp 0x1031ddcf
xchg dx, cx
jmp 0x1031ddf6
sub eax, 0xdef739fa
sub dword [eax + 0x66], ecx
neg ecx
neg cx
cmc
xor ebx, 0x16bca2b3
mov cx, word [esp]
mov ch, 0x5a
lea ecx, [eax + ecx]
jmp 0x1031ddb3
mov dword [ebp], ebx
call fcn.1031de0c
cmp dl, byte [0x53de3784]
add bh, ch
lodsd eax, dword [esi]
cdq
cli
jo 0x1031ddc4
push ds
not ebx
lea edx, [eax + edx]
setno cl
bswap edx
inc dl
jmp 0x1031de08
jo 0x1031dde0
jno 0x1031dde0
ror ecx, cl
mov cx, 0x7eee
inc dh
jmp 0x1031dda8
mov edx, ebx
rcr cl, cl
jmp 0x1031de22
add esp, 1
jp 0x1031df3d
shl cx, 7
lea esp, [esp + 3]
jmp 0x1031df27
jmp 0x1031df0f
push esi
lea eax, [esp + 0x46]
lea eax, [edx - 1]
jmp 0x1031df87
shl cx, 7
lea esp, [esp + 3]
jmp 0x1031df27
bts ecx, ebx
jo 0x1031df06
mov edx, ebx
rcr cl, cl
ror ecx, cl
mov cx, 0x7eee
inc dh
jmp 0x1031dda8
jle 0x1031df69
invalid
pushal
pop edx
adc bl, 0xf4
jle 0x1031dfa9
push word [esp + 0xa]
lea esp, [esp + 2]
jmp 0x1031dfb0
push ebp
mov esi, ecx
pushal
pop bp
lea esp, [esp + 2]
jmp 0x1031df71
lea esp, [esp + 2]
jmp 0x1031dfb0
push word [esp + 0xa]
jmp 0x1031df93
add esp, 0x38
jae 0x1031dfea
jb 0x1031dfea
mov edi, 0x19a647a7
jle 0x1031df69
mov gs, word [esi]
sbb eax, 0xa5e5a5a5
test eax, 0x148d67b1
mov ebp, 0
mov cl, 0x67
lea edx, [edi*4]
rol ebx, 0
jmp 0x1031df5b
not ch
jmp 0x1031e064
pop esi
bt bx, bx
jmp 0x1031dff5
jg 0x1031dfd4
not ch
jmp 0x1031e064
and cx, si
jmp 0x1031dfc6
mov ebx, dword [esp]
mov bp, ax
lea esp, [esp + 4]
xchg ecx, eax
jmp 0x1031e042
jmp 0x1031e014
mov ecx, 0x3f715423
rdtsc
pop ebp
jmp 0x1030c8f6
pop edi
mov ebp, 0x7ef6446
and edx, 0x5c1724c1
jne 0x1031e02a
je 0x1031e02a
bts eax, edi
jp 0x1031e0b8
rdtsc
call fcn.1031e097
push 0x5be33ab5
call fcn.1030a1e1
jle 0x1031e0d5
lea eax, [ebp + 0x63]
mov edi, dword [esi]
bswap edx
mov ah, dh
jmp 0x1031e074
rdtsc
add esi, 4
jmp 0x1031e11d
lds ecx, [ebx + 0x290c8dd0]
lea ebp, [ebp + 0x3a]
rcr eax, cl
jmp 0x1031e10b
lea eax, [esi + ebp]
lea edx, reloc.WINMM.dll_waveOutUnprepareHeader
btc eax, esi
cmc
push dword [esp]
ret 4
mov ax, word [esp]
sete dh
mov cl, byte [esp]
mov al, cl
xchg dword [esp], ebp
stc
jmp 0x1031e0f1
mov eax, esp
mov ch, byte [esp]
mov ax, si
cmp ecx, ecx
jmp 0x1031e4c2
push ebx
xchg dh, ch
shl cx, cl
je 0x1031e44c
jne 0x1031e217
sahf
add dword [ecx + reloc.WINMM.dll_waveOutUnprepareHeader], edx
add edi, dword [edx + reloc.WINMM.dll_waveOutUnprepareHeader]
xchg esp, eax
pop esp
not ecx
bts edx, eax
jg 0x1031e00f
and cx, si
mov cl, 0x67
lea edx, [edi*4]
jmp 0x1031dfcf
push edi
mov dx, word [esp]
xchg dx, cx
call 0x1031e178
xchg ebp, eax
pop word [esp]
lea esp, [esp + 2]
jmp 0x1031e1e6
mov dl, byte [esp]
jmp 0x1031e16a
rdtsc
call 0x1031e1bd
inc ax
mov edi, 0xbe194539
btr ecx, edx
mov ax, word [esp]
bsf di, cx
jmp 0x1031e1f7
push esi
bswap edi
bts ax, cx
ja 0x1031e1b5
rdtsc
jmp 0x1031e259
xchg dword [esp], ecx
pushal
xchg esi, eax
bsf esi, esp
not bh
lea ecx, [ecx - 0x21]
jmp 0x1031e33d
mov ch, 0xf4
btc edx, ebp
jp 0x1031e196
mov dl, byte [esp]
jmp 0x1031e16a
mov ebx, 0x759ca05e
jmp 0x1031e279
mov edi, dword [esp]
inc cx
js 0x1031e22a
mov ebx, 0x759ca05e
lea esp, [esp + 4]
neg cl
jmp 0x1031e263
not dx
mov edx, dword [esp]
rdtsc
jmp 0x1031e240
mov edx, ebx
mov cx, di
jmp 0x1031e284
lea esp, [esp + 4]
neg cl
mov edx, ebx
mov cx, di
lea esi, reloc.WINMM.dll_waveOutUnprepareHeader
rcl bx, cl
jmp 0x1031e2b2
not edx
sbb ebx, esi
bsr si, ax
push dword [esp + 0x20]
ret 0x24
jno 0x1031e2d3
bsf bx, ax
mov esi, dword [esp]
jmp 0x1031e30a
mov dh, byte [esp]
mov bl, byte [esp]
dec cl
js 0x1031e2ea
jns 0x1031e2ea
pop edx
invalid
bsf bx, ax
mov esi, dword [esp]
sub esp, 1
mov ecx, dword [esp]
lea esp, [esp + 1]
lea esp, [esp + 4]
jmp 0x1031e2bd
pop eax
jmp 0x1030f0f6
sub esp, 1
mov ecx, dword [esp]
lea esp, [esp + 1]
jmp 0x1031e2e4
rcr si, 9
btr eax, ebx
not bx
lea eax, [edx + ebx]
xchg dword [esp + 0x20], ecx
mov bx, word [esp]
jmp 0x1031e2a3
jmp 0x1031e217
mov byte [esp + 5], ah
mov edx, dword [esp + 7]
lea esp, [esp + 6]
sub esp, 5
xchg byte [esp], dl
lea esp, [esp + 3]
jmp 0x1031e542
jp 0x1031e12d
jnp 0x1031e12d
jbe 0x1031e4a4
mov byte [esp + 5], ah
mov edx, dword [esp + 7]
jmp 0x1031e5a2
lea esp, [esp + 4]
neg ecx
neg edx
je 0x1031e585
jne 0x1031e56f
jae 0x1031e54f
jmp [edi + 0xa]
outsd dx, dword [esi]
or bh, cl
mov ecx, 0xaf5ccd52
xchg dword [esp + 4], edi
bsr edx, esp
mov dx, word [esp]
mov edx, 0xcc9bd03c
push dword [esp + 4]
ret 8
xor dx, si
lea edx, [ecx + edx]
btr edx, eax
jmp 0x1031e5c7
xor dx, si
lea edx, [ecx + edx]
btr edx, eax
setne dh
neg dx
jmp 0x1031e5b1
lea esp, [esp + 6]
sub esp, 5
xchg byte [esp], dl
call fcn.1031e4dd
add ecx, 0x2c850243
neg dx
jb 0x1031e5cf
jae 0x1031e5db
xchg esi, eax
sbb eax, 0x9127d48d
in al, dx
inc esi
setne dh
neg dx
jmp 0x1031e5b1
mov edx, 0x231f5b05
jmp 0x1031fccd
mov edx, 0x231f5b05
mov dl, cl
jmp 0x1031fccf
clc
jne 0x1031e773
sub esp, 0x19
mov cx, 0x252
push word [esp + 0x15]
lea esp, [esp + 3]
jmp 0x1031e77c
push word [esp + 0x15]
lea esp, [esp + 3]
jmp 0x1031e77c
and bh, byte [edi]
push es
mov cl, 0xb0
sub esp, 0x19
mov cx, 0x252
jmp 0x1031e758
lea esp, [esp + 0x18]
not ebx
xchg ecx, edx
xchg dx, cx
mov dl, ch
jmp 0x1031e7b9
mov dword [edi], ebx
dec dh
jb 0x1031ec39
jae 0x1031e9f0
mov esp, 0x31c2a737
cli
stosb byte es:[edi], al
lea ecx, [esi*4]
lea esp, [esp + 1]
ror ebx, 0
mov cx, 0x8d52
jmp 0x1031e730
neg ebx
mov ecx, 0xa2578a80
mov cx, word [esp]
or ecx, 0x23bde93a
jmp 0x1031ee35
add ch, al
je 0x1031e76e
pushfd
call 0x1031e749
mov bx, word [esp]
cmp edi, edx
jl 0x1031e7f8
jge 0x1031e7f8
ja 0x1031e7ce
jnp 0x1031e803
in eax, dx
push esp
mov ds, word [ecx]
js 0x1031e846
mov dl, 0xad
mov ecx, ebp
xchg word [esp], cx
mov cx, dx
jmp 0x1031e7d7
call fcn.1031e834
invalid
lea edx, [ebp + 0x50]
call 0x1031e7ed
lea esp, [esp + 2]
jmp 0x1031f0fe
push cs
jnp 0x1031e838
fadd st(0), st(0)
and ecx, ecx
or dword [edi + ebx*8 + 0x66], 0xbc0f6652
leave
push dx
bsf cx, cx
lea esp, [esp + 2]
jmp 0x1031e816
jmp 0x1031e850
not cx
inc dx
jno 0x1031e8ca
push dx
bsf cx, cx
lea esp, [esp + 2]
jmp 0x1031e816
mov bl, al
mov cx, di
jmp 0x1031e961
mov bl, al
mov cx, di
jmp 0x1031e961
jle 0x1031e78b
jg 0x1031e78b
bsr ebx, esp
jmp 0x1031ee5b
shl ecx, 2
je 0x1031eec3
bsf ebx, edx
mov bh, ch
neg bx
jmp 0x1031ee84
mov bh, ch
neg bx
call fcn.1031eea0
bsf ebx, edx
jmp 0x1031ee7f
ja 0x1031e7fd
mov bl, 0x2f
sub esp, 0x16
jmp 0x1031f11e
jo 0x1031f138
add esp, 0xb
pop dx
jmp 0x1031f147
add esp, 0xb
pop dx
lea esp, [esp + 1]
jmp 0x1031f21a
lea esp, [esp + 1]
jmp 0x1031f21a
sub esp, 0x17
bswap ecx
jmp 0x1031f1e4
bswap ecx
xchg dword [esp + 2], ecx
lea esp, [esp + 3]
jmp 0x1031f1ec
lea ebx, [ebp + 0x40]
dec cl
ja 0x1031f185
sub esp, 0x17
jmp 0x1031f190
mov ecx, esi
bswap ecx
pushfd
lea ecx, [edi - 0x80]
jmp 0x1031f1f0
mov byte [esp + 0x12], ch
push dword [esp + 6]
lea esp, [esp + 1]
jmp 0x1031f36b
xchg dword [esp + 2], ecx
lea esp, [esp + 3]
sub ebx, edx
jmp 0x1031f1bb
and cl, 0xfc
call fcn.1031f1c5
je 0x1031f1ce
mov byte [esp + 0x12], ch
push dword [esp + 6]
jmp 0x1031f3da
mov edx, ebp
pushfd
setp bh
xchg bx, cx
jmp 0x1031f1af
call fcn.1031f2bc
add edi, 4
mov dh, byte [esp]
sub ch, 0xe0
jno 0x1031f33a
mov edx, eax
jmp 0x1031f324
push eax
neg bl
jbe 0x1031f354
lea edx, [eax*4]
clc
mov dl, 0xf9
jmp 0x1031f3a5
mov edx, eax
jmp 0x1031f324
clc
mov dl, 0xf9
jmp 0x1031f3a5
lea edx, [eax*4]
jmp 0x1031f33e
pushfd
sub ecx, ebx
jo 0x1031f2f8
jno 0x1031f2f8
lea eax, [edi*4]
jmp 0x1031f38a
jmp 0x1031f372
push edi
mov bh, 0x53
bt ebx, esi
jno 0x1031f3b9
jo 0x1031f3c3
rcr byte [ebx - 0x35], 1
scasb al, byte es:[edi]
pop ebp
popfd
mov esp, 0x7ac43552
or dword [eax + reloc.WINMM.dll_waveOutUnprepareHeader], ebp
push esi
mov bl, 0x3e
setnp ch
btc ebx, edi
jg 0x1031f388
lea eax, [edi*4]
jmp 0x1031f38a
bt ax, si
jmp 0x1031f45f
bt ax, si
lea ecx, [esp + 0x8f]
sub esp, 0x13
jmp 0x1031f431
lea esp, [esp + 1]
jmp 0x1031f36b
xchg dword [esp + 7], edi
jmp 0x1031f46d
lea ecx, [esp + 0x8f]
sub esp, 0x13
xchg dword [esp + 7], edi
call fcn.1031f404
xchg dword [esp], ecx
mov bx, word [esp]
rol di, cl
mov eax, ebp
bswap eax
jmp 0x1031f49a
push dword [esp]
ret 4
mov dl, cl
not ecx
bswap edx
mov dl, cl
jmp 0x1031e7d1