Function at 0x7744f188
Capabilities:
Access peb ldr_data

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x34
push ebx
push esi
mov esi, ecx
xor ebx, ebx
push edi
mov edi, edx
mov dword [esp + 0x28], ebx
mov byte [esp + 0x20], bl
mov eax, dword [esi + 0xcc]
xor eax, dword [0x77538490]
jne 0x774a7837
cmp byte [ebp + 0xc], bl
jne 0x774a737c
mov edx, dword [ebp + 8]
cmp edx, dword [esi + 0x6c]
jb 0x7744f495
mov eax, dword [esi + 0x74]
add eax, edx
mov dword [esp + 0x30], eax
cmp eax, dword [esi + 0x70]
jb 0x7744f245
mov ecx, dword [esi + 0x240]
mov eax, dword [esi + 0x1e8]
add ecx, 3
shr eax, cl
cmp dword [esp + 0x30], eax
jb 0x7744f245
push ebx
lea eax, [ebp + 8]
mov edx, edi
push eax
mov ecx, esi
call fcn.7744fc23
mov edx, dword [ebp + 8]
mov dword [esp + 0x18], eax
lea ecx, [edx - 0x201]
cmp ecx, 0xfbff
ja 0x7744f277
push edx
mov edx, eax
mov ecx, esi
call fcn.7744f6d0
mov eax, dword [esi + 0x74]
mov edi, dword [esi + 0x1e8]
mov ecx, dword [esi + 0x238]
shl eax, 3
sub edi, eax
mov eax, ecx
shr eax, 4
sub ecx, eax
cmp edi, ecx
jb 0x7744f251
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
push edx
mov edx, edi
mov ecx, esi
call fcn.7744f6d0
jmp 0x7744f23c
mov ecx, dword [esi + 0x23c]
mov eax, ecx
shr eax, 2
sub ecx, eax
cmp edi, ecx
jbe 0x7744f23c
mov ecx, esi
call fcn.774500a6
mov dword [esi + 0x23c], edi
mov dword [esi + 0x238], edi
jmp 0x7744f23c
mov ecx, eax
mov al, byte [edi + 6]
test al, al
je 0x774a73b3
movzx eax, al
and edi, 0xffff0000
shl eax, 0x10
sub edi, eax
add edi, 0x10000
lea eax, [edx*8 + 7]
add eax, ecx
mov dword [esp + 0x38], eax
cmp byte [eax], 3
je 0x7744f49d
mov dword [esp + 0x24], ebx
mov ax, word [esi + 0x54]
cmp ax, word [ecx + 4]
je 0x7744f50c
lea edx, [ecx + 0x101f]
and edx, 0xfffff000
lea eax, [ecx + 0x28]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], edx
cmp edx, eax
je 0x774a764f
mov eax, dword [ebp + 8]
mov edx, eax
shl edx, 3
mov dword [esp + 0x2c], edx
add edx, ecx
mov dword [esp + 0x30], edx
cmp byte [esp + 0x20], bl
jne 0x7744f2fa
add edx, 0xfffffff0
and edx, 0xfffff000
mov dword [esp + 0x10], edx
cmp edx, dword [esp + 0x1c]
jb 0x774a77d6
sub edx, dword [esp + 0x1c]
mov dword [esp + 0x10], edx
cmp byte [ebp + 0xc], bl
jne 0x7744f339
mov ecx, dword [esp + 0x38]
cmp byte [ecx], 3
mov ecx, dword [esp + 0x18]
je 0x7744f339
test edx, edx
je 0x774a7662
cmp edx, dword [esi + 0x6c]
jb 0x774a7662
test edx, edx
je 0x774a76a8
inc dword [esi + 0x200]
lea eax, [esp + 0x10]
push 0x4000
push eax
lea edx, [esp + 0x1c]
call fcn.774505d2
test eax, eax
js 0x774a7482
call fcn.77461a00
test eax, eax
jne 0x774a766a
mov eax, 0x7ffe0380
cmp byte [eax], bl
jne 0x774a767d
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c], eax
cmp byte [esp + 0x20], bl
jne 0x7744f42e
add edx, eax
mov ax, word [esi + 0x54]
mov dword [esp + 0x24], edx
mov word [edx + 4], ax
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x1c], eax
add eax, edx
cmp dword [esp + 0x30], eax
je 0x774a772e
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x2c]
mov byte [edx + 7], bl
mov byte [edx + 2], bl
sub eax, dword [esp + 0x10]
sub eax, dword [esp + 0x14]
add eax, ecx
xor ecx, ecx
shr eax, 3
inc ecx
mov word [edx], ax
cmp dword [0x775384ac], ecx
jge 0x774a76b1
mov byte [edx + 3], bl
cmp dword [edi + 0x18], edi
je 0x774a770b
mov eax, edx
sub eax, edi
shr eax, 0x10
inc eax
mov dword [esp + 0x38], eax
test eax, eax
jle 0x774a7712
cmp eax, 0xfe
jge 0x774a7712
mov byte [edx + 6], al
mov ecx, esi
movzx eax, word [edx]
push eax
call fcn.7744f6d0
mov edx, dword [esp + 0x14]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x10]
lea eax, [esp + 0x3c]
mov ecx, esi
push eax
push dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
push edx
add eax, 0xffffffe8
mov edx, edi
push eax
call fcn.7744eede
push dword [esp + 0x3c]
mov edx, dword [esp + 0x1c]
mov ecx, esi
call fcn.7744f6d0
call fcn.77461a00
mov edi, 0x7ffe0380
test eax, eax
jne 0x774a7750
mov eax, edi
cmp byte [eax], bl
jne 0x774a7763
call fcn.77461a00
mov edi, 0x7ffe038a
test eax, eax
jne 0x774a77b1
mov eax, edi
cmp byte [eax], bl
je 0x7744f23c
jmp 0x774a77c4
push edx
mov edx, edi
jmp 0x7744f24a
add ecx, 8
lea edx, [ecx + edx*8]
mov ecx, esi
mov dword [esp + 0x34], edx
call fcn.77445c59
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x28], eax
mov eax, dword [ecx + 0x14]
dec dword [edi + 0x30]
mov dword [esp + 0x24], eax
mov eax, dword [ecx + 0x14]
shr eax, 0xc
sub dword [edi + 0x2c], eax
mov eax, dword [ecx + 0x14]
add dword [esi + 0x1e8], eax
dec dword [esi + 0x1f8]
mov eax, dword [ecx + 0x14]
cmp eax, 0x7f000
jb 0x7744f4eb
sub dword [esi + 0x1ec], eax
mov eax, dword [ecx + 0x14]
mov edx, dword [ebp + 8]
mov ecx, dword [esp + 0x18]
add edx, 0x20
shr eax, 3
add edx, eax
xor eax, eax
inc eax
mov dword [ebp + 8], edx
mov byte [esp + 0x20], al
jmp 0x7744f2b2
mov dword [esp + 0x14], ecx
mov edx, ecx
mov ecx, edi
call fcn.7744775f
mov dword [esp + 0x1c], eax
cmp byte [ebp + 0xc], bl
jne 0x774a73ba
cmp dword [0x775384ac], 1
jge 0x774a73cb
mov eax, dword [ebp + 8]
mov ecx, eax
mov dl, byte [esp + 0x20]
shl ecx, 3
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x18]
lea ecx, [ecx + eax*8]
mov dword [esp + 0x2c], ecx
test dl, dl
jne 0x7744f555
add ecx, 0xfffffff0
and ecx, 0xfffff000
sub ecx, dword [esp + 0x14]
mov dword [esp + 0x10], ecx
je 0x774a7420
push 0x4000
lea eax, [esp + 0x14]
push eax
lea edx, [esp + 0x1c]
call fcn.774505d2
test eax, eax
js 0x774a7482
call fcn.77461a00
test eax, eax
jne 0x774a74b6
mov eax, 0x7ffe0380
cmp byte [eax], bl
jne 0x774a74c9
mov ecx, dword [esp + 0x1c]
inc dword [esi + 0x200]
mov eax, dword [ecx + 0x14]
cmp eax, 0x7f000
jb 0x7744f5b8
sub dword [esi + 0x1ec], eax
mov edx, ecx
mov ecx, esi
call fcn.77445c59
mov ecx, dword [esp + 0x1c]
mov edx, ecx
mov eax, dword [esp + 0x10]
add dword [ecx + 0x14], eax
mov ecx, esi
call fcn.77445cf0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
shr eax, 0xc
add dword [edi + 0x2c], eax
mov eax, dword [esp + 0x10]
sub dword [esi + 0x1e8], eax
mov eax, dword [ecx + 0x14]
cmp eax, 0x7f000
jb 0x7744f5fd
add dword [esi + 0x1ec], eax
cmp byte [esp + 0x20], bl
jne 0x7744f687
mov edx, dword [esp + 0x10]
add edx, dword [esp + 0x14]
mov ax, word [esi + 0x54]
mov dword [esp + 0x28], edx
mov word [edx + 4], ax
mov eax, dword [esp + 0x10]
add eax, dword [esp + 0x14]
cmp dword [esp + 0x2c], eax
je 0x774a7568
mov eax, dword [esp + 0x30]
xor ecx, ecx
mov byte [edx + 7], bl
inc ecx
mov byte [edx + 2], bl
sub eax, dword [esp + 0x10]
shr eax, 3
mov word [edx], ax
cmp dword [0x775384ac], ecx
jge 0x774a74f2
mov byte [edx + 3], bl
cmp dword [edi + 0x18], edi
je 0x7744f679
mov eax, edx
sub eax, edi
shr eax, 0x10
inc eax
mov dword [esp + 0x34], eax
test eax, eax
jle 0x774a754c
cmp eax, 0xfe
jge 0x774a754c
mov bl, al
movzx eax, word [edx]
mov ecx, esi
push eax
mov byte [edx + 6], bl
call fcn.7744f6d0
call fcn.77461a00
mov ebx, 0x7ffe0380
test eax, eax
jne 0x774a7586
mov eax, ebx
cmp byte [eax], 0
jne 0x774a7599
call fcn.77461a00
mov edi, 0x7ffe038a
mov ebx, 0x230
test eax, eax
jne 0x774a75ed
mov eax, edi
cmp byte [eax], 0
je 0x7744f23c
jmp 0x774a75fd
test byte [edi + 2], 8
je 0x774a73a5
dec dword [esi + 0x230]
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.77485877
test al, al
je 0x774a73a5
mov eax, dword [esp + 0x34]
sub dword [esi + 0x234], eax
mov edx, dword [ebp + 8]
mov ecx, edi
mov dword [esp + 0x18], ecx
jmp 0x7744f279
mov edi, esi
jmp 0x7744f298
test eax, eax
jne 0x7744f526
mov ecx, dword [esp + 0x18]
jmp 0x7744f2c0
test eax, eax
jne 0x7744f533
mov eax, dword fs:[0x30]
cmp dword [eax + 0xc], ebx
je 0x774a73fb
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 0x774a7405
push 0x77424dbc
call fcn.7744afb0
pop ecx
push 0x7743c848
call fcn.7744afb0
xor eax, eax
pop ecx
lea ecx, [eax + 1]
call fcn.774a6019
jmp 0x7744f533
cmp dword [0x775384ac], 1
jl 0x774a7478
test dl, dl
je 0x774a7478
mov eax, dword fs:[0x30]
cmp dword [eax + 0xc], ebx
je 0x774a7455
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 0x774a745f
push 0x77424dbc
call fcn.7744afb0
pop ecx
push 0x7743c85c
call fcn.7744afb0
xor eax, eax
pop ecx
lea ecx, [eax + 1]
call fcn.774a6019
mov eax, dword [ebp + 8]
mov edx, dword [esp + 0x18]
push eax
jmp 0x7744f248
push 3
pop edx
mov ecx, esi
call fcn.77487a5c
cmp byte [esp + 0x20], bl
je 0x774a74ad
lea eax, [ebp + 8]
mov edx, edi
push eax
push dword [esp + 0x1c]
mov eax, dword [esp + 0x30]
push dword [esp + 0x2c]
add eax, 0xffffffe8
push eax
call fcn.7744eede
mov edx, dword [esp + 0x18]
jmp 0x774a7835
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x50]
add eax, 0x226
jmp 0x7744f596
mov eax, dword fs:[0x30]
test byte [eax + 0x240], 1
je 0x7744f59e
mov edx, dword [esp + 0x14]
mov ecx, esi
push 5
push dword [esp + 0x14]
call fcn.77502eda
jmp 0x7744f59e
cmp ax, cx
ja 0x7744f650
mov eax, dword fs:[0x30]
cmp dword [eax + 0xc], ebx
je 0x774a7523
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 0x774a752d
push 0x77424dbc
call fcn.7744afb0
pop ecx
push 0x7743c86c
call fcn.7744afb0
xor eax, eax
pop ecx
lea ecx, [eax + 1]
call fcn.774a6019
mov edx, dword [esp + 0x28]
jmp 0x7744f650
push ebx
push ebx
push edi
push edx
mov edx, dword [edi + 0x18]
push 3
pop ecx
call fcn.774a6033
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x34]
jmp 0x7744f677
cmp dword [esi + 0x4c], ebx
je 0x7744f687
mov al, byte [edx + 2]
xor al, byte [edx + 1]
xor al, byte [edx]
mov byte [edx + 3], al
mov eax, dword [esi + 0x50]
xor dword [edx], eax
jmp 0x7744f687
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x50]
add eax, 0x226
jmp 0x7744f69b
mov eax, dword fs:[0x30]
xor ecx, ecx
inc ecx
test byte [eax + 0x240], cl
je 0x7744f6a4
call fcn.77461a00
test eax, eax
je 0x774a75c6
mov eax, dword fs:[0x30]
mov ebx, dword [eax + 0x50]
add ebx, 0x226
movzx eax, byte [ebx]
mov ecx, esi
mov edx, dword [esp + 0x14]
push eax
push dword [esp + 0x28]
mov eax, dword [esi + 0x74]
push dword [esp + 0x28]
shl eax, 3
push eax
push dword [esp + 0x20]
call fcn.77502df0
jmp 0x7744f6a4
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x50]
add eax, ebx
jmp 0x7744f6bd
call fcn.77461a00
test eax, eax
je 0x774a7611
mov eax, dword fs:[0x30]
mov edi, dword [eax + 0x50]
add edi, ebx
movzx eax, byte [edi]
push eax
push dword [esp + 0x28]
push dword [esp + 0x28]
jmp 0x774a7634
mov eax, dword fs:[0x30]
mov edi, dword [eax + 0x50]
add edi, 0x230
movzx eax, byte [edi]
push eax
push ebx
push ebx
mov eax, dword [esi + 0x74]
mov ecx, esi
mov edx, dword [esp + 0x20]
shl eax, 3
push eax
push dword [esp + 0x20]
call fcn.77502df0
jmp 0x7744f23c
add edx, 0x1000
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], edx
jmp 0x7744f2df
push eax
mov edx, ecx
jmp 0x7744f248
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x50]
add eax, 0x226
jmp 0x7744f374
mov eax, dword fs:[0x30]
xor ecx, ecx
inc ecx
test byte [eax + 0x240], cl
je 0x7744f37c
mov edx, dword [esp + 0x14]
mov ecx, esi
push 6
push dword [esp + 0x14]
call fcn.77502eda
jmp 0x7744f37c
mov eax, dword [esp + 0x1c]
jmp 0x7744f38c
cmp ax, cx
ja 0x7744f3e9
mov eax, dword fs:[0x30]
cmp dword [eax + 0xc], ebx
je 0x774a76e2
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 0x774a76ec
push 0x77424dbc
call fcn.7744afb0
pop ecx
push 0x7743c888
call fcn.7744afb0
xor eax, eax
pop ecx
inc eax
mov ecx, eax
call fcn.774a6019
mov edx, dword [esp + 0x24]
jmp 0x7744f3e9
mov al, bl
jmp 0x7744f414
push ebx
push ebx
push edi
push edx
mov edx, dword [edi + 0x18]
push 3
pop ecx
call fcn.774a6033
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x38]
jmp 0x7744f414
cmp dword [esi + 0x4c], ebx
je 0x7744f42e
mov ecx, dword [esp + 0x24]
mov al, byte [ecx + 2]
xor al, byte [ecx + 1]
xor al, byte [ecx]
mov byte [ecx + 3], al
mov eax, dword [esi + 0x50]
xor dword [ecx], eax
jmp 0x7744f422
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x50]
add eax, 0x226
jmp 0x7744f46c
mov eax, dword fs:[0x30]
xor ecx, ecx
inc ecx
test byte [eax + 0x240], cl
je 0x7744f474
call fcn.77461a00
test eax, eax
je 0x774a7790
mov eax, dword fs:[0x30]
mov edi, dword [eax + 0x50]
add edi, 0x226
movzx eax, byte [edi]
mov ecx, esi
mov edx, dword [esp + 0x14]
push eax
mov eax, dword [esi + 0x74]
push ebx
push ebx
shl eax, 3
push eax
push dword [esp + 0x20]
call fcn.77502df0
jmp 0x7744f474
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x50]
add eax, 0x230
jmp 0x7744f488
call fcn.77461a00
test eax, eax
je 0x774a762e
jmp 0x774a761f
xor eax, eax
inc eax
cmp dword [0x775384ac], eax
jl 0x774a7833
cmp byte [esp + 0x20], bl
je 0x774a7833
mov eax, dword fs:[0x30]
cmp dword [eax + 0xc], ebx
je 0x774a780f
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 0x774a7819
push 0x77424dbc
call fcn.7744afb0
pop ecx
push 0x7743c85c
call fcn.7744afb0
xor eax, eax
pop ecx
lea ecx, [eax + 1]
call fcn.774a6019
mov ecx, dword [esp + 0x18]
mov edx, ecx
mov ecx, esi
push dword [ebp + 8]
jmp 0x7744f24a