Function at 0x10050be1
Capabilities:
Execute anti-debugging instructions

Disassembly:
add byte [eax], al
add esi, eax
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 0x21]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
xchg edi, eax
mov edi, dword [esi + 4]
push eax
xchg edi, eax
pop edi
test eax, eax
push esi
mov esi, dword [esp + 4]
lea esi, [esi + 0x14]
xchg dword [esp + 4], esi
mov dword [esp + 4], esi
mov esi, dword [esp]
lea esp, [esp + 4]
jne 0x10050b84
xchg ecx, ebx
mov ebx, dword [ebp + 8]
push ecx
xchg ecx, ebx
pop ebx
xchg edi, ebx
mov ebx, dword [ecx]
push edi
xchg edi, ebx
pop ebx
jmp 0x1007464c
pushfd
pushfd
add ebp, 0x35
popfd
lea ebp, [ebp - 0x35]
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
mov edx, edx
and eax, 1
push esi
mov esi, dword [esp + 4]
lea esi, [esi + 0x1a]
xchg dword [esp + 4], esi
mov dword [esp + 4], esi
mov esi, dword [esp]
lea esp, [esp + 4]
xchg edx, eax
xchg dword [esp], eax
xchg edx, eax
lea esp, [esp + 4]
xchg ecx, eax
xchg dword [esp], ecx
xchg ecx, eax
lea esp, [esp + 4]
je 0x1004a170
jne 0x1005945c
jmp 0x1004a16e
add byte [eax], al
popfd
push ebx
mov ebx, dword [esp + 4]
lea ebx, [ebx + 0x58]
xchg dword [esp + 4], ebx
mov dword [esp + 4], ebx
mov ebx, dword [esp]
lea esp, [esp + 4]
je 0x100744c8
jne 0x100744c8
jmp 0x100744c6
popfd
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x6f]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
je 0x1004824c
jne 0x1004824c
jmp 0x1004824a
popfd
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x77]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
je 0x10060fc0
jne 0x10060fc0
jmp 0x10060fbe
popfd
push edx
mov edx, dword [esp + 4]
lea edx, [edx + 0x31]
xchg dword [esp + 4], edx
mov dword [esp + 4], edx
mov edx, dword [esp]
lea esp, [esp + 4]
je 0x1004dec8
jne 0x1004dec8
jmp 0x1004dec6
add byte [eax], al
movzx eax, word [esi + ecx*2 + 8]
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0xf]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
xchg edx, ecx
mov ecx, eax
push edx
xchg edx, ecx
pop ecx
shr edx, 0xc
pushfd
add ebp, 4
popfd
lea ebp, [ebp - 4]
cmp edx, 3
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x1b]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
je 0x10066d64
cmp edx, 0xa
push esi
mov esi, dword [esp + 4]
lea esi, [esi + 7]
xchg dword [esp + 4], esi
mov dword [esp + 4], esi
mov esi, dword [esp]
lea esp, [esp + 4]
jne 0x100744c8
jmp 0x10066d64
call 0x10060cdc
div byte [edi - 0x1b7abf35]
inc byte [0x38f9b763]
sbb al, 4
sub eax, 0xea029b03
or dword [ebp - 0x40], ebx
int 0x72
stosb byte es:[edi], al
and ebp, edx
pop eax
mov edx, 0xe87350ad
pop esi
clc
add byte [eax], al
loope 0x1004df17
outsd dx, dword [esi]
and al, byte [esi - 0x17fbeba7]
dec ecx
enter 0xffffffffffffffff, 0xfffffffffffffff7
cmpsb byte [esi], byte es:[edi]
call fcn.100512fc
inc edi
pop dword [0x31ef52ba]
mul dword [esi + 0x337ee8]
add byte [edi - 0x71], al
add eax, 0x31ef52ba
xchg byte [ebp - 0x18], ch
cmp al, 0xf
add byte [eax], al
xchg esp, eax
loopne 0x1004df77
in eax, 0x2a
add byte [eax], al
dec eax
sbb eax, ebp
push 0xffffffffffffffaa
invalid
outsd dx, dword [esi]
push 0xc5839c9d
push edx
popfd
pushfd
add ebp, 0x52
popfd
lea ebp, [ebp - 0x52]
je 0x1004f544
jne 0x1004f544
jmp 0x1004f542
push ebx
push ebp
add esi, eax
lea edi, [edi]
xchg ecx, eax
mov ecx, dword [esi + 4]
push eax
xchg ecx, eax
pop ecx
test eax, eax
push ebx
mov ebx, eax
pop ebx
jne 0x10050b84
xchg ecx, esi
mov esi, dword [ebp + 8]
push ecx
xchg ecx, esi
pop esi
xchg edi, eax
mov eax, dword [ecx]
push edi
xchg edi, eax
pop eax
jmp 0x100508c0
pushfd
push eax
mov eax, ecx
pop eax
xchg edi, eax
lea esp, [esp - 4]
mov dword [esp], edi
mov edi, 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 ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x15]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
and eax, 1
push esi
mov esi, dword [esp + 4]
lea esi, [esi + 0x29]
xchg dword [esp + 4], esi
mov dword [esp + 4], esi
mov esi, dword [esp]
lea esp, [esp + 4]
xchg edx, eax
xchg dword [esp], eax
xchg edx, eax
lea esp, [esp + 4]
xchg edx, eax
xchg dword [esp], edx
xchg edx, eax
lea esp, [esp + 4]
je 0x1007352c
jne 0x1005cfc4
jmp 0x1007352a
lea edi, [eax - 8]
push edx
mov edx, dword [esp + 4]
lea edx, [edx + 0x7b]
xchg dword [esp + 4], edx
mov dword [esp + 4], edx
mov edx, dword [esp]
lea esp, [esp + 4]
xchg ecx, eax
mov eax, 0x5c4a254b
push ecx
xchg ecx, eax
pop eax
pushfd
push edx
mov edx, dword [esp + 4]
lea edx, [edx + 0x27]
xchg dword [esp + 4], edx
mov dword [esp + 4], edx
mov edx, dword [esp]
lea esp, [esp + 4]
push 0x5c4a254b
push edx
mov edx, dword [esp + 4]
xor ecx, edx
mov edx, dword [esp]
lea esp, [esp + 8]
popfd
mov edx, edx
shr edi, 1
push edx
mov edx, ecx
pop edx
je 0x10052930
mov edi, edi
push ebp
mov ebp, esp
leave
jmp 0x10066c34
pushfd
pushfd
add ebp, 2
popfd
lea ebp, [ebp - 2]
xchg ecx, eax
lea esp, [esp - 4]
mov dword [esp], ecx
mov ecx, eax
mov eax, dword [esp]
xchg ecx, edx
lea esp, [esp - 4]
mov dword [esp], ecx
mov ecx, edx
mov edx, dword [esp]
rdtsc
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 0x19]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
and eax, 1
push ebx
mov ebx, dword [esp + 4]
lea ebx, [ebx + 0x68]
xchg dword [esp + 4], ebx
mov dword [esp + 4], ebx
mov ebx, dword [esp]
lea esp, [esp + 4]
xchg edx, eax
xchg dword [esp], eax
xchg edx, eax
lea esp, [esp + 4]
xchg ecx, eax
xchg dword [esp], ecx
xchg ecx, eax
lea esp, [esp + 4]
je 0x1004e4d8
jne 0x1004aa50
jmp 0x1004e4d6
add byte [eax], al
inc ecx
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x30]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
cmp ecx, edi
push edx
mov edx, dword [esp + 4]
lea edx, [edx + 0x5e]
xchg dword [esp + 4], edx
mov dword [esp + 4], edx
mov edx, dword [esp]
lea esp, [esp + 4]
jb 0x100753c0
xchg ecx, eax
mov ecx, dword [esi + 4]
push eax
xchg ecx, eax
pop ecx
jmp 0x1004f544
popfd
push ebp
mov ebp, esp
leave
je 0x10057694
jne 0x10057694
jmp 0x10057692
div dword [esi - 0x63]
popfd
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x1d]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
je 0x100753c0
jne 0x100753c0
jmp 0x100753be
popfd
lea edi, [edi]
je 0x10064c98
jne 0x10064c98
jmp 0x10064c96
add byte es:[edi - 0x3b27436], al
xchg edx, ecx
mov ecx, dword [ebp - 4]
push edx
xchg edx, ecx
pop ecx
and eax, 0xfff
pushfd
add ebp, 0x22
popfd
lea ebp, [ebp - 0x22]
add eax, dword [esi]
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x3e]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
add dword [eax + ebx], edx
push esi
mov esi, dword [esp + 4]
lea esi, [esi + 0x42]
xchg dword [esp + 4], esi
mov dword [esp + 4], esi
mov esi, dword [esp]
lea esp, [esp + 4]
jmp 0x100744c8
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 2]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
add dword [esp], 0xfffe46c2
xchg dword [esp], ebx
pushfd
add ebp, 0x74
popfd
lea ebp, [ebp - 0x74]
xchg dword [esp + 4], ebx
lea ecx, [ecx]
xchg dword [esp], ebx
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x70]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
popfd
lea ecx, [ecx]
jmp 0x1004df40
push 0x4879646
and al, 0x96
xchg esi, eax
xchg dword [esp], eax
xchg esi, eax
lea esp, [esp + 4]
cmp edi, 8
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]
jle 0x1006a978
lea esp, [esp - 4]
mov dword [esp], edi
mov edi, dword [ecx + 0x5a]
xchg dword [esp], edi
xchg edx, eax
mov edx, dword [ecx + 0x56]
push eax
xchg edx, eax
pop edx
add eax, ebx
pushfd
add ebp, 0x36
popfd
lea ebp, [ebp - 0x36]
xchg ecx, eax
lea esp, [esp - 4]
mov dword [esp], ecx
mov ecx, eax
mov eax, dword [esp]
xchg edi, eax
lea esp, [esp - 4]
mov dword [esp], edi
mov edi, eax
mov eax, dword [esp]
lea eax, [ecx + 0x72]
mov ecx, ecx
xchg edx, eax
lea esp, [esp - 4]
mov dword [esp], edx
mov edx, eax
mov eax, dword [esp]
pushfd
pushfd
add ebp, 0x10
popfd
lea ebp, [ebp - 0x10]
call 0x10064d19
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x27]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
add dword [esp], 0xd690
xchg dword [esp], eax
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 0x52]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
xchg dword [esp + 4], eax
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 0x58]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
xchg dword [esp], eax
mov eax, eax
popfd
push ebp
mov ebp, esp
leave
jmp fcn.1005a860
pushfd
push edi
mov edi, eax
pop edi
xchg ecx, eax
lea esp, [esp - 4]
mov dword [esp], ecx
mov ecx, eax
mov eax, dword [esp]
xchg ecx, edx
lea esp, [esp - 4]
mov dword [esp], ecx
mov ecx, edx
mov edx, dword [esp]
rdtsc
pushfd
add ebp, 0x41
popfd
lea ebp, [ebp - 0x41]
and eax, 1
push edx
mov edx, dword [esp + 4]
lea edx, [edx + 0x1b]
xchg dword [esp + 4], edx
mov dword [esp + 4], edx
mov edx, dword [esp]
lea esp, [esp + 4]
xchg edx, eax
xchg dword [esp], eax
xchg edx, eax
lea esp, [esp + 4]
xchg ecx, eax
xchg dword [esp], ecx
xchg ecx, eax
lea esp, [esp + 4]
je 0x10059d14
jne 0x1004c688
jmp 0x10059d12
add byte [edi - 0x3b27436], al
xchg edx, ecx
mov ecx, dword [ebp - 4]
push edx
xchg edx, ecx
pop ecx
and eax, 0xfff
lea ecx, [ecx]
add eax, dword [esi]
push edx
mov edx, dword [esp + 4]
lea edx, [edx + 0x2a]
xchg dword [esp + 4], edx
mov dword [esp + 4], edx
mov edx, dword [esp]
lea esp, [esp + 4]
add dword [eax + ebx], edx
lea ebx, [ebx]
jmp 0x100744c8
xchg ecx, edi
xchg dword [esp], ecx
xchg ecx, edi
lea esp, [esp + 4]
xor eax, eax
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0xe]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
xchg ebx, eax
xchg dword [esp], eax
xchg ebx, eax
lea esp, [esp + 4]
mov esp, ebp
push eax
mov eax, ebx
pop eax
xchg ecx, ebp
xchg dword [esp], ecx
xchg ecx, ebp
lea esp, [esp + 4]
ret
pushfd
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 0x15]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
xchg ebx, eax
lea esp, [esp - 4]
mov dword [esp], ebx
mov ebx, eax
mov eax, dword [esp]
xchg ecx, edx
lea esp, [esp - 4]
mov dword [esp], ecx
mov ecx, edx
mov edx, dword [esp]
rdtsc
push ebx
mov ebx, dword [esp + 4]
lea ebx, [ebx + 0x31]
xchg dword [esp + 4], ebx
mov dword [esp + 4], ebx
mov ebx, dword [esp]
lea esp, [esp + 4]
and eax, 1
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 0x2a]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
xchg ebx, edx
xchg dword [esp], ebx
xchg ebx, edx
lea esp, [esp + 4]
xchg edi, eax
xchg dword [esp], edi
xchg edi, eax
lea esp, [esp + 4]
je 0x10074984
jne 0x1004b7fc
jmp 0x10074982
inc esi
add byte [ebp + 0x24448b50], bl
add al, 0x8d
inc eax
and eax, dword [edi - 0x76fbdbbc]
inc esp
and al, 4
popfd
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x23]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
je 0x1007464c
jne 0x1007464c
jmp 0x1007464a
add byte [eax], al
inc ecx
push esi
mov esi, dword [esp + 4]
lea esi, [esi + 0x52]
xchg dword [esp + 4], esi
mov dword [esp + 4], esi
mov esi, dword [esp]
lea esp, [esp + 4]
cmp ecx, edi
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x6d]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
jb 0x100753c0
xchg edx, eax
mov edx, dword [esi + 4]
push eax
xchg edx, eax
pop edx
jmp 0x1004f544
add byte [eax], al
xchg esi, eax
xchg dword [esp], eax
xchg esi, eax
lea esp, [esp + 4]
cmp edi, 8
push esi
mov esi, dword [esp + 4]
lea esi, [esi + 0x22]
xchg dword [esp + 4], esi
mov dword [esp + 4], esi
mov esi, dword [esp]
lea esp, [esp + 4]
jle 0x1006a978
lea esp, [esp - 4]
mov dword [esp], ebx
mov ebx, dword [ecx + 0x5a]
xchg dword [esp], ebx
xchg edx, eax
mov edx, dword [ecx + 0x56]
push eax
xchg edx, eax
pop edx
add eax, ebx
mov eax, eax
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], edx
mov edx, eax
mov eax, dword [esp]
lea eax, [ecx + 0x72]
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x4f]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
xchg ebx, eax
lea esp, [esp - 4]
mov dword [esp], ebx
mov ebx, eax
mov eax, dword [esp]
pushfd
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 7]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
call 0x100746eb
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x30]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
add dword [esp], 0xffffdcbe
xchg dword [esp], eax
push ebp
mov ebp, esp
leave
xchg dword [esp + 4], eax
push ebp
mov ebp, esp
leave
xchg dword [esp], eax
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x64]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
popfd
pushfd
add ebp, 0x58
popfd
lea ebp, [ebp - 0x58]
jmp fcn.1005a860
or dword [eax], eax
popfd
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]
je 0x10066d64
jne 0x10066d64
jmp 0x10066d62
mov al, 0
movzx eax, word [esi + ecx*2 + 8]
push ebx
mov ebx, dword [esp + 4]
lea ebx, [ebx + 0x70]
xchg dword [esp + 4], ebx
mov dword [esp + 4], ebx
mov ebx, dword [esp]
lea esp, [esp + 4]
xchg edx, edi
mov edi, eax
push edx
xchg edx, edi
pop edi
shr edx, 0xc
pushfd
add ebp, 0x62
popfd
lea ebp, [ebp - 0x62]
cmp edx, 3
push eax
mov eax, dword [esp + 0xd]
pop eax
je 0x1006e708
cmp edx, 0xa
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x25]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
jne 0x10049aa0
jmp 0x10066d64