Function at 0x104d547
Capabilities:
Create thread

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x8c
mov eax, dword [0x106b508]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
lea esi, [ebp + 0x10]
lea edi, [ebp - 0x4c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp + 0x28]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp + 0x2c]
xor ebx, ebx
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp + 0x20]
mov edi, dword [ebp + 0x40]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp + 0x38]
push 0x10191f4
push 0x5e
lea ecx, [ebp - 0x8c]
mov dword [ebp - 0x70], esi
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x80], ebx
mov dword [ebp - 0x60], ebx
mov byte [ebp - 0x52], bl
mov byte [ebp - 0x51], bl
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x64], ebx
call sub.vdsutil.dll_public:_void___thiscall_CVdsCallTracer::constructor_unsigned_long_int__char_const__
push 0x38
lea eax, [ebp - 0x3c]
push ebx
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
cmp esi, ebx
je 0x104d853
cmp dword [ebp - 0x50], ebx
je 0x104d853
cmp edi, ebx
je 0x104d853
mov eax, dword [ebp - 0x78]
mov dword [edi], ebx
cmp eax, ebx
je 0x104d62f
mov eax, dword [eax + 0x44]
mov ecx, dword [eax]
lea edx, [ebp - 0x3c]
push edx
push eax
call dword [ecx + 0xc]
mov esi, eax
cmp esi, ebx
jge 0x104d619
push esi
push 0x10191cc
push ebx
push 0x5e
call sub.vdsutil.dll_void___cdecl_VdsTraceEx_unsigned_long_int__unsigned_long_int__char__
add esp, 0x10
jmp 0x104d870
test dword [ebp - 0x14], 0x2000
je 0x104d62f
mov esi, 0x80042917
push esi
push 0x10191a4
jmp 0x104d609
cmp dword [ebp - 0x58], ebx
je 0x104d6af
mov esi, dword [sym.imp.msvcrt.dll__wcsicmp]
push 0x1008d68
push dword [ebp - 0x58]
call esi
pop ecx
pop ecx
test eax, eax
jne 0x104d660
test dword [ebp - 0x14], 0x4000
je 0x104d660
mov esi, 0x80042914
push esi
push 0x101917c
jmp 0x104d609
push 0x1008d74
push dword [ebp - 0x58]
call esi
pop ecx
pop ecx
test eax, eax
jne 0x104d686
test dword [ebp - 0x14], 0x8000
je 0x104d686
mov esi, 0x80042915
push esi
push 0x1019154
jmp 0x104d609
push 0x1008da8
push dword [ebp - 0x58]
call esi
pop ecx
pop ecx
test eax, eax
jne 0x104d6e8
test dword [ebp - 0x14], 0x10000
je 0x104d6e8
mov esi, 0x80042916
push esi
push 0x101912c
jmp 0x104d609
lea eax, [ebp - 0x52]
push eax
lea eax, [ebp + 0x34]
push eax
lea eax, [ebp - 0x58]
push eax
push dword [ebp - 0x50]
call fcn.0104cace
mov esi, eax
cmp esi, ebx
jge 0x104d6e2
push esi
push dword [ebp - 0x50]
push 0x10190f8
push ebx
push 0x5e
call sub.vdsutil.dll_void___cdecl_VdsTraceEx_unsigned_long_int__unsigned_long_int__char__
add esp, 0x14
jmp 0x104d870
mov esi, dword [sym.imp.msvcrt.dll__wcsicmp]
mov edi, dword [ebp + 0x3c]
mov dword [ebp - 0x68], edi
and dword [ebp - 0x68], 4
je 0x104d71d
push 0x1008d68
push dword [ebp - 0x58]
call esi
pop ecx
pop ecx
test eax, eax
je 0x104d71d
mov esi, 0x80042918
push esi
push dword [ebp - 0x50]
push 0x1019098
push ebx
call sub.vdsutil.dll_void___cdecl_VdsTraceW_unsigned_long_int__unsigned_short_int__
jmp 0x104d611
mov eax, dword [ebp - 0x6c]
cmp eax, ebx
je 0x104d741
add eax, 2
push eax
lea ecx, [ebp - 0x64]
call fcn.01046547
mov esi, eax
cmp esi, ebx
jge 0x104d741
push esi
push dword [ebp - 0x50]
push 0x1019038
jmp 0x104d712
lea eax, [ebp - 0x5c]
push eax
push 1
push 1
push 0x65
call fcn.0104ccab
mov esi, eax
cmp esi, ebx
jge 0x104d761
push esi
push dword [ebp - 0x50]
push 0x1018fd8
jmp 0x104d712
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x5c]
push eax
push dword [ebp - 0x6c]
mov eax, edi
and eax, 8
push eax
push dword [ebp - 0x68]
mov eax, edi
and edi, 1
and eax, 2
push eax
push edi
push dword [ebp - 0x84]
lea esi, [ebp - 0x4c]
push dword [ebp + 0x34]
mov byte [ebp - 0x51], 1
push dword [ebp + 0x30]
push dword [ebp - 0x58]
push dword [ebp - 0x50]
push dword [ebp + 0x24]
push dword [ebp - 0x70]
sub esp, 0x10
mov edi, esp
push dword [ebp - 0x78]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0104c764
mov esi, eax
cmp esi, ebx
jge 0x104d7c3
push esi
push dword [ebp - 0x50]
push 0x1018f78
jmp 0x104d712
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax]
push eax
call dword [ecx + 4]
lea eax, [ebp - 0x80]
push eax
push ebx
push dword [ebp - 0x74]
push 0x104cd46
push ebx
push ebx
call dword [sym.imp.API_MS_Win_Core_ProcessThreads_L1_1_0.dll_CreateThread]
mov dword [ebp - 0x60], eax
cmp eax, ebx
je 0x104d826
cmp eax, 0xffffffff
je 0x104d826
push dword [ebp - 0x7c]
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax]
push 0x1001b60
push eax
mov dword [ebp - 0x64], ebx
call dword [ecx]
mov esi, eax
cmp esi, ebx
jge 0x104d814
push esi
push dword [ebp - 0x50]
push 0x1018f18
jmp 0x104d712
mov eax, dword [ebp - 0x5c]
cmp eax, ebx
je 0x104d870
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0x5c], ebx
jmp 0x104d870
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
call dword [sym.imp.API_MS_Win_Core_ErrorHandling_L1_1_0.dll_GetLastError]
cmp eax, ebx
jle 0x104d843
and eax, 0xffff
or eax, 0x80070000
mov esi, eax
push esi
push dword [ebp - 0x50]
push 0x1018eb8
jmp 0x104d712
push edi
push dword [ebp - 0x50]
mov esi, 0x80070057
push dword [ebp - 0x70]
push esi
push 0x1018e70
push ebx
push 0x5e
call sub.vdsutil.dll_void___cdecl_VdsTraceEx_unsigned_long_int__unsigned_long_int__char__
add esp, 0x1c
cmp dword [ebp - 0xc], ebx
je 0x104d881
push dword [ebp - 0xc]
call dword [sym.imp.ole32.dll_CoTaskMemFree]
mov dword [ebp - 0xc], ebx
cmp byte [ebp - 0x52], bl
je 0x104d899
push dword [ebp - 0x58]
push ebx
call dword [sym.imp.API_MS_Win_Core_Heap_L1_1_0.dll_GetProcessHeap]
push eax
call sub.vdsutil.dll_int___stdcall_VdsHeapFree_void___unsigned_long_int__void__
mov dword [ebp - 0x58], ebx
cmp esi, ebx
jge 0x104d8bf
cmp dword [ebp - 0x60], ebx
je 0x104d8b1
cmp dword [ebp - 0x60], 0xffffffff
je 0x104d8b1
push dword [ebp - 0x60]
call dword [sym.imp.API_MS_Win_Core_Handle_L1_1_0.dll_CloseHandle]
cmp byte [ebp - 0x51], bl
je 0x104d8bf
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x8c]
call sub.vdsutil.dll_public:_void___thiscall_CVdsCallTracer::destructor_void_
lea ecx, [ebp - 0x64]
call fcn.01046521
mov ecx, dword [ebp - 4]
pop edi
mov eax, esi
pop esi
xor ecx, ebp
pop ebx
call fcn.010634db
leave
ret 0x3c