Function at 0x7744e1c2
Capabilities:
Access peb ldr_data
Check for peb beingdebugged flag

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x40
mov eax, dword [ebp + 0x10]
push ebx
mov ebx, ecx
mov dword [ebp - 0x14], edx
push esi
push edi
cmp eax, dword [ebx + 0x5c]
ja 0x7744e496
mov esi, dword [ebp + 8]
movzx ecx, byte [ebx + 0x52]
mov al, byte [esi + 2]
mov byte [ebp - 1], al
movzx eax, word [esi]
lea edi, [esi + eax*8]
mov eax, dword [ebx + 0x4c]
shr eax, 0x14
and ecx, eax
movzx eax, byte [edi + 2]
xor ecx, eax
test cl, 1
jne 0x7744e496
cmp dword [ebx + 0x4c], 0
je 0x7744e224
mov eax, dword [ebx + 0x50]
xor dword [edi], eax
mov al, byte [edi + 1]
xor al, byte [edi + 2]
xor al, byte [edi]
cmp byte [edi + 3], al
jne 0x774adc25
movzx edx, word [edi]
movzx eax, word [esi]
add eax, edx
mov dword [ebp - 0x10], eax
cmp eax, dword [ebp + 0x10]
jb 0x7744e480
mov esi, dword [edi + 0xc]
lea eax, [edi + 8]
mov ecx, dword [eax]
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x2c], esi
mov ecx, dword [ecx + 4]
cmp dword [esi], ecx
jne 0x774ade32
cmp dword [esi], eax
mov esi, dword [ebp + 8]
jne 0x774ade32
mov ecx, dword [ebx + 0xb4]
sub dword [ebx + 0x74], edx
mov dword [ebp - 0x24], ecx
test ecx, ecx
je 0x7744e353
movzx edx, word [edi]
mov dword [ebp - 0x28], edx
cmp edx, dword [ecx + 4]
jae 0x7744e4a1
mov eax, edx
mov dword [ebp - 0x1c], edx
mov edx, eax
sub edx, dword [ecx + 0x14]
cmp dword [ecx + 8], 0
mov dword [ebp - 8], edx
jne 0x774adc34
mov eax, edx
mov dword [ebp - 0xc], edx
mov esi, dword [ecx + 0x20]
mov dword [ebp - 0x34], esi
mov eax, dword [esi + eax*4]
dec dword [ecx + 0xc]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x38], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0x30], eax
dec eax
cmp dword [ebp - 0x1c], eax
je 0x7744e4e1
lea eax, [edi + 8]
cmp dword [ebp - 0x38], eax
jne 0x7744e353
cmp dword [ecx], 0
jne 0x7744e2d8
mov esi, dword [ecx + 4]
dec esi
mov dword [ebp - 0x30], esi
mov esi, dword [ebp + 8]
mov edx, dword [ebp - 0x30]
cmp dword [ebp - 0x1c], edx
mov edx, dword [ebp - 8]
mov eax, dword [eax]
jae 0x7744e4f5
mov dword [ebp - 0x34], eax
cmp eax, dword [ecx + 0x18]
je 0x7744e330
add eax, 0xfffffff8
mov dword [ebp - 0x38], eax
mov eax, dword [eax]
cmp dword [ebx + 0x4c], 0
mov dword [ebp - 0x20], eax
je 0x7744e324
xor eax, dword [ebx + 0x50]
mov dword [ebp - 0x20], eax
mov cl, byte [ebp - 0x1e]
xor cl, byte [ebp - 0x1f]
xor cl, al
mov dword [ebp - 0x30], eax
shr eax, 0x18
cmp al, cl
jne 0x774adc3f
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x24]
movzx eax, ax
sub dword [ebp - 0x28], eax
je 0x7744e4d0
mov eax, dword [ecx + 0x20]
mov esi, dword [ebp - 0xc]
and dword [eax + esi*4], 0
mov ecx, dword [ecx + 0x1c]
and dword [ebp - 8], 0x1f
mov esi, dword [ebp - 8]
shr edx, 5
mov eax, dword [ecx + edx*4]
btr eax, esi
mov esi, dword [ebp + 8]
mov dword [ecx + edx*4], eax
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x3c]
mov dword [ecx], eax
mov dword [eax + 4], ecx
test byte [edi + 2], 8
jne 0x7744e57a
mov dl, byte [edi + 2]
push 4
pop ecx
test cl, dl
jne 0x774adc6d
mov al, byte [edi + 2]
movzx edi, word [esi]
mov dl, byte [esi + 7]
mov ecx, edi
shl ecx, 3
mov byte [ebp - 0x34], al
mov dword [ebp - 0xc], ecx
cmp dl, 5
je 0x774add12
test dl, 0x40
jne 0x774add21
mov al, dl
and al, 0x3f
cmp al, 0x3f
je 0x774add31
movzx edx, dl
and edx, 0x3f
mov eax, dword [ebp - 0x10]
sub ecx, edx
mov edi, dword [ebp + 0x10]
sub eax, edi
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x10], eax
cmp eax, 2
jbe 0x7744e509
test byte [ebp - 1], 2
jne 0x7744e54f
mov eax, dword fs:[0x30]
test dword [eax + 0x68], 0x800
jne 0x774adda2
mov ecx, edi
mov word [esi], di
mov edi, dword [ebp + 0xc]
shl ecx, 3
cmp dword [ebp - 0x10], 0
je 0x7744e517
mov eax, ecx
mov dword [ebp - 0x3c], ecx
sub eax, edi
cmp eax, 0x3f
jae 0x774addc9
mov byte [esi + 7], al
movzx ecx, byte [ebx + 0x40]
mov al, byte [esi + 6]
shr ecx, 6
and ecx, 1
test al, al
je 0x7744e4b1
movzx eax, al
mov edx, esi
shl eax, 0x10
and edx, 0xffff0000
sub edx, eax
add edx, 0x10000
push dword [ebp - 0x10]
mov eax, dword [ebp - 0x3c]
push dword [ebp + 0x10]
add eax, esi
push ecx
push dword [ebp - 0x34]
mov ecx, ebx
push eax
call fcn.7744e590
mov eax, dword [ebp - 0x14]
test al, 8
jne 0x7744e4b5
test byte [ebx + 0x40], 0x40
jne 0x774adddd
test byte [ebx + 0x40], 0x20
jne 0x774ade20
mov ecx, eax
shr eax, 4
shr ecx, 4
xor cl, byte [esi + 2]
and cl, 0x1f
xor cl, al
mov al, 1
mov byte [esi + 2], cl
jmp 0x7744e498
cmp dword [ebx + 0x4c], 0
je 0x7744e496
mov al, byte [edi + 1]
xor al, byte [edi + 2]
xor al, byte [edi]
mov byte [edi + 3], al
mov eax, dword [ebx + 0x50]
xor dword [edi], eax
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [ecx]
test eax, eax
je 0x7744e4e9
mov ecx, eax
mov dword [ebp - 0x24], ecx
jmp 0x7744e276
mov edx, ebx
jmp 0x7744e437
mov edx, dword [ebp - 0xc]
cmp edi, edx
jb 0x774addd6
push edx
lea edx, [esi + 8]
mov ecx, ebx
call fcn.7745097b
mov eax, dword [ebp - 0x14]
jmp 0x7744e45f
mov eax, dword [ecx + 0x20]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x34]
mov dword [eax + ecx*4], edx
jmp 0x7744e353
dec dword [ecx + 0x10]
jmp 0x7744e2bd
mov eax, dword [ecx + 4]
dec eax
mov dword [ebp - 0x1c], eax
jmp 0x7744e284
cmp eax, dword [ecx + 0x18]
jne 0x7744e541
mov eax, dword [ebp - 0xc]
mov esi, dword [ebp - 0x34]
and dword [esi + eax*4], 0
jmp 0x7744e33a
add edi, eax
and dword [ebp - 0x10], 0
mov dword [ebp + 0x10], edi
jmp 0x7744e3c7
mov al, byte [ebp - 0x34]
or byte [esi + 2], al
mov eax, ecx
sub eax, edi
cmp eax, 0x3f
jae 0x774addbc
mov byte [esi + 7], al
movzx eax, word [esi]
mov cx, word [ebx + 0x54]
xor cx, ax
mov word [esi + eax*8 + 4], cx
jmp 0x7744e44e
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x34]
mov dword [edx + ecx*4], eax
jmp 0x7744e353
movzx ecx, word [esi]
mov eax, dword [esi + ecx*8 - 8]
mov dword [esi + edi*8 - 8], eax
mov eax, dword [esi + ecx*8 - 4]
mov dword [esi + edi*8 - 4], eax
mov eax, dword fs:[0x30]
test dword [eax + 0x68], 0x800
je 0x7744e3e4
jmp 0x774add85
mov edx, edi
mov ecx, ebx
call fcn.7745dfaf
test al, al
jne 0x7744e368
jmp 0x774adc59
push ecx
mov edx, edi
mov ecx, ebx
call fcn.775015a8
jmp 0x7744e224
lea eax, [edx + edx]
mov dword [ebp - 0xc], eax
jmp 0x7744e29b
xor eax, eax
mov edx, ebx
push eax
push eax
push eax
push dword [ebp - 0x38]
push 3
pop ecx
call fcn.774a6033
mov edx, dword [ebp - 8]
jmp 0x7744e31e
movzx eax, word [edi]
mov edx, edi
push 1
push eax
mov ecx, ebx
call fcn.7744f188
jmp 0x7744e496
movzx eax, word [edi]
lea eax, [eax*8 - 0x10]
mov dword [ebp - 0x34], eax
test dl, 2
je 0x774adc88
cmp eax, ecx
jbe 0x774adc88
sub eax, ecx
mov dword [ebp - 0x34], eax
push 0xfeeefeee
push eax
lea eax, [edi + 0x10]
push eax
call fcn.774a65b0
mov dword [ebp - 0x3c], eax
cmp eax, dword [ebp - 0x34]
je 0x7744e376
mov eax, dword fs:[0x30]
cmp dword [eax + 0xc], 0
je 0x774adccc
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
add eax, 0x2c
push eax
push 0x77424db0
call fcn.7744afb0
pop ecx
jmp 0x774adcd6
push 0x77424dbc
call fcn.7744afb0
mov eax, dword [ebp - 0x3c]
pop ecx
add eax, 0x10
add eax, edi
push eax
push edi
push 0x77427588
call fcn.7744afb0
mov eax, dword fs:[0x30]
add esp, 0xc
cmp byte [eax + 2], 0
je 0x7744e376
mov byte [0x77536255], 1
int3
movzx edx, word [ebx + 0x54]
movzx eax, word [esi + 4]
xor edx, eax
jmp 0x7744e3ae
movzx eax, dl
and eax, 0x3f
movzx edx, word [esi + eax*8 + 4]
jmp 0x7744e3ae
test dl, dl
jns 0x774add5f
mov ecx, esi
shr ecx, 3
xor ecx, dword [esi]
xor ecx, dword [0x77538774]
xor ecx, ebx
test cx, cx
je 0x774add4d
xor eax, eax
jmp 0x774add56
shr ecx, 0xd
mov eax, esi
sub eax, ecx
mov eax, dword [eax]
mov ax, word [eax + 0x14]
mov ecx, dword [ebp - 0xc]
jmp 0x774add76
cmp dword [ebx + 0x4c], 0
je 0x774add74
mov eax, dword [esi]
test dword [ebx + 0x4c], eax
je 0x774add6f
xor eax, dword [ebx + 0x50]
movzx eax, ax
jmp 0x774add76
mov eax, edi
movzx eax, ax
movzx eax, ax
mov edx, dword [esi + eax*8 - 4]
jmp 0x7744e3ae
movzx eax, word [esi]
mov ecx, ebx
mov dx, word [esi + edi*8 - 6]
push 4
push edi
push eax
call fcn.774f1336
mov word [esi + edi*8 - 6], ax
jmp 0x7744e3e4
movzx eax, word [esi]
mov ecx, ebx
movzx edx, byte [esi + 3]
push 4
push edi
push eax
call fcn.774f1336
mov byte [esi + 3], al
jmp 0x7744e3e4
mov dword [ecx + esi - 4], eax
mov byte [esi + 7], 0x3f
jmp 0x7744e52d
mov dword [ecx + esi - 4], eax
mov byte [esi + 7], 0x3f
jmp 0x7744e40c
mov edx, edi
jmp 0x7744e4c0
mov edx, dword [ebp - 0xc]
mov ecx, edx
and ecx, 3
je 0x774addee
push 4
pop eax
sub eax, ecx
mov ecx, eax
lea eax, [ecx + edx]
cmp edi, eax
jbe 0x7744e4cb
mov eax, edi
sub eax, ecx
sub eax, edx
and eax, 0xfffffffc
je 0x7744e4cb
push 0xbaadf00d
push eax
lea eax, [edx + 8]
add eax, ecx
add eax, esi
push eax
call fcn.774a6650
jmp 0x7744e4cb
mov ecx, 0xabababab
mov dword [esi + edi + 8], ecx
mov dword [esi + edi + 0xc], ecx
jmp 0x7744e469
mov edx, dword [ebp - 0x2c]
push 0
push dword [edx]
mov edx, ebx
push ecx
push eax
push 0xc
pop ecx
call fcn.774a6033
jmp 0x7744e496