Function at 0x10009040
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1007aa7a
mov eax, dword fs:[0]
push eax
sub esp, 0x10
push esi
push edi
mov eax, dword [0x1009b01c]
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.9.0
mov dword [edi + 4], vtable.WeaselTSF.8.0
mov dword [edi + 8], vtable.WeaselTSF.7.0
mov dword [edi + 0xc], vtable.WeaselTSF.6.0
mov dword [edi + 0x10], vtable.WeaselTSF.5.0
mov dword [edi + 0x14], vtable.WeaselTSF.4.0
mov dword [edi + 0x18], vtable.WeaselTSF.3.0
mov dword [edi + 0x1c], vtable.WeaselTSF.2.0
mov dword [edi + 0x20], vtable.WeaselTSF.1.0
mov dword [edi + 0x24], vtable.WeaselTSF.0
mov dword [edi + 0x28], 0
mov dword [ebp - 4], 0
mov dword [edi + 0x34], 0
mov dword [edi + 0x148], 0
xorps xmm0, xmm0
xor eax, eax
movups xmmword [edi + 0x14c], xmm0
mov dword [edi + 0x15c], 0
mov dword [edi + 0x160], 7
mov word [edi + 0x14c], ax
mov dword [edi + 0x164], eax
mov dword [edi + 0x168], eax
mov dword [edi + 0x16c], eax
mov dword [edi + 0x170], eax
mov dword [edi + 0x174], eax
mov byte [ebp - 4], 8
push 0x50
mov dword [edi + method.weasel::Client.virtual_0], vtable.weasel::Client.0
call fcn.1004d1de
add esp, 4
mov dword [ebp - 0x10], eax
mov ecx, eax
mov byte [ebp - 4], 9
call fcn.1000a300
mov dword [edi + 0x188], eax
xorps xmm0, xmm0
xor eax, eax
movups xmmword [edi + 0x190], xmm0
mov dword [edi + 0x1a0], 0
mov dword [edi + 0x1a4], 7
mov word [edi + 0x190], ax
movups xmmword [edi + 0x1a8], xmm0
mov dword [edi + 0x1b8], eax
mov dword [edi + 0x1bc], 7
mov word [edi + 0x1a8], ax
mov dword [edi + 0x1c0], eax
mov byte [ebp - 4], 0xb
push 0x1d0
mov dword [edi + 0x178], 1
mov dword [edi + 0x30], 0xffffffff
mov dword [edi + 0x38], 0xffffffff
mov dword [edi + 0x3c], 0xffffffff
mov dword [edi + 0x140], eax
mov dword [edi + 0x144], eax
mov dword [edi + 0x180], eax
mov dword [edi + 0x17c], eax
call fcn.1004d1de
mov esi, eax
add esp, 4
mov dword [ebp - 0x10], esi
mov byte [ebp - 4], 0xc
mov ecx, dword [edi]
push edi
mov dword [ebp - 0x18], edi
call dword [ecx + 4]
mov byte [ebp - 4], 0xd
mov dword [esi], vtable.CCandidateList.1.0
push 0x4c0
mov dword [esi + 4], vtable.CCandidateList.0
call fcn.1004d1de
mov esi, eax
add esp, 4
mov dword [ebp - 0x1c], esi
mov dword [esi], vtable.weasel::UI.0
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
lea ecx, [esi + 0x14]
mov byte [ebp - 4], 0xf
call fcn.100016b0
lea ecx, [esi + 0x90]
mov byte [ebp - 4], 0x10
call fcn.100016b0
xorps xmm0, xmm0
xor eax, eax
movups xmmword [esi + 0x10c], xmm0
mov dword [esi + 0x11c], 0
mov dword [esi + 0x120], 7
mov word [esi + 0x10c], ax
movups xmmword [esi + 0x124], xmm0
mov dword [esi + 0x134], eax
mov dword [esi + 0x138], 7
mov word [esi + 0x124], ax
mov dword [esi + 0x13c], eax
lea ecx, [esi + 0x140]
mov byte [ebp - 4], 0x12
call fcn.10001860
lea ecx, [esi + 0x2ec]
mov byte [ebp - 4], 0x13
call fcn.10001860
mov eax, dword [ebp - 0x10]
mov dword [esi + 0x4bc], 0
mov dword [eax + 8], esi
mov esi, eax
mov byte [ebp - 4], 0x14
push edi
mov dword [esi + 0x10], edi
mov eax, dword [edi]
call dword [eax + 4]
mov byte [ebp - 4], 0x15
lea ecx, [esi + 0x20]
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 1
call fcn.10001860
mov dword [esi + 0x1cc], 0
mov dword [esi + 0xc], 1
mov byte [ebp - 4], 0xc
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov byte [ebp - 4], 0xb
cmp dword [edi + 0x174], esi
je 0x10009324
mov eax, dword [esi]
push esi
call dword [eax + 4]
mov eax, dword [edi + 0x174]
mov dword [edi + 0x174], esi
test eax, eax
je 0x10009324
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lock inc dword [0x1009ba60]
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