Function at 0x489dd0
Capabilities:
Check for peb beingdebugged flag

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 4
push 0
push 0
dec ecx
jne 0x489dd9
xchg dword [ebp - 4], ecx
push ebx
push esi
mov ebx, ecx
mov dword [ebp - 8], edx
xor eax, eax
push ebp
push 0x48a065
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x400
mov eax, dword [ebp + 8]
mov ecx, 1
mov edx, dword [0x47098c]
call fcn.00406838
add esp, 4
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov byte [eax], 0
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov byte [eax + 1], 0
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov byte [eax + 2], 0
lea edx, [ebp - 0x14]
mov eax, ebx
call fcn.00471548
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x489e49
sub eax, 4
mov eax, dword [eax]
test eax, eax
jle 0x489ecb
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov byte [eax + 3], 4
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov byte [eax + 4], 0x10
mov dword [ebp - 0xc], 5
mov edx, ebx
mov eax, dword [0x484f70]
call fcn.00485074
mov dword [ebp - 0x10], eax
xor eax, eax
push ebp
push 0x489ebb
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [ebp - 0x10], 0
je 0x489ea5
push 4
push 0x10
lea edx, [ebp - 0x1c]
mov eax, dword [ebp - 0x10]
call fcn.00485010
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp + 8]
xor edx, edx
call fcn.00470e78
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x489ec2
lea eax, [ebp - 0x10]
call fcn.004108d8
ret
mov eax, dword [0x49574c]
mov eax, dword [eax]
mov edx, ebx
call fcn.0047eb2c
test al, al
je 0x489f54
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov byte [eax + 3], 1
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov byte [eax + 4], 4
mov edx, ebx
mov eax, dword [0x484f70]
call fcn.00485074
mov dword [ebp - 0x10], eax
xor eax, eax
push ebp
push 0x489f44
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [ebp - 0x10], 0
je 0x489f2e
push 4
push 4
lea edx, [ebp - 0x20]
mov eax, dword [ebp - 0x10]
call fcn.00485010
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp + 8]
xor edx, edx
call fcn.00470e78
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x489f4b
lea eax, [ebp - 0x10]
call fcn.004108d8
ret
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov byte [eax + 3], 3
mov esi, ebx
mov eax, esi
test eax, eax
je 0x489f6a
sub eax, 4
mov eax, dword [eax]
mov edx, dword [ebp + 8]
mov edx, dword [edx]
mov byte [edx + 4], al
mov dword [ebp - 0xc], 5
mov eax, esi
test eax, eax
je 0x489f84
sub eax, 4
mov eax, dword [eax]
test eax, eax
jle 0x489fb1
lea ecx, [ebp - 4]
mov dl, 1
mov eax, ebx
call fcn.00472410
mov eax, esi
test eax, eax
je 0x489f9f
sub eax, 4
mov eax, dword [eax]
mov edx, dword [ebp - 0xc]
push edx
push eax
mov ecx, dword [ebp + 8]
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00470e78
mov eax, esi
test eax, eax
je 0x489fbc
sub eax, 4
mov eax, dword [eax]
add dword [ebp - 0xc], eax
mov eax, dword [0x49574c]
mov eax, dword [eax]
movzx edx, word [ebp + 0xc]
mov ecx, dword [eax]
call dword [ecx + 0x30]
mov ebx, eax
mov eax, dword [ebp - 0xc]
push eax
push 2
lea edx, [ebp - 0x24]
mov eax, ebx
call fcn.004727a8
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp + 8]
xor edx, edx
call fcn.00470e78
add dword [ebp - 0xc], 2
mov eax, dword [ebp - 8]
call fcn.0040667c
add eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp + 8]
mov ecx, 1
mov edx, dword [0x47098c]
call fcn.00406838
add esp, 4
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 8]
call fcn.0040667c
push eax
mov ecx, dword [ebp + 8]
xor edx, edx
mov eax, dword [ebp - 8]
call fcn.00470e78
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x48a06c
lea eax, [ebp - 0x24]
mov edx, dword [0x47098c]
mov ecx, 3
call fcn.00405f18
lea eax, [ebp - 0x14]
call fcn.00405150
lea eax, [ebp - 4]
mov edx, dword [0x47098c]
call fcn.00406844
ret