Function at 0x77443a10
Capabilities:
Check for peb beingdebugged flag

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x428
mov eax, dword [0x7753d344]
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
push ebx
push esi
xor ebx, ebx
mov dword [ebp - 0x414], ecx
mov dword [ebp - 0x424], eax
mov byte [ebp - 0x409], bl
push edi
mov edi, dword [ebp + 0x18]
mov dword [ebp - 0x420], edi
test ecx, ecx
je 0x774aa74e
test edi, edi
je 0x774aa74e
cmp dword [edi], ebx
jl 0x774aa74e
cmp edx, 0xffffffff
jl 0x774aa74e
cmp dword [edi], ebx
jle 0x77443a7b
test eax, eax
je 0x774aa74e
mov ebx, dword [ebp + 8]
test ebx, 0xfffffff0
jne 0x774aa74e
cmp edx, 0xffffffff
je 0x774aa592
xor eax, eax
cmp word [ecx + edx*2 - 2], ax
je 0x774aa5d5
push 0
movzx esi, bl
lea edi, [ebp - 0x418]
shr esi, 1
mov eax, ebx
and esi, 1
mov dword [ebp - 0x410], 0x1ff
and eax, 4
mov dword [ebp - 0x41c], eax
pop eax
push edi
lea edi, [ebp - 0x40b]
setne al
push edi
push esi
push eax
lea eax, [ebp - 0x410]
push eax
lea eax, [ebp - 0x408]
push eax
call fcn.77443b5b
mov edi, dword [ebp - 0x420]
test eax, eax
js 0x77443b41
mov al, byte [ebp - 0x409]
mov esi, dword [ebp - 0x410]
test al, al
jne 0x774aa5e2
test bl, 8
jne 0x77443b16
cmp byte [ebp - 0x40b], 0
je 0x774aa610
mov ecx, dword [ebp - 0x424]
test ecx, ecx
je 0x77443b3d
cmp dword [edi], 0
je 0x77443b3d
cmp esi, dword [edi]
jg 0x77443b54
lea eax, [esi + esi]
push eax
lea eax, [ebp - 0x408]
push eax
push ecx
call fcn.774987e0
add esp, 0xc
mov dword [edi], esi
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.77494a40
mov esp, ebp
pop ebp
ret 0x14
mov eax, 0xc0000023
jmp 0x77443b41
lea eax, [ebp - 0x41c]
mov edx, 0x203
push eax
call fcn.774547be
test eax, eax
js 0x774aa5cb
mov edx, dword [ebp - 0x41c]
mov ecx, dword [ebp - 0x414]
inc edx
jmp 0x77443a93
push edi
xor eax, eax
push eax
mov eax, dword fs:[0x30]
push dword [eax + 0x18]
call fcn.77461440
mov eax, 0xc0000716
jmp 0x77443b41
mov byte [ebp - 0x409], 1
dec edx
jmp 0x77443aa0
cmp esi, 0x1ff
jae 0x774aa5cb
lea ecx, [esi + esi]
inc esi
mov dword [ebp - 0x410], esi
cmp ecx, 0x3fe
jae 0x774aa60b
xor edx, edx
mov word [ebp + ecx - 0x408], dx
jmp 0x77443b04
call fcn.77494b5a
cmp dword [ebp - 0x41c], 0
je 0x774aa64e
lea eax, [ebp - 0x40a]
push eax
mov eax, dword [ebp - 0x418]
lea ecx, [ebp - 0x408]
sub eax, ecx
sar eax, 1
push eax
mov eax, ecx
push eax
push 1
call fcn.774fc1a0
test eax, eax
js 0x774aa5cb
cmp byte [ebp - 0x40a], 0
je 0x774aa5cb
mov al, byte [ebp - 0x409]
mov edx, dword [ebp - 0x418]
lea ecx, [ebp - 0x408]
sub edx, ecx
movzx eax, al
mov ecx, esi
sar edx, 1
sub ecx, eax
cmp edx, ecx
jge 0x77443b16
xor eax, eax
cmp byte [ebp - 0x409], al
setne al
inc eax
sub esi, eax
mov eax, dword [ebp - 0x418]
add eax, 2
sub esi, edx
mov dword [ebp - 0x414], eax
mov eax, dword fs:[0x30]
push esi
push 8
push dword [eax + 0x18]
call fcn.77463940
mov edi, eax
test edi, edi
jne 0x774aa6ad
mov eax, 0xc0000017
jmp 0x77443b41
mov edx, dword [ebp - 0x414]
xor eax, eax
mov ecx, eax
test esi, esi
jle 0x774aa6d9
movzx eax, word [edx + ecx*2]
cmp eax, 0x41
jb 0x774aa6d4
cmp eax, 0x5a
ja 0x774aa6d4
add eax, 0x20
mov word [edx + ecx*2], ax
mov byte [ecx + edi], 1
inc ecx
cmp ecx, esi
jl 0x774aa6bb
shl ebx, 8
lea eax, [ebp - 0x40a]
push eax
not ebx
push esi
and ebx, 0x100
push edx
or ebx, 0xd
push ebx
call fcn.774fc1a0
test eax, eax
js 0x774aa5b9
cmp byte [ebp - 0x40a], 0
je 0x774aa5b9
xor ebx, ebx
mov eax, ebx
test esi, esi
jle 0x774aa72d
cmp byte [eax + edi], 1
jne 0x774aa728
mov ecx, dword [ebp - 0x414]
mov edx, 0xffe0
add word [ecx + eax*2], dx
inc eax
cmp eax, esi
jl 0x774aa713
mov eax, dword fs:[0x30]
push edi
push ebx
push dword [eax + 0x18]
call fcn.77461440
mov esi, dword [ebp - 0x410]
mov edi, dword [ebp - 0x420]
jmp 0x77443b16
mov eax, 0xc000000d
jmp 0x77443b41