Function at 0x4b6ca0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ebx
push esi
push edi
mov ebx, eax
xor eax, eax
push ebp
push 0x4b702d
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, ebx
call fcn.0045b0ec
cmp eax, 2
jne 0x4b6fd3
xor edx, edx
mov eax, ebx
call fcn.0045b0ac
mov cl, 1
mov dl, 0x30
call fcn.0045a0e0
test al, al
je 0x4b6fd3
mov edx, 1
mov eax, ebx
call fcn.0045b0ac
xor ecx, ecx
mov dl, 3
call fcn.0045a0e0
test al, al
je 0x4b6fd3
xor edx, edx
push ebp
push 0x4b6fa6
push dword fs:[edx]
mov dword fs:[edx], esp
xor edx, edx
mov eax, ebx
call fcn.0045b0ac
mov edx, dword [ebp + 8]
mov edx, dword [edx - 4]
mov edx, dword [edx + 0x30]
mov edx, dword [edx + 0x28]
add edx, 4
call fcn.004b6168
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0x30]
mov esi, dword [eax + 0x28]
mov edi, dword [esi + 4]
mov eax, edi
mov edx, dword [0x4b5844]
call fcn.004036f4
test al, al
je 0x4b6d74
mov eax, dword [ebp + 8]
mov dword [esi + 8], 0xb
mov eax, dword [ebp + 8]
mov edx, dword [esi + 4]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0x38]
mov ecx, dword [eax]
call dword [ecx + 4]
jmp 0x4b6e10
mov eax, dword [ebp + 8]
mov eax, edi
mov edx, dword [0x4b58b0]
call fcn.004036f4
test al, al
je 0x4b6da8
mov eax, dword [ebp + 8]
mov dword [esi + 8], 0xc
mov eax, dword [ebp + 8]
mov edx, dword [esi + 4]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0x3c]
mov ecx, dword [eax]
call dword [ecx + 4]
jmp 0x4b6e10
mov eax, dword [ebp + 8]
mov eax, edi
mov edx, dword [0x4b57b0]
call fcn.004036f4
test al, al
je 0x4b6dc6
mov eax, dword [ebp + 8]
xor eax, eax
mov dword [esi + 8], eax
jmp 0x4b6e10
mov eax, dword [ebp + 8]
mov eax, edi
mov edx, dword [0x4b5938]
call fcn.004036f4
test al, al
je 0x4b6de6
mov eax, dword [ebp + 8]
mov dword [esi + 8], 4
jmp 0x4b6e10
mov eax, dword [ebp + 8]
mov eax, edi
mov edx, dword [0x4b59dc]
call fcn.004036f4
test al, al
je 0x4b6e06
mov eax, dword [ebp + 8]
mov dword [esi + 8], 6
jmp 0x4b6e10
mov eax, dword [ebp + 8]
mov dword [esi + 8], 0xffff
mov edx, 1
mov eax, ebx
call fcn.0045b0ac
lea edx, [ebp - 4]
call fcn.0045a37c
mov eax, dword [ebp - 4]
call fcn.0040464c
dec eax
jl 0x4b6e37
mov eax, dword [ebp - 4]
cmp byte [eax], 0
je 0x4b6e58
lea edx, [ebp - 0xc]
mov eax, 0x4b5e50
call fcn.004063fc
mov ecx, dword [ebp - 0xc]
mov dl, 1
mov eax, dword [0x499e24]
call fcn.0040bfe0
call fcn.00403cfc
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.0045d318
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x28]
add eax, 0xc
mov ecx, dword [0x45cac8]
call fcn.00405814
lea eax, [ebp - 4]
push eax
mov eax, dword [ebp - 4]
call fcn.0040464c
mov ecx, eax
dec ecx
mov edx, 2
mov eax, dword [ebp - 4]
call fcn.004048ac
mov dl, 1
mov eax, dword [0x459f78]
call fcn.0045a948
mov dword [ebp - 8], eax
xor edx, edx
push ebp
push 0x4b6f95
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 4]
call fcn.0040464c
push eax
lea eax, [ebp - 4]
call fcn.004048a4
mov edx, eax
mov eax, dword [ebp - 8]
pop ecx
mov ebx, dword [eax]
call dword [ebx + 8]
test al, al
jne 0x4b6f0f
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x28]
cmp dword [eax + 8], 0xffff
je 0x4b6f0f
lea edx, [ebp - 0x14]
mov eax, 0x4b5e50
call fcn.004063fc
mov ecx, dword [ebp - 0x14]
mov dl, 1
mov eax, dword [0x499e24]
call fcn.0040bfe0
call fcn.00403cfc
mov eax, dword [ebp - 4]
call fcn.0040464c
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
add eax, 0x11c
mov ecx, 1
mov edx, dword [0x45cac8]
call fcn.004056cc
add esp, 4
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0x11c]
call fcn.004054f0
push eax
lea eax, [ebp - 4]
call fcn.004048a4
mov edx, dword [ebp + 8]
mov edx, dword [edx - 4]
mov edx, dword [edx + 0x11c]
pop ecx
call fcn.00402c84
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 4]
test eax, eax
je 0x4b6f7f
mov edx, dword [ebp + 8]
mov edx, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4b6f9c
lea eax, [ebp - 8]
call fcn.0045fc88
ret
lea edx, [ebp - 0x1c]
mov eax, 0x4b5e50
call fcn.004063fc
mov ecx, dword [ebp - 0x1c]
mov dl, 1
mov eax, dword [0x499e24]
call fcn.0040bfe0
call fcn.00403cfc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4b7034
lea eax, [ebp - 0x1c]
mov edx, 3
call fcn.004043b0
lea eax, [ebp - 0x10]
mov edx, dword [0x45cac8]
call fcn.004057d8
lea eax, [ebp - 0xc]
call fcn.0040438c
lea eax, [ebp - 4]
call fcn.0040438c
ret