Function at 0x402a11
Capabilities:
Check for peb beingdebugged flag

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x440
mov eax, 0x7b
mov ecx, 0x22
mov eax, ecx
xor ecx, ecx
xor eax, eax
xor ecx, ecx
xor eax, eax
xor ecx, ecx
xor eax, eax
xor ecx, ecx
xor eax, eax
xor ecx, ecx
xor eax, eax
xor ecx, ecx
xor eax, eax
xor ecx, ecx
xor eax, eax
xor ecx, ecx
xor eax, eax
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
movzx eax, byte [eax + 2]
call fcn.0040380d
call fcn.00406e3f
test al, al
jne 0x402a68
xor eax, eax
jmp 0x402e09
push ebx
xor ebx, ebx
push edi
mov dword [ebp - 8], ebx
call dword [0x411ce8]
mov edx, eax
cmp edx, ebx
je 0x402ab8
mov ecx, edx
call fcn.0040a7d2
lea ecx, [ebp - 0x18]
call fcn.0040a63a
cmp eax, ebx
jbe 0x402ab8
mov edi, dword [ebp - 0x18]
xor edx, edx
cmp eax, ebx
jbe 0x402ab3
mov ecx, dword [edi + edx*4]
cmp byte [ecx], 0x2d
jne 0x402aae
cmp byte [ecx + 1], 0x66
jne 0x402aae
cmp byte [ecx + 2], bl
jne 0x402aae
or dword [ebp - 8], 1
inc edx
cmp edx, eax
jb 0x402a97
call fcn.0040a457
mov eax, dword [0x411a74]
push dword [eax + 0x30]
push 1
push 0x4124e0
call dword [0x411d30]
mov dword [ebp - 0x14], eax
call dword [0x411d2c]
test eax, eax
jne 0x402ded
call fcn.00402981
mov byte [ebp - 1], al
mov eax, dword [0x411a74]
mov dword [ebp - 0x10], ebx
push dword [eax + 0x2c]
mov byte [ebp - 9], bl
call fcn.00406c07
test al, al
je 0x402ba7
mov eax, dword [0x411a74]
push ebx
push ebx
push ebx
push ebx
push 1
push dword [eax + 0x2c]
call fcn.00406c2c
test byte [ebp - 8], 1
jne 0x402b33
cmp eax, 0x1040101
jb 0x402b33
push dword [ebp - 0x14]
call dword [0x411d5c]
push ebx
call dword [0x411df0]
jmp 0x402ba7
push ebx
push ebx
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 8]
push eax
mov eax, dword [0x411a74]
push 0xb
push dword [eax + 0x2c]
mov dword [ebp - 8], ebx
call fcn.00406c2c
mov eax, dword [0x411a74]
push ebx
push ebx
push ebx
push ebx
cmp byte [ebp - 1], bl
je 0x402b69
push 9
push dword [eax + 0x2c]
call fcn.00406c2c
jmp 0x402b8e
push 3
push dword [eax + 0x2c]
call fcn.00406c2c
jmp 0x402b7d
push 0x14
call dword [0x411d18]
mov eax, dword [0x411a74]
push dword [eax + 0x2c]
call fcn.00406c07
test al, al
jne 0x402b75
mov byte [ebp - 9], 1
cmp dword [ebp - 8], ebx
je 0x402ba7
push dword [ebp - 8]
call fcn.0040b0d2
push dword [ebp - 8]
call fcn.0040a43b
push esi
push 0x104
lea eax, [ebp - 0x440]
push eax
push ebx
call dword [0x411d20]
lea eax, [ebp - 0x238]
call fcn.00407019
mov eax, dword [0x411a74]
push dword [eax + 0xc]
lea eax, [ebp - 0x238]
push eax
push eax
call dword [0x411bfc]
lea eax, [ebp - 0x238]
push eax
lea eax, [ebp - 0x440]
push eax
call dword [0x411d3c]
test eax, eax
lea eax, [ebp - 0x238]
push eax
je 0x402d6b
call fcn.00407531
lea eax, [ebp - 0x238]
push eax
call fcn.0040b0d2
push ebx
lea eax, [ebp - 0x238]
push eax
lea eax, [ebp - 0x440]
push eax
call dword [0x411d1c]
push 0x26
lea eax, [ebp - 0x238]
push eax
call dword [0x411d64]
push ebx
push ebx
push 3
push ebx
push 1
push 0x40000000
lea eax, [ebp - 0x238]
push eax
call dword [0x411d70]
mov dword [ebp - 8], eax
cmp eax, 0xffffffff
je 0x402d5a
push 2
push ebx
push ebx
push eax
call dword [0x411d78]
test eax, eax
je 0x402cda
push 0x226
mov eax, 0x37a
call fcn.0040b2e7
imul eax, eax, 0x5e8
mov dword [ebp - 0x10], eax
cmp eax, ebx
je 0x402c92
jbe 0x402c92
call fcn.0040a428
mov edi, eax
mov eax, dword [ebp - 0x10]
jmp 0x402c94
xor edi, edi
cmp edi, ebx
je 0x402cda
xor esi, esi
cmp eax, ebx
jbe 0x402cbb
push 1
mov eax, 0xff
call fcn.0040b2e7
push ebx
call fcn.0040b2e7
mov byte [esi + edi], al
mov eax, dword [ebp - 0x10]
inc esi
cmp esi, eax
jb 0x402c9e
push ebx
lea ecx, [ebp - 0x10]
push ecx
push eax
push edi
push dword [ebp - 8]
call dword [0x411da4]
push dword [ebp - 8]
call dword [0x411db4]
push edi
call fcn.0040a43b
push 1
push 0x25
lea eax, [ebp - 0x440]
push eax
push ebx
call dword [0x411af0]
mov eax, dword [0x411a74]
push dword [eax + 0x70]
lea eax, [ebp - 0x440]
push eax
push eax
call dword [0x411bfc]
push ebx
push ebx
push 3
push ebx
push 3
push 0x80000000
lea eax, [ebp - 0x440]
push eax
call dword [0x411d70]
mov esi, eax
cmp esi, 0xffffffff
je 0x402d51
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x28]
push eax
push esi
call dword [0x411e74]
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x28]
push eax
push dword [ebp - 8]
call dword [0x411e70]
push esi
call dword [0x411d5c]
push dword [ebp - 8]
call dword [0x411d5c]
push 0x21
lea eax, [ebp - 0x238]
push eax
call dword [0x411d64]
jmp 0x402d73
mov byte [ebp - 1], bl
call fcn.00407531
cmp byte [ebp - 1], bl
je 0x402d92
cmp byte [ebp - 9], bl
je 0x402dec
mov eax, dword [0x411a74]
push ebx
push ebx
push ebx
push ebx
push 0xa
push dword [eax + 0x2c]
call fcn.00406c2c
jmp 0x402dec
mov eax, dword [0x411b78]
mov ecx, dword [0x411a74]
and eax, 1
or eax, 2
push dword [ecx + eax*8]
call fcn.00407311
mov edi, eax
mov esi, 0x403219
jmp 0x402dbc
push 0x14
call dword [0x411d18]
mov eax, esi
sub eax, dword [0x411c28]
push edi
push eax
xor eax, eax
call fcn.00403f92
test al, al
je 0x402db4
jmp 0x402ddb
push 0x14
call dword [0x411d18]
mov eax, dword [0x411a74]
push dword [eax + 0x28]
call fcn.00406c07
test al, al
je 0x402dd3
pop esi
cmp dword [ebp - 0x14], ebx
je 0x402dfb
push dword [ebp - 0x14]
call dword [0x411d5c]
push ebx
call dword [0x411df0]
pop edi
mov eax, 0x40e920
pop ebx
leave
ret 0x10