Function at 0x69be60
Capabilities:
Execute anti-debugging instructions
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x777226
mov eax, dword fs:[0]
push eax
sub esp, 0x460
mov eax, dword [0x81f390]
xor eax, esp
mov dword [esp + 0x45c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x81f390]
xor eax, esp
push eax
lea eax, [esp + 0x474]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x484]
mov bl, 1
mov edi, dword [esp + 0x488]
mov byte [esp + 0x15], 0
mov byte [esp + 0x16], 0
mov dword [esp + 0x40], 0
call fcn.0069b4a0
mov dword [esp + 0x24], eax
cmp ebp, 0x12345678
je 0x69c282
call fcn.0069ce70
rdtsc
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], edx
cmp edi, 0xffff
ja 0x69bef1
mov byte [esp + 0x15], bl
xor bl, bl
jmp 0x69bf06
xor eax, eax
movzx ebx, bl
cmp byte [edi], al
mov dword [esp + 0x47c], 0xffffffff
cmovne ebx, eax
mov esi, ebp
test ebp, ebp
jne 0x69bf13
call fcn.0069d330
mov esi, eax
cmp byte [0x854fd6], 0
mov al, 1
je 0x69bf8e
call fcn.0069e330
mov dword [esp + 0x18], eax
test eax, eax
je 0x69bf8c
cmp byte [esp + 0x15], 0
mov byte [esp + 0x17], 0
je 0x69bf44
lea ecx, [esp + 0x40]
push ecx
push edi
push 0
push ebp
call eax
jmp 0x69bf77
push edi
call fcn.0069d180
mov word [esp + 0x44], ax
mov eax, dword [esp + 0x44]
inc eax
mov dword [esp + 0x48], edi
mov word [esp + 0x46], ax
lea eax, [esp + 0x40]
push eax
push 0
lea eax, [esp + 0x4c]
push eax
push ebp
call dword [esp + 0x28]
xorps xmm0, xmm0
movq qword [esp + 0x44], xmm0
cmp eax, 0xc0000138
mov al, byte [esp + 0x17]
jne 0x69bf8e
mov dword [esp + 0x40], 0
jmp 0x69bf8e
mov al, 1
test esi, esi
je 0x69bfcb
test al, al
je 0x69bfcb
mov ecx, dword [esi + 0x3c]
mov dword [esp + 0x47c], 0xffffffff
test ecx, ecx
je 0x69bfcb
mov eax, dword [ecx + esi]
xor eax, 0x57494255
cmp eax, 0x57490705
jne 0x69bfcb
cmp dword [ecx + esi + 0x78], 0
je 0x69bfc5
cmp dword [ecx + esi + 0x7c], 0
jne 0x69bfcb
mov bl, 1
mov byte [esp + 0x16], bl
push 0x400
lea eax, [esp + 0x74]
push 0
push eax
call fcn.006f87a0
add esp, 0xc
test bl, bl
jne 0x69c11b
push ebp
call fcn.0069b4c0
mov ecx, eax
test ecx, ecx
je 0x69c11b
cmp byte [esp + 0x16], bl
jne 0x69c11b
xor esi, esi
mov ax, word [ecx + esi*2]
xor ax, 0x33
movzx eax, ax
cmp eax, 0x33
je 0x69c022
cmp eax, 0x1d
je 0x69c022
mov al, byte [ecx + esi*2]
mov byte [esp + esi + 0x70], al
inc esi
jmp 0x69c003
mov ebx, 0x400
sub ebx, esi
cmp ebx, 1
jbe 0x69c11b
push 0x78274c
lea ecx, [esp + 0x5c]
call fcn.00406ab0
cmp byte [esp + 0x15], 0
lea ecx, [esp + 0x58]
mov dword [esp + 0x47c], 4
je 0x69c09a
push 0x78eef4
call fcn.0041a0f0
movzx eax, di
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.0069d050
add esp, 8
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x64]
mov byte [esp + 0x488], 5
call fcn.004094b0
lea ecx, [esp + 0x28]
mov byte [esp + 0x47c], 4
call fcn.00404550
jmp 0x69c0a0
push edi
call fcn.0041a0f0
mov edx, dword [esp + 0x68]
cmp edx, ebx
jae 0x69c107
lea ebx, [esp + 0x70]
add ebx, esi
cmp dword [esp + 0x6c], 0x10
lea esi, [esp + 0x58]
cmovae esi, dword [esp + 0x58]
xor eax, eax
test edx, edx
je 0x69c0e0
mov ecx, ebx
mov dword [esp + 0x18], edx
sub esi, ebx
lea ebx, [ebx]
mov al, byte [esi + ecx]
lea ecx, [ecx + 1]
mov byte [ecx - 1], al
dec edx
jne 0x69c0d0
mov eax, dword [esp + 0x18]
mov byte [eax + ebx], 0
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x74]
mov dword [esp + 0x58], 0
push eax
call fcn.0069c2d0
mov dword [esp + 0x40], eax
mov dword [esp + 0x54], 0
lea ecx, [esp + 0x58]
mov dword [esp + 0x47c], 0xffffffff
call fcn.00404550
push 0x400
lea eax, [esp + 0x74]
push 0
push eax
call fcn.006f87a0
mov esi, dword [0x80fec8]
add esp, 0xc
mov ecx, dword [0x80fecc]
rdtsc
mov ebx, eax
sub ebx, dword [esp + 0x1c]
sbb edx, dword [esp + 0x20]
or esi, ecx
je 0x69c160
mov ecx, dword [0x80fec8]
mov eax, dword [0x80fecc]
cmp eax, edx
ja 0x69c16c
jb 0x69c160
cmp ecx, ebx
jae 0x69c16c
mov dword [0x80fec8], ebx
mov dword [0x80fecc], edx
cmp dword [esp + 0x40], 0
jne 0x69c24a
cmp byte [esp + 0x16], 0
jne 0x69c24a
call fcn.006a0820
cmp eax, 0x4750412d
je 0x69c24a
call fcn.0069e330
mov esi, eax
test esi, esi
je 0x69c24a
inc dword [0x80fe94]
cmp edi, 0xffff
ja 0x69c1bc
lea eax, [esp + 0x40]
push eax
push edi
push 0
push ebp
call esi
jmp 0x69c1ed
push edi
call fcn.0069d180
mov word [esp + 0x4c], ax
mov eax, dword [esp + 0x4c]
inc eax
mov dword [esp + 0x50], edi
mov word [esp + 0x4e], ax
lea eax, [esp + 0x40]
push eax
push 0
lea eax, [esp + 0x54]
push eax
push ebp
call esi
xorps xmm0, xmm0
movq qword [esp + 0x4c], xmm0
cmp eax, 0xc0000138
je 0x69c220
cmp eax, 0xc0000142
je 0x69c220
cmp dword [esp + 0x40], 0
je 0x69c228
inc dword [0x80fea4]
cmp edi, 0xffff
ja 0x69c218
inc dword [0x80fea8]
jmp 0x69c24a
inc dword [0x80feac]
jmp 0x69c24a
mov dword [esp + 0x40], 0
inc dword [0x80feb0]
inc dword [0x80fe98]
cmp edi, 0xffff
ja 0x69c244
inc dword [0x80fe9c]
jmp 0x69c24a
inc dword [0x80fea0]
push dword [esp + 0x24]
call fcn.0069b5a0
cmp dword [esp + 0x40], 0
je 0x69c263
push 0
call fcn.006a0840
jmp 0x69c29d
cmp byte [esp + 0x15], 0
jne 0x69c276
push 0xc0000139
call fcn.006a0840
jmp 0x69c29d
push 0xc0000138
call fcn.006a0840
jmp 0x69c29d
cmp dword [0x80fcc0], 0x33c0
jne 0x69c29d
call fcn.006a033e
add eax, 0x33c0
mov dword [0x80fcc0], eax
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x474]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x45c]
xor ecx, esp
call fcn.006f7ca4
add esp, 0x46c
ret 8