Function at 0x1000a910
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10089833
mov eax, dword fs:[0]
push eax
sub esp, 0x10
push esi
push edi
mov eax, dword [0x100b0040]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x14], edi
mov dword [edi], vtable.WeaselTSF.8.0
mov dword [edi + 4], vtable.WeaselTSF.7.0
mov dword [edi + 8], vtable.WeaselTSF.6.0
mov dword [edi + 0xc], vtable.WeaselTSF.5.0
mov dword [edi + 0x10], vtable.WeaselTSF.4.0
mov dword [edi + 0x14], vtable.WeaselTSF.3.0
mov dword [edi + 0x18], vtable.WeaselTSF.2.0
mov dword [edi + 0x1c], vtable.WeaselTSF.1.0
mov dword [edi + 0x20], vtable.WeaselTSF.0
mov dword [edi + 0x24], 0
mov dword [ebp - 4], 0
mov dword [edi + 0x30], 0
mov dword [edi + 0x144], 0
xorps xmm0, xmm0
xor eax, eax
movups xmmword [edi + 0x148], xmm0
mov dword [edi + 0x158], 0
mov dword [edi + 0x15c], 7
mov word [edi + 0x148], ax
mov dword [edi + 0x160], eax
mov dword [edi + 0x164], eax
mov dword [edi + 0x168], eax
mov dword [edi + 0x16c], eax
mov byte [ebp - 4], 7
push 0x50
mov dword [edi + method.weasel::Client.virtual_0], vtable.weasel::Client.0
call fcn.1005a8bb
add esp, 4
mov dword [ebp - 0x10], eax
mov ecx, eax
mov byte [ebp - 4], 8
call fcn.1000bb40
mov dword [edi + 0x180], eax
xorps xmm0, xmm0
xor eax, eax
movups xmmword [edi + 0x188], xmm0
mov dword [edi + 0x198], 0
mov dword [edi + 0x19c], 7
mov word [edi + 0x188], ax
mov dword [edi + 0x1a0], eax
mov byte [ebp - 4], 0xa
push 0x3dc
mov dword [edi + 0x170], 1
mov dword [edi + 0x2c], 0xffffffff
mov dword [edi + 0x34], 0xffffffff
mov dword [edi + 0x38], 0xffffffff
mov dword [edi + 0x13c], eax
mov dword [edi + 0x140], eax
mov dword [edi + 0x178], eax
mov dword [edi + 0x174], eax
call fcn.1005a8bb
mov esi, eax
add esp, 4
mov dword [ebp - 0x10], esi
mov byte [ebp - 4], 0xb
mov ecx, dword [edi]
push edi
mov dword [ebp - 0x18], edi
call dword [ecx + 4]
mov byte [ebp - 4], 0xc
push 0x814
mov dword [esi], vtable.CCandidateList.1.0
mov dword [esi + 4], vtable.CCandidateList.0
call fcn.1005a8bb
mov esi, eax
add esp, 4
mov dword [ebp - 0x1c], esi
mov byte [ebp - 4], 0xd
push str.user32.dll
mov dword [esi], vtable.weasel::UI.0
mov dword [esi + 4], 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea ecx, [esi + 0xc]
mov dword [esi + 8], eax
call fcn.10002490
xorps xmm0, xmm0
xor eax, eax
movups xmmword [esi + 0x88], xmm0
mov dword [esi + 0x98], 0
mov dword [esi + 0x9c], 7
mov word [esi + 0x88], ax
mov dword [esi + 0xa0], eax
lea ecx, [esi + 0xa4]
mov byte [ebp - 4], 0xf
call fcn.10002770
lea ecx, [esi + 0x45c]
mov byte [ebp - 4], 0x10
call fcn.10002770
mov eax, dword [ebp - 0x10]
mov dword [eax + 8], esi
mov esi, eax
mov byte [ebp - 4], 0x11
push edi
mov dword [esi + 0x10], edi
mov eax, dword [edi]
call dword [eax + 4]
mov byte [ebp - 4], 0x12
lea ecx, [esi + 0x20]
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 1
call fcn.10002770
mov dword [esi + 0x3d8], 0
mov dword [esi + 0xc], 1
mov byte [ebp - 4], 0xb
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov byte [ebp - 4], 0xa
cmp dword [edi + 0x16c], esi
je 0x1000ab92
mov eax, dword [esi]
push esi
call dword [eax + 4]
mov eax, dword [edi + 0x16c]
mov dword [edi + 0x16c], esi
test eax, eax
je 0x1000ab92
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lock inc dword [0x100b0ac0]
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret