Function at 0x5b7ab0
Capabilities:
Execute anti-debugging instructions

Disassembly:
mov ecx, ebp
bswap eax
bsf edx, ecx
jp 0x5b7d49
jnp 0x5b7c38
popfd
sbb cl, byte [eax - 0x455e511]
ror byte [eax - 0x76fedbbc], cl
xor al, 0x24
mov dword [esp], edx
push edx
mov dword [esp], ebx
call fcn.005b793a
pop word [esp]
pop dword [esp]
push word [esp]
jbe 0x5b7b57
ja 0x5b7b57
dec ebp
fmul qword [ecx]
loop 0x5b7ab1
or edx, esp
call 0x5b7ab0
sub dword [ebx + reloc.WINMM.dll_midiStreamOut], esi
xor dword [edx + ebp + reloc.WINMM.dll_midiStreamOut], esi
pushal
mov dword [reloc.WINMM.dll_midiStreamOut], eax
sal dword [edi - reloc.WINMM.dll_midiStreamOut], cl
and al, 4
jecxz 0x5b7aca
invalid
invalid
not bl
mov bh, 0x89
jmp 0x5b7ac6
dec ebp
cmp ebx, 0xd1d227b7
jmp 0x5b7b3c
push esi
not ax
mov dword [esp], eax
jmp 0x5b7b6f
mov dword [esp], eax
lea edx, [eax + esi]
mov word [esp + 1], dx
jmp 0x5b7b77
lea esp, [esp + 4]
not ebp
lea edx, [eax*4]
mov ax, 0x4216
mov dl, byte [esp]
mov al, 0x17
call fcn.005b7afb
je 0x5b7afd
push esi
not ax
jmp 0x5b7b0a
jmp 0x5b7b21
rdtsc
mov ebx, 0x37911357
xchg bx, dx
mov bx, word [esp]
jmp 0x5b7b7c
lea edx, [eax + esi]
mov word [esp + 1], dx
ror ebp, 0
jmp 0x5b7b59
xchg bx, ax
mov dx, word [esp]
ror ebp, 0
push edx
lea edx, [edx + 0x96]
jmp 0x5b7bcd
shr bx, 2
jp 0x5b7adf
not bl
mov bh, 0x89
or edx, esp
jmp 0x5b7ac8
jmp fcn.005b7c1e
setg dh
add ebp, dword [edi]
mov ah, 0xb7
mov ah, 0x8d
bsr ebx, esi
jmp 0x5b7bdf
jbe 0x5b7bb7
ja fcn.005b7c1e
xchg al, dh
btc eax, esi
ja 0x5b81a1
mov dh, byte [esp]
jmp 0x5b81fd
ror bh, cl
lea eax, [eax*4]
jmp 0x5b7d5c
mov dx, word [esp]
ror dx, cl
lea edx, [edi + ebp]
jmp 0x5b7bfa
mov dx, word [esp]
ror dx, cl
lea edx, [edi + ebp]
ror bh, cl
lea eax, [eax*4]
xor ebp, 0x1df5a23a
lea eax, reloc.WINMM.dll_midiStreamOut
jmp 0x5b7ba2
jmp 0x5b81bd
mov dh, byte [esp]
mov eax, 0x336ef168
mov dh, 0x9b
sub esp, 0x1c
rcr dx, 9
jmp 0x5b821f
rcr dx, 9
jmp 0x5b821f
mov eax, 0x336ef168
mov dh, 0x9b
sub esp, 0x1c
jmp 0x5b81e7
lea esp, [esp + 0x1c]
dec bl
ror ah, 2
jp 0x5b8b8a
jnp 0x5b8909
and dword [esi - 1], esp
je 0x5b8247
push word [esp + 5]
mov dl, 0xa1
lea esp, [esp + 2]
add eax, 0x648da1b2
and al, 2
jmp 0x5b8209
invalid
js 0x5b8653
mov ax, sp
xchg edx, eax
jmp 0x5b8658
mov ax, sp
xchg edx, eax
call fcn.005b8688
stc
pushal
not byte [ecx - 0x62fe2aa0]
or eax, 0x6c64a754
jg 0x5b86b2
int1
invalid
dec al
xor edx, 0xdbbc854c
jmp 0x5b86c2
push 0xae6899fe
add eax, 0x59cea7b4
mov eax, 0xe678daf7
js 0x5b869a
dec al
xor edx, 0xdbbc854c
jmp 0x5b870a
mov dx, ax
clc
mov dl, byte [esp]
jmp 0x5b86e2
xor bl, 0x6f
mov dx, word [esp]
setg dl
mov ax, word [esp]
jmp 0x5b87cc
mov dx, ax
clc
mov dl, byte [esp]
call 0x5b8717
jmp 0x5b86a5
mov ax, 0x2a34
not eax
pushfd
xchg word [esp], dx
xchg dword [esp], edx
call fcn.005b880d
and ebx, 0x3c
lea eax, [ebp*4]
xchg al, ah
xchg edx, eax
jmp 0x5b8899
bswap eax
jmp 0x5b8b95
bts dx, bp
jmp 0x5b8878
mov al, 0x37
mov ax, bp
jmp 0x5b88ab
jmp 0x5b88e2
cmc
jae 0x5b88eb
sub esp, 0x1d
bsr eax, esp
mov dword [esp + 5], edx
lea esp, [esp + 1]
jmp fcn.005b8a42
sub edi, 4
sbb ah, al
jg 0x5b886e
bts dx, bp
mov al, 0x37
mov ax, bp
jmp 0x5b887d
mov eax, esi
lea eax, [eax + ebx]
mov edx, dword [eax]
neg eax
jle 0x5b887f
mov ah, 0xc1
neg bx
jmp 0x5b88e7
mov ah, 0xc1
neg bx
mov dword [edi], edx
jmp 0x5b8881
sub esp, 0x1d
bsr eax, esp
jmp 0x5b8aeb
inc dh
rcr dx, 4
setge dl
jmp 0x5b8838
mov dword [esp + 5], edx
lea esp, [esp + 1]
jmp fcn.005b8a42
inc dh
rcr dx, 4
setge dl
bswap eax
ror bl, 0
lea eax, reloc.WINMM.dll_midiStreamOut
lea eax, [edx + ebx]
inc dx
jmp 0x5b863d
add eax, 0xcd30b4a0
jmp 0x5cb2b2
jmp 0x5cac42
lea esp, [esp + 3]
sub esp, 0x14
xchg ecx, eax
mov al, bl
pop word [esp + 1]
jmp 0x5cac7d
mov ecx, ebp
movzx edx, byte [ecx]
xchg ecx, eax
mov eax, 0xfb52363c
sub esp, 3
jmp 0x5caefc
mov ax, cx
lea esp, [esp + 2]
jmp 0x5cad0a
add dl, bl
jle 0x5cae1b
bsf eax, ecx
jmp 0x5cad4f
xchg ecx, eax
mov al, bl
pop word [esp + 1]
call fcn.005cac67
inc ax
mov ax, bp
add eax, 0x1672f0bf
call fcn.005cad31
fbld tbyte [esi]
bswap ecx
mov cl, bh
bswap ecx
mov ch, byte [esp]
sub esp, 0x16
jmp 0x5cadc5
jge 0x5cade2
pop dword [esp + 4]
neg cx
jmp 0x5cadf3
pop dword [esp + 4]
neg cx
lea esp, [esp + 2]
jmp 0x5cae45
lea esp, [esp + 2]
jmp 0x5cae45
pushfd
jmp 0x5cae2f
pushfd
pop word [esp]
mov cx, word [esp]
mov byte [esp], cl
mov cl, dl
jmp 0x5cae9c
bsf eax, ecx
inc ax
mov ax, bp
add eax, 0x1672f0bf
mov al, dl
jmp 0x5cad99
pop word [esp]
mov cx, word [esp]
mov byte [esp], cl
jmp 0x5cae9a
lea esp, [esp + 0x10]
sub al, 0xec
neg ecx
jns 0x5cadf9
js 0x5cae00
inc cx
lea ecx, [edi + ebp]
jmp 0x5cae7d
btc ecx, ebp
jg 0x5cae51
fbld tbyte [esi + 0x41]
inc cx
lea ecx, [edi + ebp]
jmp 0x5caebc
push cx
xchg word [esp], cx
shl ecx, cl
mov ch, 0x32
jmp 0x5caea6
mov cl, dl
mov cl, dl
lea esp, [esp + 2]
sub al, 0x55
jmp 0x5cae6d
lea esp, [esp + 2]
jmp 0x5caedc
push cx
xchg word [esp], cx
shl ecx, cl
jmp 0x5cae85
mov ecx, dword [esp]
inc cx
mov ecx, ebp
lea ecx, reloc.WINMM.dll_midiStreamOut
jmp 0x5cb01a
ror al, 0
mov cl, 0xc1
adc cx, ax
jns 0x5caec6
js 0x5cb2ef
add al, 0x80
push ss
jno 0x5cae71
xor edi, dword [edx + reloc.WINMM.dll_midiStreamOut]
mov word [edi], ds
xchg cx, ax
jns 0x5cac2c
lea esp, [esp + 3]
sub esp, 0x14
jmp 0x5cad23
xchg word [esp + 0x1a], cx
mov cx, 0x26ca
jmp 0x5caf71
mov word [esp + 0xe], di
mov ecx, dword [esp + 2]
sub esp, 0x1f
jmp 0x5caf0e
sub cx, 0x5d2e
jbe 0x5caf90
lea ecx, reloc.WINMM.dll_midiStreamOut
lea ecx, [ebx*4]
lea ecx, [edx - 0x44]
btr cx, si
jmp 0x5cafce
mov word [esp + 0xe], di
mov ecx, dword [esp + 2]
sub esp, 0x1f
xchg word [esp + 0x1a], cx
mov cx, 0x26ca
lea esp, [esp + 1]
rol al, 0
jmp 0x5caf3b
lea ecx, [edx - 0x44]
btr cx, si
sub esp, 0xe
pop dword [esp + 4]
jmp 0x5cafb5
lea ecx, reloc.WINMM.dll_midiStreamOut
lea ecx, [ebx*4]
jmp 0x5caf7a
add bl, al
lea ecx, [ecx + edx]
sbb ch, 0xa7
jnp 0x5cafed
jp 0x5cafed
push 0xffffffffffffffe1
jno 0x5cafbf
jecxz 0x5cb003
mov al, byte [0x8d751ae3]
or al, 0xad
add byte [eax], al
add byte [eax], al
lea ecx, [ebp*4]
lea esp, [esp + 2]
jmp 0x5caf9f
add ch, bl
invalid
sub esp, 0xe
jmp 0x5caf84
inc ebp
mov cx, 0xcd82
mov ecx, dword [esp]
sub ax, 0x2610
js 0x5cafef
jns 0x5caff8
push eax
fisttp qword [ebp + 0x14]
out 0x26, eax
lodsb al, byte [esi]
mov edi, 0xe4eb3186
jmp 0x5cafd3
mov cl, byte [esp]
jmp 0x5cb101
mov cl, byte [esp]
setl ah
mov ax, word [esp]
xchg ecx, eax
mov cx, bp
jmp 0x5cb048
sub al, 0xbd
mov cx, 0x4f1
sub esp, 0x12
jnp 0x5caf5c
jp 0x5caf2d
xchg ah, ch
or eax, eax
xchg ecx, eax
jmp 0x5cb051
mov cx, bp
xor dl, 0x96
lea ecx, [esi + ebp]
cmc
jmp 0x5cb0c7
dec dl
not ecx
mov cx, word [esp]
neg ah
jnp 0x5cb081
inc eax
not cx
jmp 0x5cb115
xchg ecx, eax
jmp 0x5cb051
call fcn.005cb0ad
rol dword [edx - 0x30], cl
mov bh, 0x42
xchg edi, eax
pop es
xchg edi, eax
add dword [edi + reloc.WINMM.dll_midiStreamOut], edi
push ds
jl 0x5cb02f
xchg ah, ch
or eax, eax
jmp 0x5cb067
setl ah
mov ax, word [esp]
xchg ecx, eax
jmp 0x5cb045
rcl ecx, 0x13
btr ecx, ebx
jmp 0x5cb13c
xor dl, 0x1a
pushfd
bsf ecx, esp
jmp 0x5cb1b2
call fcn.005cb1e9
lea esp, [esp + 1]
jmp fcn.005cb1d3
lea ecx, reloc.WINMM.dll_midiStreamOut
jmp 0x5cb01a
js 0x5cb149
jns 0x5cb149
fld dword [edx + ebx*8 - 0x43]
dec esp
mov dword [ecx - 0xf], edx
popal
add bl, dh
jbe 0x5cb233
jae 0x5cb22f
test dword [edi], esi
lea ecx, [eax - 0x9b]
call fcn.005cb1ab
jmp 0x5cb2a8
test eax, 0x424648d
add al, 0x80
ljmp 0xde77
sub dl, 0x6b
not eax
inc ecx
ja 0x5cb21a
neg ecx
mov cx, word [esp]
jmp 0x5cb2ae
shl eax, 2
jmp 0x5cb290
mov cx, word [esp]
lea ecx, [edx*4]
ror ecx, 3
jnp 0x5cb268
jp 0x5cb268
rol ecx, 0x15
jge 0x5cb2c8
lea ecx, [eax*4]
sets ch
jmp 0x5c9a2a
neg ecx
mov cx, word [esp]
mov eax, edx
jmp 0x5cb27e
jmp 0x5cb2d7
lea ecx, [eax*4]
sets ch
jmp 0x5c9a2a
bswap ecx
sub ecx, 0xccba3737
jns 0x5cb651
sub esp, 8
jmp 0x5cb56f
mov ecx, dword [esp]
inc cx
mov ecx, ebp
jmp 0x5cb1a0
mov ecx, edx
jmp 0x5cb656
sub esp, 8
mov ecx, edx
pushal
xchg ebp, ecx
mov dword [esp + 0x18], eax
call fcn.005cb4aa
bts edx, eax
je 0x5cb697
mov cx, word [esp]
rol ah, cl
sub esp, 0x1f
jmp 0x5cb699
mov cx, word [esp]
rol ah, cl
sub esp, 0x1f
jmp 0x5cb6af
jmp 0x5cb67f
lea esp, [esp + 3]
jmp 0x5cb6b3
lea esp, [esp + 3]
mov ebp, dword [edi]
bt edx, ebx
jmp 0x5cb715
xchg cl, ch
mov eax, dword [esp]
jmp 0x5cb6f6
sub esp, 0xd
jmp 0x5cb84e
add edi, 4
push esp
sub esp, 5
ja 0x5cb6e0
sub esp, 0xd
pop ax
jmp 0x5cb850
jae 0x5cb6be
xchg cl, ch
mov eax, dword [esp]
jmp 0x5cb6c3
lea ebx, reloc.WINMM.dll_midiStreamOut
jmp 0x5cb783
mov ch, 9
jmp 0x5cb71e
pop ecx
jmp 0x5b7a82
add esp, 4
jne 0x5cb752
je 0x5cb752
call 0x5cb7de
mov eax, esp
jmp 0x5cb797
mov bh, byte [esp]
bts ebx, eax
jmp 0x5cb80b
mov ah, bh
mov dword [esp], esi
clc
jnp 0x5cb734
mov ch, 9
lea ebx, reloc.WINMM.dll_midiStreamOut
jmp 0x5cb783
mov ah, al
jmp 0x5cb7eb
mov ebx, edx
mov eax, 0x9c94e473
bsf eax, ebp
jg 0x5cb82a
jle 0x5cb814
and eax, 0xa15237a7
sbb al, 0x5d
fmul dword [esi + 0x29]
fsubr dword [esi - 0x4b]
movsb byte es:[edi], byte [esi]
xlatb
or dword ds:[eax + reloc.WINMM.dll_midiStreamOut], ebp
ror dword [edx - reloc.WINMM.dll_midiStreamOut], cl
add eax, 0xc665a656
sub edx, ecx
inc ebx
js 0x5cb7e3
mov ah, al
jmp 0x5cb7eb
lea eax, reloc.WINMM.dll_midiStreamOut
mov ax, dx
jmp 0x5cb833
lea eax, reloc.WINMM.dll_midiStreamOut
mov ax, dx
neg ebx
sets al
call fcn.005cb89d
js 0x5cb830
popal
add bl, dh
xor byte [edx - 0xe], bh
pushal
pop es
inc edx
jae 0x5cb8b5
test dword [edi], esi
pop ax
push ebx
pushfd
mov bh, byte [esp + 1]
jmp 0x5cb7b2
call fcn.005cb89f
pop word [esp]
jmp 0x604ffc
lea esp, [esp + 2]
add bl, cl
lea ecx, reloc.WINMM.dll_midiStreamOut
pushfd
clc
jmp 0x60507c
inc ebp
mov cx, bp
mov cl, byte [esp]
btc cx, di
jmp 0x605096
lea edx, [eax + 0x7c]
jmp 0x60505d
mov word [edx + esi], ax
bswap eax
rdtsc
mov cl, 0xd1
jmp 0x605033
add edi, 2
xchg edx, ecx
mov dl, 0x11
mov ax, word [esp]
jmp 0x5cac0c
ja 0x605026
jbe 0x605026
mov bh, byte [esp]
jmp 0x6050d4
jle 0x605051
jg 0x605051
invalid
not edx
xor dx, 0xca
jo 0x6050e2
jno 0x6050e2
push ebp
invalid
not edx
pushfd
push ax
lea esp, [esp + 2]
sub edi, 2
jmp 0x6050be
movzx ebx, byte [ebp]
rcr dl, 6
jmp 0x6051d5
rdtsc
call 0x60512e
pop edi
retf 0x3f58
jne 0x6050ef
rdtsc
jmp 0x6050f1