Function at 0x53f647
Capabilities:
Execute anti-debugging instructions

Disassembly:
mov al, ah
mov ax, word [esp]
bswap eax
cmc
jmp 0x53f04a
xor eax, eax
call fcn.0053f09d
dec edi
aad 0x45
sub al, 0xdf
invalid
add eax, ecx
call 0x53f0c9
lea esp, [esp + 4]
jmp 0x53f120
lea edi, [edi + ecx*8 - 0x1c]
popal
int1
nop
arpl word [eax - 0x1a149ce0], sp
jmp 0x53f105
call fcn.0053f265
pushfd
sbb byte [esi - 0xd21e717], cl
jne 0x53f113
invalid
lea esp, [esp + 8]
jne 0x50b3f4
mov eax, dword [ecx + 0x3c]
jmp 0x53f0e4
push ebx
push edx
jmp 0x53f57b
pushal
pop word [esp + 0x1b]
pop dword [esp + 0x10]
lea esp, [esp + 2]
jmp 0x53f3e1
push esp
pop word [esp]
lea esp, [esp + 2]
jmp 0x53f700
call 0x53fa4d
mov ecx, dword [esp + 0x18]
push edx
push dword [esp + 2]
jmp 0x53fa02
call 0x53fa0f
push cs
xchg dword [edi], edx
jb 0x53f153
dec esi
mov ah, 0x38
scasb al, byte es:[edi]
leave
cmp byte [edi - 0x6148fb6b], cl
jmp 0x5cdd5842
neg di
jmp 0x53f391
add ecx, edx
lea edi, [eax + 0x11]
lea edi, [edi*4]
mov di, word [esp]
setnp dh
jmp 0x53f417
call 0x53fa9d
mov bl, byte [edx]
mov bh, ch
sbb bl, ah
call 0x79dee1c4
xor edx, edx
dec ebp
fsubr qword [edi]
and eax, ebp
pop ss
pop es
add byte [eax], al
call 0x53f968
je 0x53f235
jo 0x53f26c
loop 0x53f2b3
mov dh, 0x27
mov bh, 0xd2
and dword [eax - reloc.WINMM.dll_midiStreamOut], ebx
pop eax
out dx, eax
xor eax, 0x24648d24
lea esp, [esp + 3]
lea esp, [esp + 1]
push edx
add dword [edx + 0x66], edx
push dword [esp + 1]
push word [esp + 1]
jmp 0x53f279
lea esp, [esp + 2]
jmp 0x53f32a
lea esi, reloc.WINMM.dll_midiStreamOut
mov bl, 0xb6
jmp 0x53f633
lea esp, [esp + 2]
jmp 0x53f137
mov esi, dword [esp + 0x20]
call fcn.0053f313
push edi
call fcn.0053f2e7
jmp 0x71d6da47
lea esp, [esp + 0x20]
push ebp
push esi
cmc
jmp 0x53f2bc
lea esp, [esp + 4]
sub esp, 0x14
clc
pushal
jmp 0x53f2de
mov ecx, dword [edx + 0x3c]
rcl di, cl
bsf di, si
dec edi
jmp 0x53f201
push edx
mov edx, eax
lea edx, [edx + 0x38]
jmp 0x53f462
lea edi, [ecx + edx + 0x18]
jmp 0x53f17d
movzx edx, word [ecx + 0x14]
lea edi, [edi*4]
mov edi, dword [esp]
lea edi, [edx*4]
jmp 0x53f3fa
pushal
call int.0053f472
lea eax, [edx + ebx*4]
std
or al, 0xba
cmp eax, 0xb34021b1
add al, 0x3d
mov dl, 0x20
inc edi
mov dl, 0x73
xor ecx, dword [ebx - reloc.WINMM.dll_midiStreamOut]
invalid
mov ebp, dword [edx]
pop edx
lea ecx, reloc.WINMM.dll_midiStreamOut
inc cx
mov ecx, dword [eax + 0x3c]
jmp 0x53f449
lea esp, [esp + 4]
mov dword [esp + 0x18], 0
clc
call fcn.0053f5b4
and eax, 0xbb4829b9
js 0x53f599
lcall 0xff65, 0x259a6f08
outsd dx, dword [esi]
or bh, cl
ret 0x8d52
jmp gs:[edi + 0xa]
jmp 0x53f1f9
mov ebx, dword [edi + 0xc]
mov si, 0x819d
push eax
jmp 0x53f687
mov ecx, dword [edi + 8]
clc
call 0x53f647
jo 0x53f5d5
and al, 4
test ebx, ebx
jmp 0x53f669
je 0x53f1ac
neg edx
setle dh
jmp 0x53f6c8
mov eax, edi
mov esi, dword [eax]
pop eax
mov ch, byte [esp]
mov cl, ch
jmp 0x53f63d
mov eax, esi
push esp
jmp 0x53fbe1
xor edx, edx
lea eax, reloc.WINMM.dll_midiStreamOut
bts eax, edi
mov al, ah
sbb ax, 0x4c46
jmp 0x53f6b2
add esi, ebp
rdtsc
mov ebp, dword [esp + 0x14]
bswap eax
pushal
jmp 0x53f70c
push esp
mov eax, ecx
call fcn.0053f7e9
xor byte [ebp + 0x4c7342d], bh
add cl, byte [esi + 0x21967b1c]
lahf
out 0x11, al
nop
sub ebp, eax
rdtsc
mov dl, 0xfc
bsf dx, ax
jmp 0x53f6db
clc
xor edx, edx
lea eax, [edx + ebp]
bswap eax
lea eax, [eax*4]
jmp 0x53f6e8
mov eax, ebp
jmp 0x53f193
test edx, edx
push esp
lea esp, [esp + 4]
jne 0x53f193
lea eax, reloc.WINMM.dll_midiStreamOut
jmp 0x53f729
add esp, 1
add esp, 2
add esp, 0
lea esp, [esp + 1]
jmp 0x53f9b7
mov eax, edx
push edx
lea esp, [esp + 1]
lea esp, [esp + 3]
jmp 0x53f813
lea eax, [ebx*4]
jmp 0x53fb28
xor eax, ecx
mov eax, ebx
call fcn.0053f8c0
pushal
pop dword [esp + 0x12]
lea esp, [esp + 2]
lea esp, [esp + 0x20]
mov ebp, dword [esp + 0x1c]
jmp 0x53f96f
cmp ebp, esi
pushal
lea esp, [esp + 0x50]
jae 0x53f24c
jb 0x53f988
lea esp, [esp + 0xc]
mov dword [esp + 0x18], ecx
push edx
mov word [esp], di
push word [esp + 3]
jmp 0x53fa2b
push dword [esp + 2]
push word [esp + 5]
mov byte [esp + 0xa], ah
cmp ecx, eax
jmp 0x53f9c6
lea esp, [esp + 8]
inc ecx
add edi, 0x28
sub esp, 6
jmp 0x53f9df
lea esp, [esp + 2]
lea esp, [esp + 4]
jl 0x53f28f
jge 0x53f1c8
cli
outsd dx, dword [esi]
call [edx - 0x7fef4c97]
push ss
jno 0x53f9ca
inc esi
mov ebp, 0x24648d8c
add dword [ebp + reloc.WINMM.dll_midiStreamOut], ecx
and al, 3
jmp 0x53f1b1
mov eax, dword [esp + 0x20]
jmp 0x53f1ac
lea esp, [esp + 4]
div ebp
lea eax, [esi*4]
bswap eax
mov al, byte [esp]
jmp 0x53f891