Function at 0x10001906
Capabilities:
Print debug messages

Disassembly:
push 0x504
mov eax, 0x100ac1b1
call fcn.1009107c
xor ebx, ebx
lea ecx, [ebp - 0x510]
inc ebx
push ebx
push 3
call fcn.10003257
and dword [ebp - 4], 0
push 0x100bc24c
push ecx
push 0x100bc258
push ecx
push 0x100bc260
push ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
push ecx
push 0x100bc264
push ecx
push 0x2e
push ecx
push 0x100bc268
push ecx
push 0x100bc26c
push ecx
push 0x100bc27c
push ecx
call esi
push eax
push ecx
lea eax, [ebp - 0x500]
push 0x100bc284
push eax
call fcn.10004db9
add esp, 0xc
mov ecx, eax
call fcn.10003157
pop ecx
push eax
call fcn.10004db9
add esp, 0xc
push eax
call fcn.10004db9
add esp, 0xc
push eax
call fcn.10004db9
add esp, 0xc
mov ecx, eax
call fcn.10003057
pop ecx
push eax
call fcn.10004db9
add esp, 0xc
mov ecx, eax
call fcn.10003157
pop ecx
push eax
call fcn.10004db9
add esp, 0xc
push eax
call fcn.10004db9
add esp, 0xc
push eax
call fcn.10004db9
push eax
call fcn.10004f87
add esp, 0xc
lea eax, [ebp - 0x2c]
lea ecx, [ebp - 0x510]
push eax
call fcn.100032f9
cmp dword [eax + 0x14], 0x10
jb 0x100019f1
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push 0
push ebx
lea ecx, [ebp - 0x2c]
call fcn.100072c0
lea ecx, [ebp - 0x510]
call fcn.10001dde
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
mov dword [ebp - 4], ebx
call esi
push ecx
push 0x100bc7cc
lea ecx, [ebp - 0x454]
mov dword [0x100e081c], eax
mov byte [ebp - 4], 2
call fcn.10006e3a
push eax
lea eax, [ebp - 0x450]
mov byte [ebp - 4], 3
push eax
call fcn.100757c7
pop ecx
pop ecx
lea ecx, [ebp - 0x450]
call fcn.10006c20
lea ecx, [ebp - 0x454]
call fcn.10006c20
jmp 0x10001a69
push 0
mov dword [ebp - 4], ebx
call fcn.1008ac78
pop ecx
push eax
call fcn.1008ac68
pop ecx
lea eax, [ebp - 0x449]
mov byte [0x100dffd4], 0
push eax
push eax
push 0x100bc288
mov edi, 0x100bc294
mov byte [ebp - 0x449], 0
push edi
call fcn.10041280
mov ecx, eax
call fcn.10041408
mov al, byte [ebp - 0x449]
movzx edx, byte [0x100dffd4]
test al, al
movzx ecx, al
cmovne edx, ecx
push 0x100bc2a0
push ecx
mov byte [0x100dffd4], dl
call fcn.10045657
pop ecx
push eax
call fcn.100448e6
xor eax, eax
mov dword [ebp - 0x18], 0xf
pop ecx
pop ecx
mov dword [ebp - 0x1c], eax
mov byte [ebp - 0x2c], al
push 0x100bc690
push ebx
push ebx
push eax
mov byte [ebp - 4], 5
call dword [sym.imp.KERNEL32.dll_CreateSemaphoreA]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x10001b16
test esi, esi
je 0x10001b12
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, bl
jmp 0x10001b18
xor al, al
movzx eax, al
test eax, eax
je 0x10001b26
mov ecx, ebx
call fcn.10002e4d
lea ecx, [ebp - 0x448]
mov byte [ebp - 4], 6
call fcn.100366ee
lea ecx, [ebp - 0x448]
mov byte [ebp - 4], 7
call fcn.10038c1f
call fcn.10045657
push 0x5c
push 0x100bc24c
push 0x100bc2e8
push eax
call fcn.100448e6
add esp, 0x10
lea ecx, [ebp - 0x448]
call fcn.10036c72
jmp 0x10001b79
push 0
push 0
push 0
push 0
mov dword [ebp - 4], 5
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov esi, eax
push 0x1388
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0x44]
call fcn.10045da8
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 9
call fcn.10045e10
xor eax, eax
push 0xf
pop ecx
mov dword [ebp - 0x154], ecx
mov dword [ebp - 0x13c], ecx
mov dword [ebp - 0x124], ecx
lea ecx, [ebp - 0x11c]
mov dword [ebp - 0x158], eax
mov byte [ebp - 0x168], al
mov dword [ebp - 0x140], eax
mov byte [ebp - 0x150], al
mov dword [ebp - 0x128], eax
mov byte [ebp - 0x138], al
mov dword [ebp - 0x120], eax
call fcn.1005cc24
lea eax, [ebp - 0x168]
mov dword [ebp - 0x120], eax
mov ecx, eax
mov byte [ebp - 4], 0xa
call fcn.1005dc5e
and dword [ebp - 0x450], 0
lea eax, [ebp - 0x460]
push eax
mov dword [ebp - 0x454], 7
call fcn.1008ac78
pop ecx
push 0
push 0x15180
push dword [ebp - 0x45c]
push dword [ebp - 0x460]
call fcn.100905f0
mov esi, eax
lea eax, [ebp - 0x450]
push eax
push eax
push 0x100bc320
push edi
call fcn.10041280
mov ecx, eax
call fcn.10041373
lea eax, [ebp - 0x454]
push eax
push eax
push 0x100bc32c
push edi
call fcn.10041280
mov ecx, eax
call fcn.10041373
mov eax, dword [ebp - 0x450]
mov ecx, dword [ebp - 0x454]
add eax, ecx
cmp esi, eax
jae 0x10001d1f
push 0x100bc33c
push ecx
call fcn.10045657
pop ecx
push eax
call fcn.100448e6
pop ecx
pop ecx
push 0xc350
push ecx
call fcn.10045657
pop ecx
mov ecx, eax
call fcn.10045545
push 0x100bc358
push ecx
call fcn.10045657
pop ecx
push eax
call fcn.100448e6
pop ecx
pop ecx
lea ecx, [ebp - 0x11c]
call fcn.1005cca6
push 0
push ebx
lea ecx, [ebp - 0x138]
call fcn.100072c0
lea ecx, [ebp - 0x168]
call fcn.1004304c
push 0
push ebx
lea ecx, [ebp - 0x44]
call fcn.100072c0
push 0
push ebx
lea ecx, [ebp - 0x2c]
call fcn.100072c0
call dword [sym.imp.ole32.dll_CoUninitialize]
xor eax, eax
call fcn.10090fce
ret
lea eax, [ebp - 0x449]
mov byte [ebp - 0x449], bl
push eax
push eax
push 0x100bc380
push edi
call fcn.10041280
mov ecx, eax
call fcn.10041408
cmp byte [ebp - 0x449], 0
jne 0x10001d89
push esi
push 0x100bc320
push edi
push ecx
call fcn.10041280
pop ecx
mov ecx, eax
call fcn.10041641
push 0x100bc390
push ecx
call fcn.10045657
pop ecx
push eax
call fcn.100448e6
pop ecx
pop ecx
push 0xc350
push ecx
call fcn.10045657
pop ecx
mov ecx, eax
call fcn.10045545
jmp 0x10001cd7
call fcn.1000754c
test eax, eax
jne 0x10001dae
push esi
push 0x100bc320
push edi
push ecx
call fcn.10041280
pop ecx
mov ecx, eax
call fcn.10041641
push 0x100bc3b0
jmp 0x10001d62
call fcn.10001f6a
call fcn.100025f2
call fcn.10002a83
call fcn.10002cbf
push esi
push 0x100bc320
push edi
push ecx
call fcn.10041280
pop ecx
mov ecx, eax
call fcn.10041641
xor ecx, ecx
jmp 0x10001b21