Function at 0x7744ec25
Capabilities:
Access peb ldr_data

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x24
mov eax, dword [0x7753d344]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, edx
push ebx
push esi
push edi
mov edx, dword [eax]
mov edi, ecx
mov dword [ebp - 0x10], eax
call fcn.7744f090
mov ecx, eax
lea esi, [edi + 0x8c]
mov dword [ebp - 0x14], ecx
cmp ecx, esi
je 0x7744eea0
cmp dword [0x775384ac], 1
mov edx, dword [ebp - 0x10]
jge 0x774ae305
lea esi, [ecx - 8]
mov al, byte [esi + 6]
test al, al
jne 0x7744ee5c
mov dword [ebp - 0xc], edi
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x1c], eax
mov eax, dword [edi + 0xcc]
xor eax, dword [0x77538490]
mov dword [ebp - 8], eax
jne 0x774ae362
mov eax, dword [ecx + 0x14]
mov ecx, eax
sub ecx, dword [edx]
mov dword [ebp - 8], eax
mov eax, dword [edi + 0x6c]
shl eax, 3
cmp ecx, eax
jbe 0x7744eea4
xor edx, edx
mov ecx, edi
inc edx
call fcn.7744f147
push eax
push 0x1000
push dword [ebp - 0x10]
lea eax, [ebp - 0x1c]
push 0
push eax
push 0xffffffffffffffff
call fcn.77492ac0
inc dword [edi + 0x20c]
test eax, eax
js 0x774ae378
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x50]
test eax, eax
jne 0x774ae383
mov eax, 0x7ffe0380
cmp byte [eax], 0
jne 0x774ae39f
xor edx, edx
cmp dword [edi + 0x4c], edx
je 0x7744ed19
mov eax, dword [edi + 0x50]
xor dword [esi], eax
mov al, byte [esi + 2]
xor al, byte [esi + 1]
xor al, byte [esi]
cmp byte [esi + 3], al
jne 0x774ae3c8
mov eax, dword [ebp - 0x14]
add eax, 8
mov byte [esi + 2], dl
mov byte [esi + 7], dl
mov ebx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x24], ecx
mov ebx, dword [ebx + 4]
mov ecx, dword [ecx]
cmp ecx, ebx
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x18], ebx
mov ebx, dword [ebp - 0xc]
jne 0x774ae3d9
cmp dword [ebp - 8], eax
jne 0x774ae3d9
mov ebx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov dword [ebx], eax
mov dword [eax + 4], ebx
mov ebx, dword [ebp - 0xc]
cmp dword [ecx + 0x14], 0
je 0x7744ed97
mov eax, dword [edi + 0xb8]
test eax, eax
jne 0x774ae3f5
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov ebx, dword [eax + 4]
cmp dword [edx], ebx
mov dword [ebp - 0x18], ebx
mov ebx, dword [ebp - 0xc]
jne 0x774ae439
cmp dword [edx], ecx
jne 0x774ae439
mov dword [edx], eax
mov dword [eax + 4], edx
dec dword [ebx + 0x30]
mov eax, dword [ecx + 0x14]
shr eax, 0xc
sub dword [ebx + 0x2c], eax
mov eax, dword [ecx + 0x14]
add dword [edi + 0x1e8], eax
inc dword [edi + 0x1fc]
dec dword [edi + 0x1f8]
mov eax, dword [ecx + 0x14]
cmp eax, 0x7f000
jb 0x7744edc8
sub dword [edi + 0x1ec], eax
mov edx, dword [ebp - 0x10]
mov eax, dword [ecx + 0x14]
mov ebx, dword [ebp - 0xc]
cmp eax, dword [edx]
jbe 0x7744eebc
push edx
mov edx, dword [edx]
sub eax, edx
push esi
push eax
mov eax, dword [ecx + 0x10]
add edx, 0xffffffe8
add eax, edx
mov ecx, edi
push eax
mov edx, ebx
call fcn.7744eede
mov edx, dword [ebp - 0x10]
shl dword [edx], 3
xor ecx, ecx
mov byte [esi + 3], cl
mov edx, dword [ebx + 0x18]
cmp edx, ebx
jne 0x7744ee7a
mov eax, dword fs:[0x30]
mov byte [esi + 6], cl
mov eax, dword [eax + 0x50]
test eax, eax
jne 0x774ae464
mov ebx, 0x7ffe0380
mov eax, ebx
cmp byte [eax], 0
jne 0x774ae485
mov eax, dword fs:[0x30]
mov ebx, 0x7ffe038a
mov eax, dword [eax + 0x50]
test eax, eax
jne 0x774ae4ce
mov eax, ebx
cmp byte [eax], 0
jne 0x774ae4ea
mov eax, esi
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.77494a40
mov esp, ebp
pop ebp
ret
movzx eax, al
mov ebx, esi
shl eax, 0x10
and ebx, 0xffff0000
sub ebx, eax
add ebx, 0x10000
mov dword [ebp - 0xc], ebx
jmp 0x7744ec7c
mov eax, dword [ebp - 0xc]
mov ebx, esi
sub ebx, eax
shr ebx, 0x10
inc ebx
test ebx, ebx
jle 0x774ae453
cmp ebx, 0xfe
jge 0x774ae453
mov cl, bl
jmp 0x7744ee04
xor eax, eax
jmp 0x7744ee4b
mov eax, dword [edi + 0x5c]
mov ecx, dword [ebp - 8]
shl eax, 3
cmp ecx, eax
jae 0x7744ecaf
mov dword [edx], ecx
jmp 0x7744ecaf
mov eax, dword [ecx + 0x10]
add eax, dword [ecx + 0x14]
cmp eax, dword [ebx + 0x28]
jne 0x7744eecf
mov eax, dword [ecx + 0x14]
jmp 0x7744edd9
movzx eax, word [esi]
mov ecx, dword [edx]
lea eax, [ecx + eax*8]
mov dword [edx], eax
jmp 0x7744edf8
mov eax, dword [ecx + 0x14]
cmp eax, dword [edx]
jae 0x7744ec6b
mov eax, dword fs:[0x30]
cmp dword [eax + 0xc], 0
je 0x774ae339
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 0x774ae343
push 0x77424dbc
call fcn.7744afb0
pop ecx
push 0x7743c82c
call fcn.7744afb0
pop ecx
xor ecx, ecx
inc ecx
call fcn.774a6019
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
jmp 0x7744ec6b
push edx
lea ecx, [ebp - 0x1c]
push ecx
push edi
mov ecx, eax
call dword [0x775391d0]
call dword [ebp - 8]
jmp 0x7744ecd5
inc dword [edi + 0x214]
jmp 0x7744eea0
cmp dword [eax], 0
je 0x7744ecee
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x50]
add eax, 0x226
jmp 0x7744ecf3
mov eax, dword fs:[0x30]
test byte [eax + 0x240], 1
je 0x7744ecfc
mov eax, dword [ebp - 0x10]
mov ecx, edi
mov edx, dword [ebp - 0x1c]
push 2
push dword [eax]
call fcn.77502d69
jmp 0x7744ecfc
push ecx
mov edx, esi
mov ecx, edi
call fcn.775015a8
xor edx, edx
jmp 0x7744ed19
push edx
push dword [ebp - 8]
xor edx, edx
push dword [ebp - 0x18]
push eax
push 0xc
pop ecx
call fcn.774a6033
mov ecx, dword [ebp - 0x14]
xor edx, edx
jmp 0x7744ed60
mov ebx, dword [ecx + 0x14]
shr ebx, 0xc
mov dword [ebp - 8], ebx
jmp 0x774ae412
mov ecx, dword [eax]
test ecx, ecx
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x14]
je 0x774ae419
mov eax, dword [ebp - 0x18]
mov ebx, dword [ebp - 8]
cmp ebx, dword [eax + 4]
jae 0x774ae400
jmp 0x774ae420
mov ebx, dword [eax + 4]
dec ebx
mov dword [ebp - 8], ebx
push dword [ecx + 0x14]
push dword [ebp - 8]
push ecx
push edx
mov edx, eax
mov ecx, edi
call fcn.77450895
mov ecx, dword [ebp - 0x14]
jmp 0x7744ed74
push 0
push dword [edx]
xor edx, edx
push dword [ebp - 0x18]
push ecx
push 0xc
pop ecx
call fcn.774a6033
mov ecx, dword [ebp - 0x14]
jmp 0x7744ed97
push ecx
push ecx
push eax
push esi
push 3
pop ecx
call fcn.774a6033
jmp 0x7744ee99
cmp dword [eax], 0
je 0x7744ee18
mov eax, dword fs:[0x30]
mov ebx, 0x7ffe0380
mov eax, dword [eax + 0x50]
add eax, 0x226
jmp 0x7744ee1f
mov eax, dword fs:[0x30]
test byte [eax + 0x240], 1
je 0x7744ee28
call fcn.77461a00
test eax, eax
je 0x774ae4b0
mov eax, dword fs:[0x30]
mov ebx, dword [eax + 0x50]
add ebx, 0x226
movzx eax, byte [ebx]
mov edx, esi
push eax
mov eax, dword [edi + 0x74]
mov ecx, edi
shl eax, 3
push eax
mov eax, dword [ebp - 0x10]
push dword [eax]
call fcn.77502f61
jmp 0x7744ee28
cmp dword [eax], 0
je 0x7744ee3e
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x50]
add eax, 0x230
jmp 0x7744ee40
call fcn.77461a00
test eax, eax
je 0x774ae502
mov eax, dword fs:[0x30]
mov ebx, dword [eax + 0x50]
add ebx, 0x230
movzx eax, byte [ebx]
mov edx, esi
mov ecx, dword [edi + 0x74]
push eax
mov eax, dword [ebp - 0x10]
shl ecx, 3
push ecx
mov ecx, edi
push dword [eax]
call fcn.77502f61
jmp 0x7744ee49