Function at 0x10051fad
Capabilities:
Execute anti-debugging instructions

Disassembly:
add byte [eax], al
xchg dword [ecx + 0x70], edi
mov edi, eax
push dword [ecx + 0x70]
xchg dword [ecx + 0x70], edi
pop edi
lea esi, [ecx + 0xc8]
lea ecx, [ecx]
xchg ecx, eax
mov ecx, dword [edx + 0x16]
push eax
xchg ecx, eax
pop ecx
xchg dword [ecx + 0x74], edx
mov edx, eax
push dword [ecx + 0x74]
xchg dword [ecx + 0x74], edx
pop edx
xchg ecx, eax
mov ecx, dword [edx + 0x22]
push eax
xchg ecx, eax
pop ecx
xchg dword [ecx + 0x90], edx
mov edx, eax
push dword [ecx + 0x90]
xchg dword [ecx + 0x90], edx
pop edx
movzx eax, word [edx + 0x2a]
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 3]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
mov word [ecx + 0x9c], ax
push ebp
mov ebp, esp
leave
movzx eax, word [edx + 0x2c]
push edx
mov edx, dword [esp + 4]
lea edx, [edx + 0x59]
xchg dword [esp + 4], edx
mov dword [esp + 4], edx
mov edx, dword [esp]
lea esp, [esp + 4]
xchg dword [ecx + 0xc4], esi
mov esi, 0x5fe87122
push dword [ecx + 0xc4]
xchg dword [ecx + 0xc4], esi
pop esi
pushfd
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 1]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
push 0x5fe87132
push eax
mov eax, dword [esp + 4]
xor dword [ecx + 0xc4], eax
mov eax, dword [esp]
lea esp, [esp + 8]
popfd
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x37]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
jmp 0x10059768
add byte [eax], al
popfd
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x3b]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
je 0x1005b690
jne 0x1005b690
jmp 0x1005b68e
pushfd
push edx
mov edx, dword [esp + 4]
add al, 0x87
add al, 0x24
push esi
mov esi, dword [esp + 4]
lea esi, [esi + 0x39]
xchg dword [esp + 4], esi
mov dword [esp + 4], esi
mov esi, dword [esp]
lea esp, [esp + 4]
jmp 0x1005956c
call fcn.1005f124
jbe 0x10051f41
std
jae 0x10051f94
int 0x5c
mov esi, 0x87000083
out dx, al
lea esp, [esp - 4]
mov dword [esp], esi
mov esi, ebp
mov ebp, dword [esp]
xchg ebp, esi
mov esi, esp
push ebp
xchg ebp, esi
pop esi
xchg ecx, edi
mov edi, dword [ebp + 8]
push ecx
xchg ecx, edi
pop edi
xchg esi, eax
mov esi, 0x3b491b75
push eax
xchg esi, eax
pop esi
pushfd
push ebp
mov ebp, esp
leave
push 0x3b494138
push ebx
mov ebx, dword [esp + 4]
xor eax, ebx
mov ebx, dword [esp]
lea esp, [esp + 8]
popfd
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x20]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
xchg edx, ecx
mov ecx, dword [ebp + 0xc]
push edx
xchg edx, ecx
pop ecx
xchg ecx, esi
lea esp, [esp - 4]
mov dword [esp], ecx
mov ecx, esi
mov esi, dword [esp]
xchg esi, eax
mov eax, 0x64e49536
push esi
xchg esi, eax
pop eax
pushfd
push ebx
mov ebx, dword [esp + 4]
lea ebx, [ebx + 0x56]
xchg dword [esp + 4], ebx
mov dword [esp + 4], ebx
mov ebx, dword [esp]
lea esp, [esp + 4]
push 0x64e4947a
push edi
mov edi, dword [esp + 4]
xor esi, edi
mov edi, dword [esp]
lea esp, [esp + 8]
popfd
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x23]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
mov word [ecx], ax
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x14]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
xchg dword [ecx + 0x3c], eax
mov eax, 0x3c4cf154
push dword [ecx + 0x3c]
xchg dword [ecx + 0x3c], eax
pop eax
pushfd
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 2]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
push 0x3c4cf114
push edi
mov edi, dword [esp + 4]
xor dword [ecx + 0x3c], edi
mov edi, dword [esp]
lea esp, [esp + 8]
popfd
push edx
mov edx, dword [esp + 4]
lea edx, [edx + 0x43]
xchg dword [esp + 4], edx
mov dword [esp + 4], edx
mov edx, dword [esp]
lea esp, [esp + 4]
xchg dword [ecx + 0x40], edi
mov edi, 0x3bb1943c
push dword [ecx + 0x40]
xchg dword [ecx + 0x40], edi
pop edi
pushfd
push ebx
mov ebx, dword [esp - 2]
pop ebx
push 0x3bb1d16c
push eax
mov eax, dword [esp + 4]
xor dword [ecx + 0x40], eax
mov eax, dword [esp]
lea esp, [esp + 8]
popfd
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 0x6f]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
movzx eax, word [edx + 8]
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x4a]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
mov word [ecx + 0x54], ax
push ebp
mov ebp, esp
leave
movzx eax, word [edx + 0xa]
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 4]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
mov word [ecx + 0x56], ax
push eax
mov eax, ecx
pop eax
movzx eax, word [edx + 4]
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x7c]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
mov word [ecx + 0x44], ax
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x65]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
cmp ax, si
push esi
mov esi, dword [esp + 4]
lea esi, [esi + 0x32]
xchg dword [esp + 4], esi
mov dword [esp + 4], esi
mov esi, dword [esp]
lea esp, [esp + 4]
movzx eax, word [edx + 0xc]
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 0x41]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
mov word [ecx + 0x58], ax
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0xf]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
xchg ecx, eax
mov ecx, dword [edx + 0x12]
push eax
xchg ecx, eax
pop ecx
jne 0x10062f70
xchg dword [ecx + 0x74], edx
mov edx, eax
push dword [ecx + 0x74]
xchg dword [ecx + 0x74], edx
pop edx
lea esi, [ecx + 0xb8]
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x3d]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
xchg edi, eax
mov edi, dword [edx + 0x22]
push eax
xchg edi, eax
pop edi
xchg dword [ecx + 0x90], edi
mov edi, eax
push dword [ecx + 0x90]
xchg dword [ecx + 0x90], edi
pop edi
movzx eax, word [edx + 0x2a]
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x5a]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
mov word [ecx + 0x9c], ax
pushfd
add ebp, 0x14
popfd
lea ebp, [ebp - 0x14]
movzx eax, word [edx + 0x2c]
push ebx
mov ebx, dword [esp + 4]
lea ebx, [ebx + 0xe]
xchg dword [esp + 4], ebx
mov dword [esp + 4], ebx
mov ebx, dword [esp]
lea esp, [esp + 4]
xchg dword [ecx + 0xb4], eax
mov eax, 0x4be4fa1e
push dword [ecx + 0xb4]
xchg dword [ecx + 0xb4], eax
pop eax
pushfd
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0xe]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
push 0x4be4fa0e
push eax
mov eax, dword [esp + 4]
xor dword [ecx + 0xb4], eax
mov eax, dword [esp]
lea esp, [esp + 8]
popfd
push ebx
mov ebx, dword [esp + 4]
lea ebx, [ebx + 0x46]
xchg dword [esp + 4], ebx
mov dword [esp + 4], ebx
mov ebx, dword [esp]
lea esp, [esp + 4]
jmp 0x1004feb0
xchg edx, edi
xchg dword [ecx + 0x70], edx
mov edx, eax
push dword [ecx + 0x70]
xchg dword [ecx + 0x70], edx
pop edx
lea esi, [ecx + 0xc8]
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x28]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
xchg ebx, eax
mov ebx, dword [edx + 0x16]
push eax
xchg ebx, eax
pop ebx
xchg dword [ecx + 0x74], edi
mov edi, eax
push dword [ecx + 0x74]
xchg dword [ecx + 0x74], edi
pop edi
xchg ebx, eax
mov ebx, dword [edx + 0x22]
push eax
xchg ebx, eax
pop ebx
xchg dword [ecx + 0x90], edi
mov edi, eax
push dword [ecx + 0x90]
xchg dword [ecx + 0x90], edi
pop edi
movzx eax, word [edx + 0x2a]
push ebp
mov ebp, esp
leave
mov word [ecx + 0x9c], ax
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 0x60]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
movzx eax, word [edx + 0x2c]
pushfd
add ebp, 0x46
popfd
lea ebp, [ebp - 0x46]
xchg dword [ecx + 0xc4], edi
mov edi, 0x882bf72f
push dword [ecx + 0xc4]
xchg dword [ecx + 0xc4], edi
pop edi
pushfd
push esi
mov esi, dword [esp + 4]
lea esi, [esi + 0x3a]
xchg dword [esp + 4], esi
mov dword [esp + 4], esi
mov esi, dword [esp]
lea esp, [esp + 4]
push 0x882bf73f
push esi
mov esi, dword [esp + 4]
xor dword [ecx + 0xc4], esi
mov esi, dword [esp]
lea esp, [esp + 8]
popfd
pushfd
add ebp, 8
popfd
lea ebp, [ebp - 8]
jmp 0x10059768
pushfd
add ebp, 0x13
popfd
lea ebp, [ebp - 0x13]
add dword [esp], 0xffff002a
xchg dword [esp], ecx
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x11]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
xchg dword [esp + 4], ecx
pushfd
add ebp, 0x59
popfd
lea ebp, [ebp - 0x59]
xchg dword [esp], ecx
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x73]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
popfd
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
jmp 0x10051f74
pushfd
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 1]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
xchg ecx, eax
lea esp, [esp - 4]
mov dword [esp], ecx
mov ecx, eax
mov eax, dword [esp]
xchg edx, eax
lea esp, [esp - 4]
mov dword [esp], eax
mov eax, edx
mov edx, dword [esp]
rdtsc
push ebp
mov ebp, esp
leave
and eax, 1
push edx
mov edx, dword [esp + 4]
lea edx, [edx + 0x38]
xchg dword [esp + 4], edx
mov dword [esp + 4], edx
mov edx, dword [esp]
lea esp, [esp + 4]
xchg ecx, edx
xchg dword [esp], ecx
xchg ecx, edx
lea esp, [esp + 4]
xchg ecx, eax
xchg dword [esp], ecx
xchg ecx, eax
lea esp, [esp + 4]
je 0x1004b9d8
jne 0x100641ac
jmp 0x1004b9d6
popfd
push ebx
mov ebx, dword [esp + 4]
lea ebx, [ebx + 0x3b]
xchg dword [esp + 4], ebx
mov dword [esp + 4], ebx
mov ebx, dword [esp]
lea esp, [esp + 4]
je 0x10047f48
jne 0x10047f48
jmp 0x10047f46