Function at 0x5a7bf7
Capabilities:
Execute anti-debugging instructions

Disassembly:
push eax
push edx
push edi
push eax
push edx
rdtsc
pop edx
pop eax
push eax
push edx
rdtsc
pop edx
pop eax
pop edi
push ebx
jmp 0x583ba8
push eax
pop eax
pop ebx
rdtsc
push eax
push edx
jp 0x583bb5
rdtsc
jmp 0x583bc8
pop edx
pop eax
pop edx
pop eax
push 0x21096027
mov dword [esp], edi
mov edi, esp
add edi, 4
sub edi, 4
xchg dword [esp], edi
pop esp
mov dword [esp], esi
mov dword [esp], ebx
push ecx
mov ecx, esp
add ecx, 4
push ebx
mov ebx, 4
sub ecx, ebx
pop ebx
xchg dword [esp], ecx
pop esp
mov dword [esp], eax
mov eax, 0x6f6d4e0b
mov dword [esp + 4], eax
pop eax
xchg dword [esp], esi
not esi
xchg dword [esp], esi
sub esp, 4
mov dword [esp], ebx
mov ebx, 0x7fbf1c00
add dword [esp + 4], 0x7b7dd461
add dword [esp + 4], ebx
sub dword [esp + 4], 0x7b7dd461
pop ebx
push eax
push esi
mov esi, 0x73bb6190
inc esi
dec esi
not esi
neg esi
shr esi, 3
xor esi, 0xa0c7c8f4
mov eax, esi
pop esi
sub dword [esp + 4], eax
pop eax
mov dword [esp], edx
mov dword [esp], ebp
mov dword [esp], eax
push ecx
mov dword [esp], 0x377f49e1
shl dword [esp], 3
push ecx
mov ecx, 0x7ff66829
sub dword [esp + 4], ecx
pop ecx
push 0x5903eafa
mov dword [esp], eax
mov dword [esp], edi
mov dword [esp], ecx
push esi
mov esi, 0x7b9fcc85
inc esi
inc esi
and esi, 0x7e5b87b9
shr esi, 1
and esi, 0x7d692ee5
add esi, 0xc2f6fdc1
push edi
push esi
sub dword [esp], 0x475eaa99
pop edi
add edi, 0x475eaa99
mov ecx, edi
pop edi
pop esi
sub esp, 4
mov dword [esp], ebp
mov ebp, 0x7def8e8b
push esi
mov esi, 0x7be346f1
sub dword [esp + 0xc], esi
pop esi
add dword [esp + 8], ebp
add dword [esp + 8], 0x7be346f1
mov ebp, dword [esp]
add esp, 4
add dword [esp + 4], ecx
sub dword [esp + 4], 0x7def8e8b
pop ecx
push ebp
mov ebp, 0xdb388d2e
add dword [esp + 4], ebp
mov ebp, dword [esp]
add esp, 4
mov dword [esp], ecx
sub esp, 4
mov dword [esp], esi
mov dword [esp], 0x31ec03ae
mov dword [esp], esi
mov dword [esp], eax
mov dword [esp], edx
mov dword [esp], 0x2c7df6d5
add dword [esp], 0x7bff7513
push edx
mov edx, 0x77be3200
xor dword [esp + 4], edx
pop edx
push edx
mov edx, esp
push ebp
mov ebp, 4
add edx, ebp
mov ebp, dword [esp]
add esp, 4
sub edx, 4
xchg dword [esp], edx
pop esp
mov dword [esp], edx
mov edx, 0x2fef52f7
sub dword [esp + 4], edx
pop edx
sub esp, 4
mov dword [esp], edx
mov edx, 0x4fbab808
add dword [esp + 4], 0x5e9f265a
sub dword [esp + 4], edx
push edi
mov edi, 0x5e9f265a
sub dword [esp + 8], edi
pop edi
push dword [esp]
pop edx
add esp, 4
mov dword [esp], edx
push ecx
mov dword [esp], 0x7ee981b6
sub dword [esp], 0x7efe980c
not dword [esp]
push eax
mov eax, 0x7e68fdbf
xor dword [esp + 4], eax
pop eax
add dword [esp], 0x7eee7128
inc dword [esp]
push edi
mov dword [esp], edx
mov edx, 0x7dbafe31
sub dword [esp + 4], 0x7f5f6bf3
sub dword [esp + 4], 0x6fffddfa
add dword [esp + 4], 0x7afc5912
sub dword [esp + 4], edx
sub dword [esp + 4], 0x7afc5912
push ebp
mov ebp, 0x6fffddfa
add dword [esp + 8], ebp
pop ebp
push ecx
push eax
mov dword [esp], ebp
mov ebp, 0x7f3774f5
push 0x27f6fe
pop ecx
push eax
mov eax, 0x3cdf3573
sub ecx, eax
pop eax
add ecx, ebp
add ecx, 0x3cdf3573
pop ebp
sub dword [esp + 8], 0x4fd74f18
add dword [esp + 8], ecx
add dword [esp + 8], 0x4fd74f18
pop ecx
pop edx
push ecx
mov ecx, 0x3f7a6d71
and dword [esp + 4], ecx
pop ecx
not dword [esp]
sub dword [esp], 0x5df54206
mov dword [esp], edx
mov dword [esp], ebx
push edx
push esp
mov edx, dword [esp]
push edi
mov edi, esp
add edi, 4
add edi, 4
xchg dword [esp], edi
pop esp
push esi
push eax
mov eax, 0x7dba81b9
mov esi, eax
pop eax
shr esi, 7
xor esi, 0x7fffaf87
push ebp
mov ebp, 0x7fbeb2ce
sub ebp, 0x7bb76601
neg ebp
add ebp, 0x830c274d
xor esi, ebp
pop ebp
add edx, esi
mov esi, dword [esp]
add esp, 4
push ecx
push edi
push ebp
mov dword [esp], 0x6fec11ed
pop edi
xor edi, 0x2f6363f9
mov ecx, edi
pop edi
xor ecx, 0x3efb6600
inc ecx
add ecx, 0x1df74585
xchg ecx, esi
neg esi
xor ecx, esi
xor esi, ecx
xor ecx, esi
push edi
mov edi, 0x6394a662
xor ecx, edi
mov edi, dword [esp]
push ecx
mov ecx, esp
add ecx, 4
add ecx, 4
xchg dword [esp], ecx
pop esp
add edx, 0x6bda9699
sub edx, ecx
sub edx, 0x6bda9699
pop ecx
xor edx, dword [esp]
xor dword [esp], edx
xor edx, dword [esp]
mov esp, dword [esp]
mov dword [esp], ebx
push edx
mov dword [esp], ebp
push eax
mov eax, esp
add eax, 4
sub eax, 4
sub esp, 4
mov dword [esp], eax
push dword [esp + 4]
pop eax
pop dword [esp]
pop esp
push esp
pop dword [esp]
add dword [esp], 4
mov ebp, dword [esp]
add esp, 4
push 0x5f2b89e1
mov dword [esp], edx
push 0x7ebf9f7d
pop edx
xor edx, 0x7ebf9f79
push esi
mov esi, 0x7df60141
or esi, 0x2fdb90cd
shr esi, 2
add esi, 0x4dff4796
add ebp, esi
pop esi
add ebp, edx
sub ebp, 0x6dff2c09
pop edx
push edx
mov edx, 0x67f78eee
add edx, 0x1f5d42b5
add edx, 0x23fac24f
add edx, 0x54b06c12
sub ebp, edx
pop edx
xor ebp, dword [esp]
xor dword [esp], ebp
xor ebp, dword [esp]
pop esp
mov dword [esp], edi
mov dword [esp], esi
mov dword [esp], ebp
push ecx
mov dword [esp], 0x2fa05f92
mov dword [esp], edi
mov dword [esp], ebx
push ecx
mov ecx, esp
add ecx, 4
sub ecx, 4
xor ecx, dword [esp]
xor dword [esp], ecx
xor ecx, dword [esp]
pop esp
mov dword [esp], ebx
push 0x7242266f
mov dword [esp], edx
mov dword [esp], eax
mov dword [esp], edx
mov edx, 0x435f9362
mov ebx, 0x2e5c32d7
shr ebx, 4
push edx
mov edx, 0x6ffecece
sub ebx, edx
pop edx
shl ebx, 6
and ebx, 0x6ada9c40
sub ebx, 0x868ec0e0
sub ebx, 0x7fd920a9
add ebx, 0x57dfa446
sub ebx, edx
sub ebx, 0x57dfa446
add ebx, 0x7fd920a9
mov edx, dword [esp]
add esp, 4
mov dword [esp + 4], ebx
mov ebx, dword [esp]
add esp, 4
sub dword [esp], 0xe2cd95b4
mov dword [esp], esi
push 0x6200469a
mov dword [esp], esi
mov esi, esp
add esi, 4
sub esp, 4
mov dword [esp], ecx
push esi
push esi
mov dword [esp], 0x796dee62
mov dword [esp], ebx
mov ebx, 0x5407284e
mov esi, ebx
mov ebx, dword [esp]
push ebp
mov ebp, esp
add ebp, 4
add ebp, 4
xor ebp, dword [esp]
xor dword [esp], ebp
xor ebp, dword [esp]
pop esp
not esi
neg esi
dec esi
push eax
push 0xabf8d7b6
pop eax
add esi, eax
pop eax
mov ecx, esi
pop esi
push 0x49323485
mov dword [esp], edi
mov edi, 0x4acfa954
add esi, edi
pop edi
sub esi, ecx
sub esi, 0x4acfa954
mov ecx, dword [esp]
add esp, 4
xchg dword [esp], esi
mov esp, dword [esp]
mov dword [esp], eax
mov dword [esp], edi
call fcn.00584093
jge 0x5a7a93
loop 0x5a7a96
daa
mov fs, word [eax]
xchg ebp, eax
in eax, 0x8a
and byte [edi], dl
or dword [eax + esi], esi
jnp 0x5a7aa3
pmulhuw mm2, qword [eax]
in al, 0x10
daa
mov fs, word [eax]
std
les ecx, [esi - 0x23]
jmp 0x5a7ac7
invalid
jge 0x5a7a82
jo 0x5a7af4
sub byte [edi - 0x40d7b386], bh
das
xchg esi, eax
daa
mov fs, word [eax]
adc al, 0xce
and byte [eax], 0x14
daa
jnp 0x5a7aaa
fdiv dword [eax - 0x4e]
push edx
adc esp, dword [edi]
scasb al, byte es:[edi]
adc al, 0x17
aam 0x78
mov byte [esi + 7], dh
rcl dword [ebp + 0x14208ae6], 0x27
bswap ecx
adc byte [edi], ah
mov fs, word [eax]
xchg ebx, eax
or al, 0x24
pop esp
mov dword [esp], edx
mov dword [esp], 0x7ebf5f9f
not dword [esp]
xor dword [esp], 0x3f3386d8
aas
sub dword [esp], 0x57b62fed
add dword [esp], 0x99430a04
push 0x31ffdfe9
mov dword [esp], eax
push ebp
push 0x555f765e
mov dword [esp], edx
mov edx, 0x5fdfc473
not edx
add edx, 0x5ffa29f3
mov ebp, edx
pop edx
mov dword [esp + 4], ebp
pop ebp
push eax
mov dword [esp], ecx
mov dword [esp], edi
mov dword [esp], 0x7bfff0bb
jnp 0x5a7ab9
xor al, 0x24
sub dword [eax], ecx
jmp dword [ecx - 0x7f]
xor al, 0x24
pop ds
push ss
mov edi, 0x24348167
lodsb al, byte [esi]
push edi
jns 0x5a7bb1
mov dword [esp], eax
push edi
mov dword [esp], 0x4ef283c8
inc dword [esp]
and dword [esp], 0x3eef6308
shr dword [esp], 6
shr dword [esp], 6
xor dword [esp], 0x7ff67329
xor dword [esp], 0x55eacd6a
mov dword [esp], edx
mov dword [esp], 0x13b0a430
mov dword [esp], ebx
push dword [esp + 0x10]
mov eax, dword [esp]
push ebx
mov ebx, esp
add ebx, 4
push eax
mov eax, 4
add ebx, eax
pop eax
xor ebx, dword [esp]
xor dword [esp], ebx
xor ebx, dword [esp]
pop esp
push dword [esp + 8]
push dword [esp]
mov ebx, dword [esp]
add esp, 4
push edx
mov edx, esp
add edx, 4
add edx, 4
xchg dword [esp], edx
pop esp
mov dword [esp + 8], eax
mov dword [esp + 0x10], ebx
push dword [esp]
mov ebx, dword [esp]
add esp, 4
push esi
mov esi, esp
add esi, 4
add esi, 4
xor esi, dword [esp]
xor dword [esp], esi
xor esi, dword [esp]
pop esp
mov eax, dword [esp]
push ebp
mov ebp, esp
add ebp, 4
push eax
push ebx
mov ebx, 4
mov eax, ebx
mov ebx, dword [esp]
add esp, 4
add ebp, eax
pop eax
xchg dword [esp], ebp
pop esp
jmp 0x583b81
jnp 0x5a7ab9
xor al, 0x24
sub dword [eax], ecx
jmp dword [ecx - 0x7f]