Function at 0x577e21
Capabilities:
Execute anti-debugging instructions

Disassembly:
push 0xf056152c
jmp 0x577ee6
mov word [esp + 2], si
jmp 0x577e40
lea esp, [esp + 2]
mov dword [esp + 0x4c], esi
call 0x577e4e
call 0x247c07b8
mov word [esp], cx
lea esp, [esp + 1]
pushfd
jmp 0x577fbb
xchg edi, edx
jmp 0x577ec1
xchg ch, al
mov ch, 0x2f
mov esi, dword [esp + 0x2c]
setne bh
xchg bh, ah
jmp 0x577e86
sub esp, 0xc0
jmp 0x577f0d
lea edi, [esp]
mov edx, 0x9fec7665
lea ecx, reloc.KERNEL32.dll_FreeLibrary
not ah
rdtsc
jmp 0x577eab
lea eax, [eax*4]
jmp 0x577e9c
jmp 0x577f3a
mov ebp, esp
lea ecx, [ebp + ebp]
cpuid
rcr ax, cl
jnp 0x577eef
neg cx
jmp 0x577f3d
neg cx
mov ebx, esi
not edx
rdtsc
call fcn.00577ef1
bswap eax
xchg al, cl
bt dx, cx
jmp 0x577f69
jmp 0x577f95
jmp 0x577fe6
rol esi, 0
jmp 0x577fcd
rdtsc
pushal
xchg word [esp + 0xc], dx
mov dx, ax
rdtsc
mov ax, word [esp + 1]
jmp 0x57800a
neg esi
not eax
lea ecx, [ebx*4]
rdtsc
dec al
jnp 0x577f6b
mov dl, ch
mov dx, 0xa62d
not dx
jmp 0x577f6d
lea esp, [esp + 3]
mov dword [esp + 0x4c], edi
lea esp, [esp + 0x4c]
pushfd
jmp 0x57789f
js 0x577f76
rdtsc
pushal
jmp 0x578039
mov dl, ch
mov dx, 0xa62d
not dx
jmp 0x577f6d
mov ecx, dword [esp]
ror edx, 0xd
bswap ecx
mov eax, dword [esp]
jmp 0x578048
lea esp, [esp + 0x20]
dec esi
adc ax, bp
jae 0x577ff4
jb 0x57801e
dec edx
iretd
mov ecx, dword [esp]
ror edx, 0xd
bswap ecx
jmp 0x57805e
xchg word [esp + 0xc], dx
mov dx, ax
rdtsc
jmp 0x577f83
not esi
sub esp, 0x1b
jb 0x578063
sbb ch, 0xe6
lea eax, [edx + ebx]
jmp 0x578077
mov eax, dword [esp]
jmp 0x578048
sbb ch, 0xe6
call fcn.005780f1
cmpsd dword [esi], dword es:[edi]
lea eax, [edx + ebx]
mov al, bl
jmp 0x578101
mov al, bl
lea esp, [esp + 3]
jmp 0x578105
lea esp, [esp + 3]
lea esp, [esp + 0x18]
dec esi
rcl cl, 4
jmp 0x57812a
jg 0x578140
jle 0x578140
in al, 0x7a
sbb eax, 0x11951fec
and eax, 0x9310f713
or ah, byte [ebp + 0x7ce847d4]
add al, 0
add byte [esi - 0x72f5db94], al
and al, 2
call 0x5785c1
xchg byte [esp + 0xa], ch
lea esp, [esp + 2]
or cl, byte [ebp + 0x3022464]
aaa
add esi, dword [edi]
sub esp, 4
jo 0x578563
jno 0x57856e
out dx, al
stc
fdivr dword [ebx]
adc dl, byte [ecx]
out dx, al
jg 0x5781bc
invalid
out dx, al
jle 0x5781f4
sub byte [eax + 0x7e], 0x55
cmp bl, byte [0xa4c4557f]
adc byte [ebp - 0x3b], 0xca
jg 0x578204
push 0x1d3a557e
jg 0x5781fc
les esp, [eax + eax*4 + 0x7fcac555]
push ebp
add ch, byte [esi + edi*2 + 0x55]
mov eax, dword [reloc.KERNEL32.dll_FreeLibrary]
idiv dword [esi + 0x55]
movsb byte es:[edi], byte [esi]
inc ebx
adc byte [ebp - 0x78], 0xa6
jg 0x578218
inc ebx
jg 0x578148
push ebp
jb 0x57819c
jle 0x578220
jp 0x57820f
jg 0x578224
dec ebx
in al, 0x80
push ebp
dec esp
xchg ebp, eax
adc byte [ebp + 2], 0x6c
jle 0x578230
ror dword [ebx - reloc.KERNEL32.dll_FreeLibrary], 1
adc byte [ebp - 0x80], 0x68
jle 0x57823c
inc eax
cli
jle 0x578240
sbb dword [ebp - 0x7ad8aa81], ebx
jle 0x578248
daa
test dword [esi + 0x55], edi
out 0x8f, al
jle 0x57824c
invalid
test eax, 0xb35580ef
mov dh, 0x7e
push ebp
loopne 0x5781a0
adc dword [ebp + 0x40], reloc.KERNEL32.dll_FreeLibrary
insb byte es:[edi], dx
jle 0x578260
popfd
jg 0x57825c
add ch, byte [esi + edi*2 + 0x55]
sbb byte [ecx], 0x82
push ebp
mov bl, 0xe0
xchg dword [ebp - 0xc], edx
add eax, 0x9ffa5581
lahf
test byte [ebp + 0x1f], dl
cwde
jg 0x578274
push ebp
push 0xffffffffffffffca
jle 0x578278
retf 0x557e
sub eax, 0x1c557f20
and al, byte [esi + 0x7f1d0655]
push ebp
sub byte [eax + 0x7e], 0x55
and byte [edi + 0x55], bh
sbb al, 0x22
xchg byte [ebp + 6], dl
sbb eax, 0x6880557f
jle 0x578288
push 0x63d8557e
adc byte [ebp + 0x2a], 7
fsub dword [ebx - 0x7e]
push ebp
sub al, byte [edi]
adc dword [ebp + 0x70], reloc.KERNEL32.dll_FreeLibrary
out dx, al
adc byte [ebp + 0x65], 0xe8
jg 0x578298
call 0x1586d7c4
jg 0x57829c
das
adc eax, 0x1ca557f
adc byte [ebp - 0x57], 1
xchg byte [ebp + 0xd], dl
fadd qword [eax - 0x7ee414ab]
push ebp
add ch, byte [esi + edi*2 + 0x55]
retf 0x8001
add dword [eax - reloc.KERNEL32.dll_FreeLibrary], eax
push ebp
or eax, 0xeb5580dc
sbb eax, dword [ecx + 0x7e6c0255]
push ebp
add dword [esi - reloc.KERNEL32.dll_FreeLibrary], eax
push ebp
jmp 0x578270
sub byte [eax + 0x7e], 0x55
mov al, 0xf0
push 0xf0b0557e
lock adc dword [ebp - 0x3c], reloc.KERNEL32.dll_FreeLibrary
adc dword [ebp - 0x3c], reloc.KERNEL32.dll_FreeLibrary
js 0x5781ef
push ebp
rol byte [di - 0x1bab], 0x9e
sahf
jg 0x5782c8
cmpsd dword [esi], dword es:[edi]
mov ch, 0x80
push ebp
push cs
inc esi
adc dword [ebp - 0x80], 0x52557e68
and eax, 0x253a5581
adc dword [ebp + 0x5f], 0x455800a
xor byte [eax + 0x7f092155], al
push ebp
or al, byte [eax - 0x7fcffbab]
push ebp
and dword [ecx], ecx
jg 0x5782e8
add ch, byte [esi + edi*2 + 0x55]
xor eax, 0x7a557db9
mov ecx, 0x7c7a557d
adc byte [ebp - 0xb], 0x6f
jl 0x57821e
push ebp
cmc
outsd dx, dword [esi]
jge 0x5782f8
push ebp
xor edi, eax
adc byte [ebp - 0x3b], 0x93
adc byte [ebp + 0x58], 0xf8
jg 0x578304
jne 0x578288
adc byte [ebp - 0x38], 0x75
adc byte [ebp - 0x1b], 0x71
jg 0x578310
shr dword [reloc.KERNEL32.dll_FreeLibrary], 1
jle 0x578318
add ecx, edi
jle 0x57831c
leave
fdivr dword [edi + 0x55]
retf
and byte [eax - 0x7c283cab], al
push ebp
add ch, byte [esi + edi*2 + 0x55]
ja 0x5782c7
adc byte [ebp + 0x79], 0x1b
jg 0x578350
sbb edi, dword [edi + 0x55]
ljmp 0x874b:0x7c557eff
xor byte [eax - 0x7f59f8ab], al
push ebp
mov dl, 0x2b
xchg byte [ebp - 0x74], dl
sbb eax, dword [eax - 0x7a7210ab]
push ebp
add ch, byte [esi + edi*2 + 0x55]
insb byte es:[edi], dx
jle 0x578370
or eax, 0xb455889c
pushfd
mov byte [ebp - 0x4c], dl
jl 0x5782a2
push ebp
lcall 0x8042, 0xb5558025
push ebp
sub byte [eax + 0x7e], 0x55
test al, 0xb
jg 0x578388
stosb byte es:[edi], al
inc byte [eax - 0x7f3ebaab]
push ebp
pop ds
mov byte [0x6bc95581], al
adc byte [ebp - 0x52], 0x97
adc byte [ebp + 2], 0x6c
jle 0x5783a0
test dword [esi + reloc.KERNEL32.dll_FreeLibrary], esp
outsd dx, dword [esi]
jle 0x5783a8
dec edi
mov bh, 0x80
push ebp
out 0x6f, eax
adc byte [ebp + 0x60], 0x5f
jg 0x5783b4
xor esp, dword [ebp - reloc.KERNEL32.dll_FreeLibrary]
adc byte [ebp + 0x79], 0xe
adc byte [ebp - 0x80], 0x68
jle 0x5783c4
cmpsb byte [esi], byte es:[edi]
mov bl, 0x80
push ebp
pop ecx
adc dword ss:[ebp + 0x4d], 0xdc557f44
and eax, 0x85885581
mov byte [ebp - 0x80], dl
push 0x34cc557e
jg 0x5783e0
xor al, 0x7f
push ebp
imul eax, dword ds:[ecx + reloc.KERNEL32.dll_FreeLibrary], 0x55
sub byte [eax + 0x7e], 0x55
pushal
adc dword [ebp - 0x3c], 0x35557f35
xchg ecx, eax
adc byte [ebp - 0x5d], 0xa6
jg 0x5783fc
das
cmc
jle 0x578400
sti
test eax, 0x6880557e
jle 0x578408
inc edx
out dx, al
adc byte [ebp + 0xd], 0xaa
jg 0x578410
push ebp
or eax, 0xed557faa
in eax, dx
push ebx
test byte [ebp + 0x3a], dl
mov dl, 0x80
push ebp
adc ah, byte [edi]
daa
adc byte [ebp + 2], 0x6c
jle 0x578420
invalid
xchg ebp, eax
jg 0x578438
shl dword [ebp - 0x7b], cl
push ebp
sub eax, 0x6d557e9e
jg 0x578444
retf
mov byte [ebp - 0x2f], dl
test eax, 0x6880557e
jle 0x578458
push 0xd2a2557e
jle 0x57845c
mov byte [0xc6557ed2], al
invalid
jb 0x8044e463
push ebp
pop es
sub al, byte [esi + 0x7fe84055]
push ebp
sub byte [eax + 0x7e], 0x55
sub al, 0x98
adc dword [ebp + 2], 0x7b557e6c
aam 0x7e
push ebp
insb byte es:[edi], dx
jle 0x578478
jnp 0x5783f9
jle 0x57847c
idiv dword [ebx + 0x7e]
push ebp
insb byte es:[edi], dx
out dx, eax
jle 0x578484
sub dh, byte [ebx]
jg 0x578488
lodsb al, byte [esi]
jae 0x5783b6
push ebp
stosb byte es:[edi], al
adc byte [edx + 0x7e6c0255], al
push ebp
xchg esp, eax
pop ss
mov word [ebp - 0x72], ss
test al, 0x81
push ebp
or ebx, dword [edi]
adc dword [ebp + 0x6c], 0x71557e75
push eax
push ebp
insb byte es:[edi], dx
jne 0x5784cc
push ebp
jno 0x5784a1
jg 0x5784a8
dec ebx
aam 0x7e
push ebp
mov ah, 0xed
in eax, dx
jg 0x5784b0
and dword [eax], edi
adc byte [ebp + 0x11], 0x21
adc byte [ebp + 2], 0x6c
jle 0x5784bc
cmp byte [eax - 0x7ddeeeab], al
push ebp
add ch, byte [esi + edi*2 + 0x55]
add eax, 0x6d475581
adc byte [ebp - 0x13], 0xfd
jg 0x5784c8
push ss
out dx, al
jg 0x5784cc
add ch, byte [esi + edi*2 + 0x55]
insb byte es:[edi], dx
jle 0x5784d0
clc
jne 0x578403
push ebp
sal byte [esi], cl
adc dword [ebp + 0x3b], 0x34557f53
push ebx
jg 0x5784dc
xor al, 0x6b
jg 0x5784e0
imul edi, dword [edi + 0x55], 0x23
scasd eax, dword es:[edi]
jle 0x5784e4
and ebp, dword [edi + reloc.KERNEL32.dll_FreeLibrary]
adc byte [ebp - 0x71], 0xf2
jle 0x5784ec
invalid
mov gs, word [edi]
adc byte [ebp - 0x7b], 0xa1
test dword [ebp - 0x2e], edx
aam 0x83
push ebp
js 0x578437
adc dword [ebp + 0x78], reloc.KERNEL32.dll_FreeLibrary
adc dword [ebp + 2], reloc.KERNEL32.dll_FreeLibrary
cmp dword [esi + 0x55], 0x55827ea0
insb byte es:[edi], dx
jle 0x578500
cmp dword ss:[esi + 0x55], reloc.KERNEL32.dll_FreeLibrary
jle 0x578434
push ebp
inc esi
xor al, 0x7f
push ebp
scasb al, byte es:[edi]
movsd dword es:[edi], dword [esi]
adc byte [ebp - 0x11], 0x71
xchg byte [ebp + 0x7f], dl
cmp eax, 0x71d95580
jno 0x578444
push ebp
jg 0x5784fe
adc byte [ebp - 0x27], 0x71
mov byte [ebp + 0x7a], dl
jge 0x57844a
push ebp
xor cl, dl
jg 0x578524
retf 0x557f
clc
wait
jg 0x578528
mov eax, 0x58557f79
xchg dword [edx + 0x7f827155], eax
push ebp
add ch, byte [esi + edi*2 + 0x55]
cmp byte [edi + 0x55], 2
insb byte es:[edi], dx
jle 0x578538
pushal
pushal
adc byte [ebp + 9], 0xa6
adc byte [ebp + 0x3e], 0x48
dec eax
test dword [ebp - 0x80], edx
push 0xc160557e
jle 0x57854c
scasd eax, dword es:[edi]
mov dword [eax + reloc.KERNEL32.dll_FreeLibrary], 0x85e51e55
push ebp
push ds
in eax, 0x85
push ebp
outsd dx, dword [esi]
adc byte ds:[ebp - 0x4f], 0x88
adc byte [ebp + 0x2d], 0x30
adc byte [ebp + 0x7d], 0xd1
adc byte [ebp - 0x40], 0x7a
jle 0x57856c
stc
rol dword [eax + reloc.KERNEL32.dll_FreeLibrary], cl
push ebp
jbe 0x57857e
adc dword [ebp + 0x7d], reloc.KERNEL32.dll_FreeLibrary
sar byte [edi + 0x55], 1
or esi, dword [ecx - 0x7f]
jno 0x5784ab
push ebp
add dword [esi + edi*2 - reloc.KERNEL32.dll_FreeLibrary], eax
push ebp
xlatb
jle 0x57858c
daa
daa
xchg byte [ebp + 0x1a], dl
mov byte [0x6880557f], al
jle 0x578598
aaa
int1
jg 0x57859c
inc edx
cmp al, 0x7d
push ebp
jnp 0x578576
sub dword [ebp + 0x55], edi
jge 0x5785a4
js 0x57851f
jle 0x5785a8
in eax, 0x14
adc dword [ebp + 0xb], 0xeb55819e
leave
jle 0x5785b4
jl 0x5785b0
salc
inc ecx
mov dx, 0x609d
jmp fcn.005785a7
jbe 0x5785cf
mov dx, 0x609d
jmp fcn.005785a7
mov al, 0xd7
and dl, bl
in eax, 0x67
not dword [edx - reloc.KERNEL32.dll_FreeLibrary]
push cs
imul ebx, dword [eax - reloc.KERNEL32.dll_FreeLibrary], 0xe9022464
mov esp, 0x66fffffb
inc ecx
popal
fistp dword [reloc.KERNEL32.dll_FreeLibrary]
jnp 0x5785fc
lea esp, fs:[esp + 2]
lea esp, [esp + 2]
jmp 0x57814d
and al, 9
enter 0x52eb, 0xffffffffffffff97
dec cl
push 0xb60f228b
push ss
mov dh, 0x16
mov ebp, 0x5538ebc4
push ebp
fisttp qword [ebp + 0x14]
out 0x62, eax
lodsb al, byte [esi]
mov esp, 0xbfc236db
sub esp, 0xe
jle 0x578145
xchg byte [esp + 0xa], ch
jmp 0x578588
mov eax, 0x538fb966