Function at 0x4f6027
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x739716
mov eax, dword fs:[0]
push eax
sub esp, 0xf0
push ebx
push esi
push edi
mov eax, dword [0x820ac4]
xor eax, esp
push eax
lea eax, [esp + 0x100]
mov dword fs:[0], eax
mov ebx, dword [ebp + 8]
lea ecx, [esp + 0x8c]
mov edx, ebx
mov byte [ebx + 0x20], 0
call fcn.004f6326
mov dword [esp + 0x10], eax
xor edi, edi
mov dword [esp + 0x108], edi
mov eax, dword [ebx + 0xc]
lea esi, [esp + 0x1c]
call fcn.004f62ef
push eax
lea eax, [esp + 0x58]
push 0x7c4b24
push eax
mov byte [esp + 0x114], 1
call fcn.00424625
add esp, 0xc
push 0x7c4ad4
push eax
lea eax, [esp + 0xcc]
push eax
mov byte [esp + 0x114], 2
call fcn.0040bba8
sub esp, 0x10
mov ecx, esp
mov byte [esp + 0x124], 3
mov dword [esp + 0x30], esp
push dword [esp + 0x2c]
push eax
push ecx
call fcn.00424550
add esp, 0xc
push ebx
call fcn.004f9910
xor esi, esi
push edi
inc esi
push esi
lea ecx, [esp + 0xcc]
call fcn.00407277
push edi
push esi
lea ecx, [esp + 0x5c]
call fcn.00407277
push edi
push esi
lea ecx, [esp + 0x24]
call fcn.00407277
or dword [esp + 0x108], 0xffffffff
push edi
push esi
lea ecx, [esp + 0x94]
call fcn.00407277
lea esi, [ebx + 0x10]
mov eax, esi
call fcn.004a8907
test al, al
jne 0x4f62d7
mov eax, dword [esi + 4]
cmp eax, edi
je 0x4f6142
mov ecx, dword [esi + 8]
sub ecx, eax
sar ecx, 2
jne 0x4f6147
call fcn.0054b876
mov eax, dword [esi + 4]
mov edx, dword [esi + 4]
cmp edx, dword [esi + 8]
mov eax, dword [eax]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
jbe 0x4f6165
call fcn.0054b876
mov edx, dword [esp + 0x10]
push dword [esi + 8]
lea ecx, [edx + 4]
call fcn.004fa550
add dword [esi + 8], 0xfffffffc
mov eax, dword [ebx + 0xc]
pop ecx
mov ecx, dword [esp + 0x14]
cmp eax, ecx
je 0x4f62d7
cmp eax, edi
jne 0x4f6195
cmp ecx, 1
jne 0x4f6195
push ebx
call fcn.004f63c5
jmp 0x4f61c7
cmp eax, 1
jne 0x4f61a6
cmp ecx, edi
jne 0x4f61a6
push ebx
call fcn.004f67aa
jmp 0x4f61c7
cmp eax, edi
jne 0x4f61b7
cmp ecx, 2
jne 0x4f61b7
push ebx
call fcn.004f6924
jmp 0x4f61c7
cmp eax, 2
jne 0x4f61c7
cmp ecx, edi
jne 0x4f61c7
mov eax, ebx
call fcn.004f6a19
cmp dword [ebx + 8], edi
jne 0x4f61e7
mov eax, dword [ebx + 0x28]
mov ecx, dword [eax + 0x14]
mov eax, dword [ecx + 0x6c]
mov ecx, dword [ecx + 0x70]
neg eax
sbb eax, eax
test eax, fcn.004233dc
mov dword [esp + 0x18], ecx
je 0x4f621e
call fcn.004f9e60
lea eax, [esp + 0x14]
mov dword [esp + 0x14], edi
push eax
mov edi, esi
call fcn.004a8940
sub esp, 0x20
mov esi, esp
mov dword [esp + 0x34], esp
mov eax, fcn.004f5f42
push ebx
push eax
call fcn.004fa396
push 0
lea eax, [ebx + 0x21]
push eax
call fcn.0045d776
xor edi, edi
lea ecx, [esp + 0xe0]
mov edx, ebx
call fcn.004f6326
mov dword [esp + 0x14], eax
mov dword [esp + 0x108], 4
mov eax, dword [ebx + 0xc]
lea esi, [esp + 0xa8]
call fcn.004f62ef
push eax
lea eax, [esp + 0x74]
push 0x7c4b4c
push eax
mov byte [esp + 0x114], 5
call fcn.00424625
add esp, 0xc
push 0x7c2cdc
push eax
lea eax, [esp + 0x40]
push eax
mov byte [esp + 0x114], 6
call fcn.0040bba8
sub esp, 0x10
mov ecx, esp
mov dword [esp + 0x2c], esp
mov byte [esp + 0x124], 7
push dword [esp + 0x30]
push eax
push ecx
call fcn.00424550
add esp, 0xc
push ebx
call fcn.004f9910
xor esi, esi
push edi
inc esi
push esi
lea ecx, [esp + 0x40]
call fcn.00407277
push edi
push esi
lea ecx, [esp + 0x78]
call fcn.00407277
push edi
push esi
lea ecx, [esp + 0xb0]
call fcn.00407277
push edi
push esi
lea ecx, [esp + 0xe8]
call fcn.00407277
mov ecx, dword [esp + 0x100]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4