Function at 0x29e81fd
Capabilities:
Execute anti-debugging instructions

Disassembly:
xchg dh, ah
lea edi, reloc.DSOUND.dll_DirectSoundCreate
pop esi
neg ebx
jmp 0x29e819c
rdtsc
not bh
mov eax, 0xed5acaab
lea edx, [edi*4]
mov cx, word [esp + 0xc]
btc edx, ecx
jmp 0x29e8156
mov esi, dword [esp + 4]
pop eax
lea esp, [esp]
pop word [esp + 2]
jmp 0x29e81b3
mov ecx, 0x806c07e7
push word [esp + 1]
inc bp
clc
xchg byte [esp + 8], cl
xchg dword [esp + 3], eax
jmp 0x29e8186
lea esp, [esp + 4]
lea esi, reloc.DSOUND.dll_DirectSoundCreate
mov ebx, 0xb9f43eca
lea ebx, [ebp + 0xbb]
jmp 0x29e81df
mov ax, bp
bswap esi
mov byte [esp], ah
cld
mov dword [esp + 7], eax
pop eax
jmp 0x29e816c
lea ecx, [eax + esi]
not ch
bswap ecx
lea esp, [esp]
neg edx
xchg byte [esp], al
jmp 0x29e821a
mov esi, 0xb21d07a0
jmp 0x29e81cf
mov ax, word [esp]
mov edx, ecx
xchg ch, bh
dec bl
sub esp, 0xf
jmp 0x29e822f
cmp edx, eax
cpuid
rdtsc
lea eax, [edx*4]
btc esi, ecx
mov di, bp
jmp 0x29e8204
lea ebx, reloc.DSOUND.dll_DirectSoundCreate
xchg bh, dl
clc
mov ebp, dword [esp + 8]
jmp 0x29e825a
mov word [esp + 0xc], di
mov esi, 0x80e602e2
push word [esp + 1]
sub esp, 0xf
lea esp, [esp + 0x12]
jmp 0x29e82aa
lea edx, [ecx + edx]
mov byte [esp + 7], bh
mov ebp, dword [esp + 0xe]
rdtsc
not edx
xchg word [esp], bx
jmp 0x29e82e4
cmp ax, 0x97f6
setge bh
bswap eax
mov byte [esp + 9], al
mov ecx, 0x9c4e7c7
bt ecx, edi
jmp 0x29e828d
xchg word [esp + 1], dx
not cl
setno ah
neg dx
mov ebp, 0xe8e7ba88
mov ebp, esi
jmp 0x29e82fb
mov word [esp + 0xa], cx
lea edx, reloc.DSOUND.dll_DirectSoundCreate
pop cx
mov dl, 0xbb
lea esp, [esp + 0xb]
push bp
jmp 0x29e82c1
xchg bl, ah
clc
xchg dword [esp], edi
pop word [esp]
mov si, cx
setg dh
jmp 0x29e8428
bsf edi, ebx
push cx
mov ah, dl
call fcn.029e83b7
push edx
je 0x29e838b
push ebp
outsb dx, byte [esi]
ja 0x29e838c
outsb dx, byte [esi]
add byte fs:[esi - 0x77], ah
je 0x29e834e
adc al, 0xbb
xchg edi, eax
dec esi
sub byte [ebx], ch
xchg cx, dx
bsf edx, eax
mov bp, word [esp + 1]
std
xchg word [esp], bp
push word [esp]
jmp 0x29e8399
setae ch
mov ax, bx
add esp, 0
not bh
mov cl, 0x99
call fcn.029e8383
pushal
mov dword [reloc.DSOUND.dll_DirectSoundCreate], eax
mov esp, 0x2b348def
btr edi, edx
mov edx, esp
mov bx, word [esp + 2]
xchg ebx, edi
jmp 0x29e8342
je 0x29e83de
je 0x29e83de
jb 0x29e83ff
arpl word [ecx + 0x64], ax
jb 0x29e83fb
jae 0x29e840b
add byte [edi], cl
xor dword [esi + edx*2 + reloc.DSOUND.dll_DirectSoundCreate], esi
rdtsc
mov ah, 0x56
pop si
pop si
lea esp, [esp]
mov al, dh
jmp 0x29e8358
and edi, edx
bswap edi
push bp
mov dh, byte [esp]
clc
add esp, 2
jmp 0x29e8402
not dx
clc
mov dx, si
mov ax, word [esp + 3]
jmp 0x29e83c1
enter 0xbeb, 0x28
dec ebx
loop 0x29e841f
neg ah
call 0x29e83ec
mov cx, word [esp + 5]
dec esp
and al, 5
call 0x29e8456
inc edi
je 0x29e845a
jne 0x29e848b
jb 0x29e8480
outsb dx, byte [esi]
je 0x29e8472
push 0x64616572
dec ecx
jb 0x29e8486
popal
dec ecx
add byte fs:[edi + edi*2 - 0x76], ch
insb byte es:[edi], dx
and al, 1
mov ch, byte [esp + 1]
xchg word [esp], ax
rdtsc
mov si, ax
mov bx, word [esp]
mov dl, 0x74
jmp 0x29e8310
mov di, 0x4a87
mov al, byte [esp + 0xb]
call 0x29e847c
insb byte es:[edi], dx
jae 0x29e84c4
jb 0x29e84b5
popal
je 0x29e8496
add bh, bh
je 0x29e847d
add esp, dword [esi + 0x5d]
pop bp
xchg ebp, ebx
rdtsc
push dword [esp + 0xe]
jmp 0x29e8440
lea ebp, [ebx + edi]
call fcn.029e848f
push esi
imul esi, dword [edx + 0x74], 0x516c6175
jne 0x29e84d5
insb byte es:[edi], dx
push ecx
jne 0x29e84dd
jb 0x29e84f3
add byte [esi - 0x4a], al
mov dl, 0x8d
cmp al, 0xad
lodsd eax, dword [esi]
add byte [eax], al
add byte [eax], al
btr di, si
btr edi, esi
mov dword [esp + 3], esi
and al, 3
jmp 0x29e8466
les eax, [ebx + 0x148918c4]
and al, 0x66
xchg dword [esp], eax
jmp 0x29e878a
add byte [eax], al
add ah, dl
test byte [esi + 2], bl
add dword [eax], eax
add byte [eax], al
add eax, dword [eax]
add byte [eax], al
add eax, dword [eax]
add byte [eax], al
fld qword [esi + ebx*2 + 0x5e84ef02]
add ch, cl
test byte [esi + 2], bl
popal
popal
insd dword es:[edi], dx
js 0x29e8541
add byte [eax], dh
push edi
add byte [eax], al
mov al, 0x83
add byte [eax], al
adc byte [ebx], ch
add byte [eax], al
add byte [ecx], al
add byte [edx], al
add bl, bh
xor byte [edi], dl
add byte [eax + 0x10000083], dh
imul eax, dword [eax], 0
add byte [eax], al
add dword [eax], eax
add al, byte [eax]
sti
test byte [esi + 2], bl
pop es
test dword [esi + 2], ebx
adc al, byte [ebp + 0x435f025e]
insb byte es:[edi], dx
outsd dx, dword [esi]
jae 0x29e8566
inc esp
xor esp, dword [eax + eax*2 + 0x30]
add byte [edi + 0x49], bl
outsb dx, byte [esi]
imul esi, dword [esp + eax*2 + 0x33], 0x344044
pop edi
jae 0x29e8582
push eax
insb byte es:[edi], dx
popal
jns 0x29e855e
xor eax, dword [eax + eax*2 + 0x32]
xor al, 0
lea ecx, reloc.DSOUND.dll_DirectSoundCreate
lea edx, [eax + edx]
pop word [esp + 5]
jmp 0x29e855d
mov eax, esi
std
not ax
xchg dword [esp + 3], edx
rol di, cl
rol edi, cl
bswap eax
jmp 0x29e8520
pop edx
mov dh, 0x30
mov ebx, 0x2a8b26b3
sub esp, 3
call fcn.029e85c1
in eax, dx
cld
iretd
mov cl, byte [esp + 4]
dec esp
and al, 4
bsf esi, esp
mov ax, word [esp + 7]
inc esp
and al, 7
xchg word [esp + 4], dx
or al, ah
xchg word [esp + 6], bx
jmp 0x29e8547
xchg word [esp + 8], bp
xchg dword [esp + 8], ebp
lea ecx, [edi + ebp]
bswap ecx
rol ah, 3
mov dh, 0x30
mov ebp, dword [esp + 4]
jmp 0x29e8536
mov ecx, dword [esp + 8]
mov bp, word [esp]
sub esp, 4
pop word [esp + 6]
cld
adc bx, 0xf7e3
jmp 0x29e8581
xchg cl, dl
push dword [esp + 1]
bswap edx
xchg bx, si
mov edx, 0x3a4ec48c
xchg dword [esp + 2], ebx
jmp 0x29e8756