Function at 0x105f6f5
Capabilities:
Create thread

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x58
push ebx
push esi
push edi
push 0x1028998
push 0x5e
xor ebx, ebx
pop edi
mov esi, ecx
push edi
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x10], ebx
mov dword [ebp - 8], ebx
mov byte [ebp - 1], bl
call sub.vdsutil.dll_public:_void___thiscall_CVdsCallTracer::constructor_unsigned_long_int__char_const__
push 0x2c
lea eax, [ebp - 0x58]
push ebx
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0x1c]
lea ecx, [esi + 0x44]
push eax
mov dword [ebp - 0xc], ecx
call sub.vdsutil.dll_public:_class_CRtlListIter___thiscall_CRtlList::End_void_
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
lea eax, [esi + 0x28]
push eax
lea ecx, [ebp - 0x18]
call sym.vds.exe_public:_void___thiscall_CVdsCriticalSection::constructor_struct__RTL_CRITICAL_SECTION__
cmp dword [ebp + 8], ebx
je 0x105fa82
cmp dword [ebp + 0xc], ebx
je 0x105fa82
mov eax, dword [ebp + 0x10]
cmp eax, ebx
je 0x105fa82
push 0x3a70
mov dword [eax], ebx
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
pop ecx
cmp eax, ebx
je 0x105f78e
mov ecx, eax
call fcn.0105ed08
mov dword [ebp - 0x50], eax
jmp 0x105f791
mov dword [ebp - 0x50], ebx
mov ecx, dword [ebp - 0x50]
cmp ecx, ebx
jne 0x105f7b5
mov eax, 0x8007000e
push eax
push 0x1028970
push ebx
push edi
mov dword [ebp - 8], eax
call sub.vdsutil.dll_void___cdecl_VdsTraceEx_unsigned_long_int__unsigned_long_int__char__
add esp, 0x10
jmp 0x105faca
call fcn.0105ed87
cmp eax, ebx
je 0x105f7e2
jle 0x105f7ca
and eax, 0xffff
or eax, 0x80070000
push eax
push 0x1028948
push ebx
mov dword [ebp - 8], eax
push edi
call sub.vdsutil.dll_void___cdecl_VdsTraceEx_unsigned_long_int__unsigned_long_int__char__
add esp, 0x10
jmp 0x105faa3
mov edi, dword [sym.imp.API_MS_Win_Core_Synch_L1_1_0.dll_CreateEventW]
push ebx
push ebx
push ebx
push ebx
call edi
mov dword [ebp - 0x4c], eax
cmp eax, ebx
jne 0x105f817
call dword [sym.imp.API_MS_Win_Core_ErrorHandling_L1_1_0.dll_GetLastError]
cmp eax, ebx
jle 0x105f809
and eax, 0xffff
or eax, 0x80070000
push eax
mov dword [ebp - 8], eax
push 0x1028920
push ebx
push 0x5e
jmp 0x105f7d5
push ebx
push ebx
push ebx
push ebx
call edi
mov dword [ebp - 0x48], eax
cmp eax, ebx
jne 0x105f843
call dword [sym.imp.API_MS_Win_Core_ErrorHandling_L1_1_0.dll_GetLastError]
cmp eax, ebx
jle 0x105f838
and eax, 0xffff
or eax, 0x80070000
push eax
mov dword [ebp - 8], eax
push 0x10288f8
jmp 0x105f812
push ebx
push ebx
push ebx
push ebx
call edi
mov dword [ebp - 0x40], eax
cmp eax, ebx
jne 0x105f86f
call dword [sym.imp.API_MS_Win_Core_ErrorHandling_L1_1_0.dll_GetLastError]
cmp eax, ebx
jle 0x105f864
and eax, 0xffff
or eax, 0x80070000
push eax
mov dword [ebp - 8], eax
push 0x10288d0
jmp 0x105f812
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x58], eax
mov eax, dword [esi + 0x54]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
push eax
mov dword [ebp - 0x3c], 0x80004005
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x30], eax
call dword [ecx + 4]
mov ecx, dword [ebp - 0xc]
lea eax, [ebp - 0x58]
push eax
mov byte [ebp - 1], 1
call fcn.0105efd6
mov ecx, dword [ebp - 0xc]
lea eax, [ebp - 0x14]
push eax
call sub.vdsutil.dll_public:_class_CRtlListIter___thiscall_CRtlList::End_void_
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x20], eax
call sub.vdsutil.dll_public:_class_CRtlListIter____thiscall_CRtlListIter::Prev_void_
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x10], 1
call sub.vdsutil.dll_public:_void____thiscall_CRtlListIter::GetEntryPointer_void_
push ebx
push ebx
mov edi, eax
push edi
push 0x105f54b
push ebx
push ebx
call dword [sym.imp.API_MS_Win_Core_ProcessThreads_L1_1_0.dll_CreateThread]
mov dword [edi + 0x14], eax
cmp eax, ebx
jne 0x105f90e
call dword [sym.imp.API_MS_Win_Core_ErrorHandling_L1_1_0.dll_GetLastError]
cmp eax, ebx
jle 0x105f900
and eax, 0xffff
or eax, 0x80070000
push eax
mov dword [ebp - 8], eax
push 0x10288a8
jmp 0x105f812
push 0xffffffffffffffff
push dword [edi + 0x18]
call dword [sym.imp.API_MS_Win_Core_Synch_L1_1_0.dll_WaitForSingleObject]
cmp eax, ebx
je 0x105f982
cmp eax, 0x80
je 0x105f93d
mov ecx, 0x102
cmp eax, ecx
je 0x105f957
call dword [sym.imp.API_MS_Win_Core_ErrorHandling_L1_1_0.dll_GetLastError]
mov esi, eax
push esi
push 0x102887c
jmp 0x105f95f
mov eax, 0x2df
push eax
push 0x1028850
push ebx
push 0x5e
mov esi, eax
call sub.vdsutil.dll_void___cdecl_VdsTraceEx_unsigned_long_int__unsigned_long_int__char__
add esp, 0x10
jmp 0x105f96e
push ecx
mov esi, ecx
push 0x1028824
push ebx
push 0x5e
call sub.vdsutil.dll_void___cdecl_VdsTraceEx_unsigned_long_int__unsigned_long_int__char__
add esp, 0x10
cmp esi, ebx
jle 0x105f97a
and esi, 0xffff
or esi, 0x80070000
mov dword [ebp - 8], esi
jmp 0x105faa3
mov eax, dword [edi + 0x1c]
cmp eax, ebx
jge 0x105fa47
push eax
push 0x10287f8
push ebx
push 0x5e
pop esi
push esi
mov dword [ebp - 8], eax
call sub.vdsutil.dll_void___cdecl_VdsTraceEx_unsigned_long_int__unsigned_long_int__char__
add esp, 0x10
push dword [ebp - 0x48]
call dword [sym.imp.API_MS_Win_Core_Synch_L1_1_0.dll_SetEvent]
test eax, eax
jne 0x105f9d4
call dword [sym.imp.API_MS_Win_Core_ErrorHandling_L1_1_0.dll_GetLastError]
cmp eax, ebx
jle 0x105f9c4
and eax, 0xffff
or eax, 0x80070000
push eax
push 0x10287cc
push ebx
mov dword [ebp - 8], eax
push esi
jmp 0x105f7d5
push 0xffffffffffffffff
push dword [edi + 0x14]
call dword [sym.imp.API_MS_Win_Core_Synch_L1_1_0.dll_WaitForSingleObject]
cmp eax, ebx
je 0x105faa3
cmp eax, 0x80
je 0x105fa07
mov ecx, 0x102
cmp eax, ecx
je 0x105fa20
call dword [sym.imp.API_MS_Win_Core_ErrorHandling_L1_1_0.dll_GetLastError]
mov edi, eax
push edi
push 0x10287a0
jmp 0x105fa28
mov eax, 0x2df
push eax
push 0x1028774
push ebx
push esi
mov edi, eax
call sub.vdsutil.dll_void___cdecl_VdsTraceEx_unsigned_long_int__unsigned_long_int__char__
add esp, 0x10
jmp 0x105fa36
push ecx
mov edi, ecx
push 0x1028748
push ebx
push esi
call sub.vdsutil.dll_void___cdecl_VdsTraceEx_unsigned_long_int__unsigned_long_int__char__
add esp, 0x10
cmp edi, ebx
jle 0x105fa42
and edi, 0xffff
or edi, 0x80070000
mov dword [ebp - 8], edi
jmp 0x105faa3
mov eax, dword [edi + 0x18]
cmp eax, ebx
je 0x105fa5d
cmp eax, 0xffffffff
je 0x105fa5d
push eax
call dword [sym.imp.API_MS_Win_Core_Handle_L1_1_0.dll_CloseHandle]
mov dword [edi + 0x18], ebx
mov eax, dword [esi + 0x54]
mov ecx, dword [ebp + 0x10]
mov dword [edi + 4], eax
mov eax, dword [esi + 0x54]
mov dword [ecx], eax
call dword [sym.imp.msvcrt.dll_rand]
add dword [esi + 0x54], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
push eax
call dword [ecx + 4]
jmp 0x105fb1f
push dword [ebp + 0x10]
mov eax, 0x80070057
push dword [ebp + 0xc]
mov dword [ebp - 8], eax
push dword [ebp + 8]
push eax
push 0x10286f8
push ebx
push edi
call sub.vdsutil.dll_void___cdecl_VdsTraceEx_unsigned_long_int__unsigned_long_int__char__
add esp, 0x1c
cmp dword [ebp - 8], ebx
jge 0x105fb1f
cmp dword [ebp - 0x10], 1
jne 0x105fabc
push dword [ebp - 0x20]
mov ecx, dword [ebp - 0xc]
push dword [ebp - 0x24]
call fcn.0105f277
mov ecx, dword [ebp - 0x50]
cmp ecx, ebx
je 0x105faca
push 1
call fcn.0105f01f
mov esi, dword [sym.imp.API_MS_Win_Core_Handle_L1_1_0.dll_CloseHandle]
cmp dword [ebp - 0x4c], ebx
je 0x105fae0
cmp dword [ebp - 0x4c], 0xffffffff
je 0x105fae0
push dword [ebp - 0x4c]
call esi
cmp dword [ebp - 0x48], ebx
je 0x105faf0
cmp dword [ebp - 0x48], 0xffffffff
je 0x105faf0
push dword [ebp - 0x48]
call esi
cmp dword [ebp - 0x40], ebx
je 0x105fb00
cmp dword [ebp - 0x40], 0xffffffff
je 0x105fb00
push dword [ebp - 0x40]
call esi
cmp dword [ebp - 0x44], ebx
je 0x105fb10
cmp dword [ebp - 0x44], 0xffffffff
je 0x105fb10
push dword [ebp - 0x44]
call esi
cmp byte [ebp - 1], 1
jne 0x105fb1f
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [ebp - 0x18]
call dword [sym.imp.API_MS_Win_Core_Synch_L1_1_0.dll_LeaveCriticalSection]
lea ecx, [ebp - 0x2c]
call sub.vdsutil.dll_public:_void___thiscall_CVdsCallTracer::destructor_void_
mov eax, dword [ebp - 8]
pop edi
pop esi
pop ebx
leave
ret 0xc