Function at 0x77450140
Capabilities:
Access peb ldr_data

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
mov esi, edx
push edi
mov edi, ecx
movzx eax, word [esi]
and byte [esi + 2], 0xf8
mov byte [esi + 7], 0
test byte [edi + 0x40], 0x40
mov dword [ebp - 4], eax
jne 0x774502c1
mov eax, dword [edi + 0xcc]
xor eax, dword [0x77538490]
jne 0x77450259
lea ecx, [esi + 0x101f]
mov edx, 0xfffff000
and ecx, edx
lea eax, [esi + 0x28]
mov dword [ebp - 8], ecx
cmp ecx, eax
je 0x77450276
movzx eax, word [esi]
add eax, 0xfffffffe
lea eax, [esi + eax*8]
and eax, edx
cmp eax, ecx
jbe 0x77450259
sub eax, ecx
mov dword [ebp - 4], eax
lea eax, [ebp - 4]
push 0x4000
push eax
lea eax, [ebp - 8]
push eax
push 0xffffffffffffffff
call fcn.77492b40
mov ebx, eax
cmp ebx, 0xc0000045
je 0x774aeed3
mov eax, dword fs:[0x30]
test ebx, ebx
js 0x77450284
mov eax, dword [eax + 0x50]
mov ebx, 0x7ffe0380
test eax, eax
jne 0x774502e0
mov eax, ebx
cmp byte [eax], 0
jne 0x774502fc
mov eax, dword [ebp - 4]
add dword [edi + 0x234], eax
inc dword [edi + 0x210]
mov eax, dword fs:[0x30]
inc dword [edi + 0x230]
inc dword [edi + 0x220]
mov eax, dword [eax + 0x50]
test eax, eax
jne 0x774503c8
mov eax, ebx
cmp byte [eax], 0
jne 0x77450323
mov eax, dword fs:[0x30]
mov ebx, 0x7ffe038a
mov eax, dword [eax + 0x50]
test eax, eax
jne 0x77450364
mov eax, ebx
cmp byte [eax], 0
jne 0x77450380
mov al, byte [esi + 2]
and al, 0x13
or al, 8
mov byte [esi + 2], al
cmp dword [edi + 0x4c], 0
je 0x7745026f
mov al, byte [esi + 1]
xor al, byte [esi + 2]
xor al, byte [esi]
mov byte [esi + 3], al
mov eax, dword [edi + 0x50]
xor dword [esi], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
add ecx, 0x1000
mov dword [ebp - 8], ecx
jmp 0x77450194
cmp dword [eax + 0xc], 0
je 0x774503b9
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
pop ecx
push dword [ebp - 4]
push dword [ebp - 8]
push edi
push ebx
push 0x77424df8
call fcn.7744afb0
add esp, 0x14
jmp 0x77450259
push 0xfeeefeee
lea eax, [eax*8 - 0x10]
push eax
lea eax, [esi + 0x10]
push eax
call fcn.774a6650
or byte [esi + 2], 4
jmp 0x77450167
cmp dword [eax], 0
je 0x774501ec
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x50]
add eax, 0x226
jmp 0x774501ee
mov eax, dword fs:[0x30]
test byte [eax + 0x240], 1
je 0x774501f7
mov edx, dword [ebp - 8]
mov ecx, edi
push 7
push dword [ebp - 4]
call fcn.77502eda
jmp 0x774501f7
mov eax, dword fs:[0x30]
test byte [eax + 0x240], 1
je 0x7745022e
call fcn.77461a00
test eax, eax
jne 0x774aef14
movzx eax, byte [ebx]
mov ecx, edi
mov edx, dword [ebp - 8]
push eax
mov eax, dword [edi + 0x74]
push 0
push 0
shl eax, 3
push eax
push dword [ebp - 4]
call fcn.77502df0
jmp 0x7745022e
cmp dword [eax], 0
je 0x77450244
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x50]
add eax, 0x230
jmp 0x77450246
call fcn.77461a00
test eax, eax
je 0x77450398
mov eax, dword fs:[0x30]
mov ebx, dword [eax + 0x50]
add ebx, 0x230
movzx eax, byte [ebx]
mov ecx, edi
mov edx, dword [ebp - 8]
push eax
mov eax, dword [edi + 0x74]
push 0
push 0
shl eax, 3
push eax
push dword [ebp - 4]
call fcn.77502df0
jmp 0x7745024f
push 0x77424dbc
call fcn.7744afb0
jmp 0x774502a9
cmp dword [eax], 0
je 0x77450223
jmp 0x774aef01
push dword [ebp - 4]
push dword [ebp - 8]
call fcn.774f5220
test al, al
je 0x774501ce
push 0x4000
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 8]
push eax
push 0xffffffffffffffff
call fcn.77492b40
mov ebx, eax
jmp 0x774501ce
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0x50]
add eax, 0x226
jmp 0x77450225
mov eax, dword fs:[0x30]
mov ebx, dword [eax + 0x50]
add ebx, 0x226
jmp 0x77450343