Function at 0x45f2a8
Capabilities:
Check for peb beingdebugged flag

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 9
push 0
push 0
dec ecx
jne 0x45f2b1
push ecx
xchg dword [ebp - 4], ecx
push ebx
push esi
mov esi, edx
mov ebx, eax
xor eax, eax
push ebp
push 0x45f68e
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 4]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, dword [ebp - 4]
lea eax, [ebx + 0x20]
call fcn.00405a6c
push 2
push 1
mov eax, 0x45f6a0
mov dword [ebp - 0x10], eax
mov eax, 0x45f6b0
mov dword [ebp - 0xc], eax
mov eax, 0x45f6c8
mov dword [ebp - 8], eax
lea ecx, [ebp - 0x10]
mov edx, 0x45f6d8
mov eax, esi
call fcn.00423b54
mov byte [ebx + 0x163], al
push 1
push 1
mov eax, 0x45f6ec
mov dword [ebp - 0x18], eax
mov eax, 0x45f704
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x18]
mov edx, 0x45f718
mov eax, esi
call fcn.00423b54
mov byte [ebx + 0x164], al
push 1
push 1
mov eax, 0x45f6ec
mov dword [ebp - 0x18], eax
mov eax, 0x45f704
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x18]
mov edx, 0x45f72c
mov eax, esi
call fcn.00423b54
mov byte [ebx + 0x165], al
push 0
push 0
mov edx, 0x45f748
mov eax, esi
call fcn.004239d0
fstp qword [ebx + 0xf0]
wait
push 0
push 0
mov edx, 0x45f764
mov eax, esi
call fcn.004239d0
fstp qword [ebx + 0xf8]
wait
xor ecx, ecx
mov edx, 0x45f780
mov eax, esi
call fcn.00423a50
mov byte [ebx + 0x28], al
mov cl, 1
mov edx, 0x45f7a4
mov eax, esi
call fcn.00423a50
mov byte [ebx + 0xa3], al
xor ecx, ecx
mov edx, 0x45f7bc
mov eax, esi
call fcn.00423a50
mov edx, dword [ebx + 0x14]
mov byte [edx + 0x98], al
mov eax, ebx
call fcn.004043e4
cmp eax, dword [0x45c1d0]
jne 0x45f3fa
mov cl, 1
mov edx, 0x45f7ec
mov eax, esi
call fcn.00423a50
mov edx, eax
mov eax, ebx
call fcn.0045dfc0
jmp 0x45f411
xor ecx, ecx
mov edx, 0x45f7ec
mov eax, esi
call fcn.00423a50
mov edx, eax
mov eax, ebx
call fcn.0045dfc0
push 0x40300000
push 0
mov edx, 0x45f80c
mov eax, esi
call fcn.004239d0
fstp dword [ebx + 0xd4]
wait
mov eax, dword [0x4fcee0]
movzx edx, byte [eax + 2]
shl edx, 0x10
mov dx, word [eax]
push edx
lea ecx, [ebp - 0x1c]
mov edx, 0x45f828
mov eax, esi
call fcn.00423e14
mov ax, word [ebp - 0x1c]
mov word [ebx + 0xd8], ax
mov al, byte [ebp - 0x1a]
mov byte [ebx + 0xda], al
push 0x404d8000
push 0
mov edx, 0x45f844
mov eax, esi
call fcn.004239d0
fstp dword [ebx + 0xdc]
wait
push 0x3ff80000
push 0
mov edx, 0x45f864
mov eax, esi
call fcn.004239d0
add esp, 0xfffffffc
fstp dword [esp]
wait
mov eax, ebx
call fcn.0045dfa0
push 0x40468000
push 0
mov edx, 0x45f888
mov eax, esi
call fcn.004239d0
add esp, 0xfffffff8
fstp qword [esp]
wait
mov eax, ebx
call fcn.0045df78
xor ecx, ecx
mov edx, 0x45f8a4
mov eax, esi
call fcn.004238c4
mov dword [ebx + 0xe0], eax
xor ecx, ecx
mov edx, 0x45f8cc
mov eax, esi
call fcn.00423a50
mov byte [ebx + 0xec], al
xor ecx, ecx
mov edx, 0x45f8e4
mov eax, esi
call fcn.004238c4
cmp eax, 1
setg dl
mov byte [ebx + 0xa0], dl
and al, 1
mov byte [ebx + 0xa1], al
xor ecx, ecx
mov edx, 0x45f8fc
mov eax, esi
call fcn.00423a50
mov byte [ebx + 0xa2], al
lea eax, [ebp - 0x20]
push eax
xor ecx, ecx
mov edx, 0x45f918
mov eax, esi
call fcn.0041f48c
mov edx, dword [ebp - 0x20]
lea eax, [ebx + 0x2c]
call fcn.00405a6c
mov edx, esi
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x30]
lea eax, [ebp - 0x28]
push eax
mov eax, dword [ebx + 0x14]
call fcn.00448ee8
lea edx, [ebp - 0x30]
call fcn.004473b0
mov edx, dword [ebp - 0x30]
lea eax, [ebp - 0x2c]
call fcn.00405bf0
mov ecx, dword [ebp - 0x2c]
mov edx, 0x45f92c
mov eax, esi
call fcn.0041f48c
mov edx, dword [ebp - 0x28]
lea eax, [ebp - 0x24]
call fcn.004054a8
mov eax, dword [ebp - 0x24]
push eax
mov eax, dword [ebx + 0x14]
call fcn.00448ee8
pop edx
call fcn.0044756c
lea eax, [ebp - 0x38]
push eax
mov eax, dword [ebx + 0x14]
call fcn.00448ed0
lea edx, [ebp - 0x40]
call fcn.004473b0
mov edx, dword [ebp - 0x40]
lea eax, [ebp - 0x3c]
call fcn.00405bf0
mov ecx, dword [ebp - 0x3c]
mov edx, 0x45f944
mov eax, esi
call fcn.0041f48c
mov edx, dword [ebp - 0x38]
lea eax, [ebp - 0x34]
call fcn.004054a8
mov eax, dword [ebp - 0x34]
push eax
mov eax, dword [ebx + 0x14]
call fcn.00448ed0
pop edx
call fcn.0044756c
lea eax, [ebp - 0x48]
push eax
mov eax, dword [ebx + 0x14]
call fcn.00448f00
lea edx, [ebp - 0x50]
call fcn.004473b0
mov edx, dword [ebp - 0x50]
lea eax, [ebp - 0x4c]
call fcn.00405bf0
mov ecx, dword [ebp - 0x4c]
mov edx, 0x45f960
mov eax, esi
call fcn.0041f48c
mov edx, dword [ebp - 0x48]
lea eax, [ebp - 0x44]
call fcn.004054a8
mov eax, dword [ebp - 0x44]
push eax
mov eax, dword [ebx + 0x14]
call fcn.00448f00
pop edx
call fcn.0044756c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x45f695
lea eax, [ebp - 0x50]
call fcn.0040525c
lea eax, [ebp - 0x4c]
mov edx, 2
call fcn.00405a48
lea eax, [ebp - 0x44]
mov edx, 2
call fcn.00405280
lea eax, [ebp - 0x3c]
mov edx, 2
call fcn.00405a48
lea eax, [ebp - 0x34]
mov edx, 2
call fcn.00405280
lea eax, [ebp - 0x2c]
mov edx, 2
call fcn.00405a48
lea eax, [ebp - 0x24]
call fcn.0040525c
lea eax, [ebp - 0x20]
call fcn.00405a30
lea eax, [ebp - 4]
call fcn.00405a30
ret