Function at 0x416851
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x453a9e
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x30
push ebx
push esi
push edi
mov ebx, ecx
call fcn.00409463
mov eax, dword [ebx + 0x1694]
push dword [eax + 0xb4]
mov edi, 0x45842a
push dword [eax + 0xb0]
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x30], esp
push edi
call fcn.0040162e
and dword [esp + 0x68], 0
sub esp, 0x1c
lea eax, [ebx + 0x16bc]
mov ecx, esp
mov dword [esp + 0x50], esp
push eax
call fcn.00401650
sub esp, 0x1c
mov byte [esp + 0xa0], 1
lea esi, [ebx + 0x16a0]
mov ecx, esp
mov dword [esp + 0x70], esp
push esi
call fcn.00401650
sub esp, 0x1c
lea eax, [ebx + 0x1674]
mov ecx, esp
mov dword [esp + 0x90], esp
push eax
mov byte [esp + 0xc0], 2
call fcn.0040ad4c
push dword [ebx + 0x1694]
or dword [esp + 0xc0], 0xffffffff
call fcn.00410a9f
mov dword [esp + 0xc], eax
test eax, eax
je 0x416949
push 0x459af4
push 8
push dword [0x468674]
call fcn.00429300
mov eax, dword [esp + 0x18]
add esp, 0xc
test eax, eax
jle 0x416938
mov dword [ebx + 0x8c], eax
push 0x2a
jmp 0x41693e
push 0x28
pop ecx
sub ecx, eax
push ecx
push ebx
call fcn.004087aa
jmp 0x416b2d
mov eax, dword [ebx + 0x1694]
mov ecx, dword [eax + 0x100]
sub ecx, dword [eax + 0xfc]
add eax, 0xf0
test ecx, 0xfffffffc
je 0x416a9a
push 0x459b04
push 8
push dword [0x468674]
call fcn.00429300
add esp, 0xc
push 0x45895c
push 8
push dword [0x468674]
call fcn.00429300
add esp, 0xc
push dword [ebx + 0xe4]
push dword [ebx + 0xe0]
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x3c], esp
push esi
call fcn.00401650
mov esi, dword [ebx + 0x1704]
call fcn.0040f571
mov eax, dword [ebx + 0x1704]
push 0
push 0
push 0x1420
push dword [eax]
call dword [sym.imp.USER32.dll_PostThreadMessageW]
push 0x458980
push 8
push dword [0x468674]
call fcn.00429300
lea esi, [ebx + 0x16a0]
add esp, 0xc
cmp dword [esi + 0x18], 0x10
jb 0x4169f9
mov eax, dword [esi + 4]
jmp 0x4169fc
lea eax, [esi + 4]
push eax
push 0x458990
push 8
push dword [0x468674]
call fcn.00429300
add esp, 0x10
push edi
lea ecx, [esp + 0x20]
mov dword [ebx + 0x16e4], 2
call fcn.0040162e
push eax
mov dword [esp + 0x48], 3
mov eax, dword [ebx + 0x1694]
add eax, 0x94
push eax
lea eax, [ebx + 0x16bc]
push eax
push esi
call fcn.004086b6
push eax
push ebx
call fcn.00415ca8
or dword [esp + 0x44], 0xffffffff
xor esi, esi
push 0
inc esi
push esi
lea ecx, [esp + 0x24]
call fcn.004017a5
mov eax, dword [ebx + 0xf4]
mov dword [ebx + 0x80], esi
mov dword [ebx + 0x169c], esi
test eax, eax
je 0x416a8d
push 0
push dword [ebx + 0xf8]
push 0x2432
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push dword [ebx + 0x1694]
call fcn.00411525
jmp 0x416b04
mov eax, dword [ebx + 0xf4]
test eax, eax
je 0x416ab8
push 0
push dword [ebx + 0xf8]
push 0x2432
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x459b2c
push 8
push dword [0x468674]
call fcn.00429300
mov esi, dword [ebx + 0x1694]
mov eax, dword [esi + 0xd0]
sub eax, dword [esi + 0xcc]
add esi, 0xc0
sar eax, 2
add esp, 0xc
test eax, eax
ja 0x416af1
call fcn.0043b0d6
mov eax, dword [esi + 0xc]
mov ecx, dword [ebx + 0x1738]
push 1
push dword [eax]
push ebx
call fcn.00408151
mov eax, dword [ebx + 0x1694]
cmp dword [eax + 0xb8], 0x14
jle 0x416b18
push 4
pop eax
jmp 0x416b1a
xor eax, eax
push eax
lea eax, [ebx + 0x16a0]
push eax
add ebx, 0x174c
call fcn.0040f2bb
mov ecx, dword [esp + 0x3c]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret