Function at 0x456870
Capabilities:
Check for peb beingdebugged flag

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4f18f1
mov eax, dword fs:[0]
push eax
sub esp, 0x48
push ebx
push esi
push edi
mov eax, dword [0x560094]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
lea esi, [ecx + 0x30]
mov ebx, dword [ebp + 0xc]
mov ecx, ebx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x18], eax
xor eax, eax
mov dword [ebp - 0x1c], esi
lea edx, [ecx + 2]
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 7
mov word [ebp - 0x3c], ax
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4568d0
sub ecx, edx
sar ecx, 1
push ecx
push ebx
lea ecx, [ebp - 0x3c]
call fcn.0042b3e0
lea eax, [ebp - 0x3c]
mov dword [ebp - 4], 0
push eax
lea eax, [ebp - 0x10]
mov dword [ebp - 0x10], 0
push eax
mov ecx, esi
call fcn.00465da0
mov eax, dword [ebp - 0x10]
cmp eax, dword [esi]
je 0x4569bd
cmp dword [eax + 0x24], 8
lea edx, [eax + 0x10]
mov esi, dword [edx + 0x10]
jb 0x45691f
mov edx, dword [edx]
cmp dword [ebp - 0x28], 8
lea ecx, [ebp - 0x3c]
mov edi, dword [ebp - 0x2c]
mov eax, edi
cmovae ecx, dword [ebp - 0x3c]
cmp esi, edi
cmovb eax, esi
push eax
push edx
push ecx
call fcn.0043cc20
add esp, 0xc
test eax, eax
jne 0x456950
cmp esi, edi
jbe 0x45694c
or eax, 0xffffffff
jmp 0x456950
sbb eax, eax
neg eax
shr eax, 0x1f
test al, al
jne 0x4569bd
mov edx, ebx
mov dword [ebp - 0x44], 0
xor eax, eax
mov dword [ebp - 0x40], 7
mov word [ebp - 0x54], ax
lea ecx, [edx + 2]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x456970
sub edx, ecx
lea ecx, [ebp - 0x54]
sar edx, 1
push edx
push ebx
call fcn.0042b3e0
mov ecx, dword [ebp - 0x1c]
lea eax, [ebp - 0x54]
push eax
mov byte [ebp - 4], 1
mov dword [ebp - 0x24], 1
call fcn.004525f0
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4569ae
lock inc dword [ecx + 4]
mov ecx, dword [eax + 4]
mov eax, dword [eax]
mov ebx, 3
mov dword [ebp - 0x10], ecx
lea ecx, [ebp - 0x14]
jmp 0x4569ce
mov dword [ebp - 0x1c], 0
lea ecx, [ebp - 0x20]
mov ebx, 4
xor eax, eax
mov edx, dword [ebp - 0x18]
or ebx, 8
or edi, 0xffffffff
mov dword [ecx], 0
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov dword [ecx + 4], 0
test bl, 4
je 0x456a1a
mov esi, dword [ebp - 0x1c]
and ebx, 0xfffffffb
test esi, esi
je 0x456a1a
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x456a1a
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, edi
lock xadd dword [esi + 8], eax
jne 0x456a1a
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
test bl, 2
je 0x456a47
mov esi, dword [ebp - 0x10]
and ebx, 0xfffffffd
test esi, esi
je 0x456a47
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x456a47
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], edi
dec edi
jne 0x456a47
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
test bl, 1
je 0x456a54
lea ecx, [ebp - 0x54]
call fcn.004292e0
mov eax, dword [ebp - 0x28]
cmp eax, 8
jb 0x456a8a
mov edx, dword [ebp - 0x3c]
lea ecx, [eax*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x456a80
mov edx, dword [edx - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x456aa1
push ecx
push edx
call fcn.0049fef8
add esp, 8
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
call fcn.004c4d9a
int3