Function at 0x6e5834
Capabilities:
Execute anti-debugging instructions

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffed0
xor eax, eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x5c], eax
xor eax, eax
push ebp
push 0x6e6c74
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.00437f90
call fcn.0053e028
mov eax, 0
cmp eax, 1
jbe 0x6e5868
and ecx, dword [edi]
xor dword [ecx + 0x45c7fc55], ecx
in al, dx
add dword [eax], eax
add byte [eax], al
rdtsc
mov dword [ebp - 4], edx
mov dword [ebp - 0x14], 1
xor eax, eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x18], 1
mov eax, 1
cmp eax, 0
jae 0x6e588b
cld
mov eax, 0
cmp eax, 0
je 0x6e5896
xor al, 0x8b
inc ebp
fadd qword [ebp + 0x40287cc0]
mov eax, dword [ebp - 0x24]
test eax, eax
jl 0x6e58c5
inc eax
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x1c], 0
inc dword [ebp - 0x20]
add dword [ebp - 0x18], 2
rdtsc
cmp dword [ebp - 0x18], 0
jl 0x6e58c5
inc dword [ebp - 0x1c]
dec dword [ebp - 0x94]
jne 0x6e58ab
mov eax, 1
cmp eax, 0
jg 0x6e58d0
inc ebp
mov eax, dword [ebp - 0x24]
inc eax
cmp eax, dword [ebp - 0x20]
jne 0x6e5aca
lea eax, [0x6e6b0c]
mov dword [ebp - 8], eax
lea eax, [ebp - 0x58]
push eax
mov ecx, 1
mov edx, 1
mov eax, dword [ebp - 0x5c]
call fcn.0040b018
mov eax, dword [0x6f592c]
call fcn.00407258
mov dword [0x6f592c], eax
xor eax, eax
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x84], 0xa
jge 0x6e5979
inc dword [ebp - 0x84]
mov eax, dword [ebp - 0x74]
add eax, 0xce
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x64]
add eax, 0x96
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x7c]
add eax, dword [ebp - 0x8c]
mov dword [ebp - 0x70], eax
mov eax, dword [0x6f592c]
sub dword [0x6f592c], eax
mov eax, 0xc4
sub eax, dword [0x6f5928]
mov dword [0x6f5928], eax
mov eax, dword [0x6f592c]
imul eax, dword [0x6f5928]
mov dword [0x6f5928], eax
cmp dword [ebp - 0x84], 0xa
jl 0x6e591c
mov ecx, 1
mov edx, dword [ebp - 0x5c]
mov eax, 0x6e6c8c
call fcn.0040b170
cmp eax, 0xc4
jge 0x6e599d
lea eax, [ebp - 0x58]
mov edx, dword [ebp - 0x5c]
call fcn.0040a1dc
mov eax, dword [0x6f592c]
imul eax, dword [0x6f5928]
mov dword [0x6f5928], eax
mov eax, dword [0x6f592c]
sub dword [0x6f592c], eax
mov eax, dword [ebp - 8]
sub eax, fcn.006e5834
mov dword [ebp - 0x20], eax
mov eax, dword [0x6f5a98]
xor ecx, ecx
mov edx, 0x400
call fcn.004077b8
mov eax, fcn.006e5834
mov edx, dword [ebp - 0x20]
call fcn.004eb55c
xor eax, eax
mov dword [ebp - 0x8c], eax
lea eax, [ebp - 0x58]
mov edx, dword [ebp - 0x58]
call fcn.0040a1dc
jmp 0x6e5a07
xor eax, eax
mov dword [ebp - 0x88], eax
lea eax, [ebp - 0x58]
mov edx, dword [ebp - 0x58]
call fcn.0040a1dc
inc dword [ebp - 0x88]
cmp dword [ebp - 0x88], 4
jne 0x6e5a0f
xor eax, eax
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x58]
mov edx, dword [ebp - 0x5c]
call fcn.0040a1dc
inc dword [ebp - 0x64]
cmp dword [ebp - 0x64], 0x10
jne 0x6e5a2e
xor eax, eax
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x84], 2
jge 0x6e5a6f
inc dword [ebp - 0x84]
lea eax, [ebp - 0x58]
mov edx, 0x6e6cc0
call fcn.0040a1dc
cmp dword [ebp - 0x84], 2
jl 0x6e5a53
xor eax, eax
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 4
jge 0x6e5a8e
inc dword [ebp - 0x60]
lea eax, [ebp - 0x58]
mov edx, dword [ebp - 0x58]
call fcn.0040a1dc
cmp dword [ebp - 0x60], 4
jl 0x6e5a7a
xor eax, eax
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x7c], 5
jge 0x6e5ab1
inc dword [ebp - 0x7c]
lea eax, [ebp - 0x58]
mov edx, 0x6e6ce4
call fcn.0040a1dc
jmp 0x6e5ab1
lea eax, [ebp - 0x2c]
push eax
push 0x40
mov eax, dword [ebp - 0x20]
push eax
push fcn.006e5834
call fcn.00527368
jmp 0x6e5b8e
mov eax, dword [0x6f592c]
mov dword [0x6f5928], eax
xor eax, eax
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 3
jge 0x6e5b01
inc dword [ebp - 0x88]
lea eax, [ebp - 0x58]
mov edx, dword [ebp - 0x58]
call fcn.0040a1dc
jmp 0x6e5b01
xor eax, eax
mov dword [ebp - 0x8c], eax
lea eax, [ebp - 0x58]
mov edx, dword [ebp - 0x58]
call fcn.0040a1dc
jmp 0x6e5b25
xor eax, eax
mov dword [ebp - 0x74], eax
lea eax, [ebp - 0x58]
mov edx, dword [ebp - 0x58]
call fcn.0040a1dc
lea eax, [ebp - 0x58]
mov edx, 0x6e6d28
call fcn.0040a1dc
inc dword [ebp - 0x74]
cmp dword [ebp - 0x74], 0x10
jne 0x6e5b2a
xor eax, eax
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 2
jge 0x6e5b75
inc dword [ebp - 0x60]
lea eax, [ebp - 0x58]
push eax
mov ecx, 1
mov edx, 1
mov eax, dword [ebp - 0x5c]
call fcn.0040b018
cmp dword [ebp - 0x60], 2
jl 0x6e5b56
xor eax, eax
mov dword [ebp - 0x6c], eax
lea eax, [ebp - 0x58]
mov edx, dword [ebp - 0x58]
call fcn.0040a1dc
inc dword [ebp - 0x6c]
cmp dword [ebp - 0x6c], 7
jne 0x6e5b7a
lea eax, [ebp - 0xb0]
push eax
call fcn.005003d0
call fcn.004feeb8
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x24], 3
mov dword [ebp - 0x20], 0x80
mov eax, 0
cmp eax, 1
jle 0x6e5bbb
jne 0x6e5bcb
rdtsc
mov eax, dword [ebp - 0x24]
test eax, eax
xor dword [ebx - 0x3f7a23bb], ecx
jle 0x6e5c33
mov dword [ebp - 0x94], eax
mov dword [ebp - 0x1c], 1
inc ebp
in al, 1
add byte [eax], al
add byte [ebp - 0x17af3fbb], cl
out dx, al
jle 0x6e5bba
lea eax, [ebp - 0x40]
push eax
call fcn.004fdac8
mov eax, dword [ebp - 0x20]
push eax
call fcn.005005a0
lea eax, [ebp - 0x48]
push eax
call fcn.004fdac8
dec dword [ebx - 0x17af1fbb]
mov ebp, 0x8dffe1a9
inc ebp
mov eax, 0x7edce850
loope 0x6e5beb
invalid
mov eax, 0
cmp eax, 1
jl 0x6e5bf7
outsb dx, byte [esi]
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
sub eax, dword [ebp - 0x40]
sbb edx, dword [ebp - 0x3c]
push edx
push eax
mov eax, dword [ebp - 0x20]
sub eax, 0x60
imul eax, eax, 0x2710
cdq
cmp edx, dword [esp + 4]
jne 0x6e5c21
cmp eax, dword [esp]
pop edx
pop eax
jbe 0x6e5c28
jmp 0x6e5c25
pop edx
pop eax
jle 0x6e5c28
dec dword [ebp - 0x14]
inc dword [ebp - 0x1c]
dec dword [ebp - 0x94]
jne 0x6e5bd1
call fcn.006e5c38