Function at 0x4167fd
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4537e8
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.00409127
mov eax, dword [ebx + 0x1694]
push dword [eax + 0xb4]
mov edi, 0x457422
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.0040a9c4
push dword [ebx + 0x1694]
or dword [esp + 0xc0], 0xffffffff
call fcn.00410a59
mov dword [esp + 0xc], eax
test eax, eax
je 0x4168f5
push 0x458aec
push 8
push dword [0x467474]
call fcn.00429210
mov eax, dword [esp + 0x18]
add esp, 0xc
test eax, eax
jle 0x4168e4
mov dword [ebx + 0x8c], eax
push 0x2a
jmp 0x4168ea
push 0x28
pop ecx
sub ecx, eax
push ecx
push ebx
call fcn.0040846e
jmp 0x416ad9
mov eax, dword [ebx + 0x1694]
mov ecx, dword [eax + 0x100]
sub ecx, dword [eax + 0xfc]
add eax, 0xf0
test ecx, 0xfffffffc
je 0x416a46
push 0x458afc
push 8
push dword [0x467474]
call fcn.00429210
add esp, 0xc
push 0x457954
push 8
push dword [0x467474]
call fcn.00429210
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.0040f51b
mov eax, dword [ebx + 0x1704]
push 0
push 0
push 0x1420
push dword [eax]
call dword [sym.imp.USER32.dll_PostThreadMessageW]
push 0x457978
push 8
push dword [0x467474]
call fcn.00429210
lea esi, [ebx + 0x16a0]
add esp, 0xc
cmp dword [esi + 0x18], 0x10
jb 0x4169a5
mov eax, dword [esi + 4]
jmp 0x4169a8
lea eax, [esi + 4]
push eax
push 0x457988
push 8
push dword [0x467474]
call fcn.00429210
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.0040837a
push eax
push ebx
call fcn.00415c54
or dword [esp + 0x44], 0xffffffff
xor esi, esi
push 0
inc esi
push esi
lea ecx, [esp + 0x24]
call fcn.004017a7
mov eax, dword [ebx + 0xf4]
mov dword [ebx + 0x80], esi
mov dword [ebx + 0x169c], esi
test eax, eax
je 0x416a39
push 0
push dword [ebx + 0xf8]
push 0x2432
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push dword [ebx + 0x1694]
call fcn.004114df
jmp 0x416ab0
mov eax, dword [ebx + 0xf4]
test eax, eax
je 0x416a64
push 0
push dword [ebx + 0xf8]
push 0x2432
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push 0x458b24
push 8
push dword [0x467474]
call fcn.00429210
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 0x416a9d
call fcn.0043ae46
mov eax, dword [esi + 0xc]
mov ecx, dword [ebx + 0x1738]
push 1
push dword [eax]
push ebx
call fcn.00407e15
mov eax, dword [ebx + 0x1694]
cmp dword [eax + 0xb8], 0x14
jle 0x416ac4
push 4
pop eax
jmp 0x416ac6
xor eax, eax
push eax
lea eax, [ebx + 0x16a0]
push eax
add ebx, 0x174c
call fcn.0040ef78
mov ecx, dword [esp + 0x3c]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret