Function at 0x1005ac0
Capabilities:
Create thread

Disassembly:
test byte [ebp - 0x3c], 1
je 0x100bd54
movzx eax, word [ebp - 0x38]
push eax
push esi
push 0
push 0x1000000
call 0x1005ac0
mov dword [0x1098150], eax
cmp dword [0x1098144], 0
jne 0x101f514
push eax
call dword [sym.imp.msvcrt.dll_exit]
nop
nop
nop
nop
nop
mov edi, edi
push ebp
mov ebp, esp
push ebx
push esi
push edi
push 0x10982b8
push 0x1098958
push 0x100aead
push 0x1005c38
call fcn.0100aef7
xor ebx, ebx
push ebx
push ebx
xor edi, edi
inc edi
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_HeapSetInformation]
push 0x8001
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
push 0x10982d0
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov esi, dword [sym.imp.KERNEL32.dll_CreateEventW]
push ebx
push ebx
push edi
push ebx
call esi
push ebx
push ebx
push edi
push ebx
mov dword [0x1098138], eax
call esi
push ebx
push ebx
push edi
push ebx
mov dword [0x109813c], eax
call esi
push ebx
push ebx
push ebx
push 0x100b25a
push ebx
push ebx
mov dword [0x1098140], eax
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [0x1098134], eax
cmp eax, ebx
je 0x101e6ba
push 2
push ebx
call dword [sym.imp.ole32.dll_CoInitializeEx]
mov edi, eax
cmp edi, ebx
mov esi, 0x1098318
jl 0x1005c20
push 0x1005c28
push dword [ebp + 8]
mov ecx, esi
push 0x10988d8
call fcn.0100af61
mov edi, eax
cmp edi, ebx
jl 0x1005c20
cmp dword [0x10988c0], ebx
jne 0x1005b92
push 0x10988c0
call fcn.0100e00b
mov ecx, 0x10981e8
call fcn.0100c45a
mov edi, eax
cmp edi, ebx
jl 0x1005c20
mov ecx, 0x1098900
call fcn.0100c3a3
mov edi, eax
cmp edi, ebx
jl 0x1005c20
cmp byte [0x10981ee], bl
jne 0x101e6e5
cmp byte [0x10981ed], bl
jne 0x101e70b
call fcn.01005c4d
mov edi, eax
cmp edi, ebx
jl 0x1005c20
mov eax, dword [0x10988c0]
cmp eax, ebx
je 0x1005be4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push esi
call dword [sym.imp.ATL.DLL_AtlModuleTerm]
call dword [sym.imp.ole32.dll_CoUninitialize]
push dword [0x1098138]
call dword [sym.imp.KERNEL32.dll_SetEvent]
push 0x10982d0
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
push 0x10982b8
call fcn.0101a861
xor eax, eax
cmp edi, ebx
setl al
pop edi
pop esi
pop ebx
pop ebp
ret 0x10
call fcn.0100e7a5
jmp 0x1005bd5
xor ecx, ecx
cmp dword [ebp - 0x1c], ecx
sete cl
mov dword [ebp - 0x1c], ecx
jmp 0x100be39
mov dword [0x1099e50], esi
jmp 0x100bde0
push 0xa
pop eax
jmp 0x1005a94
push 0x58
push 0x100beb8
call fcn.0100d98c
xor ebx, ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 4], ebx
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.KERNEL32.dll_GetStartupInfoA]
mov dword [ebp - 4], 0xfffffffe
mov dword [ebp - 4], 1
mov eax, dword fs:[0x18]
mov esi, dword [eax + 4]
mov edi, 0x10982b0
push 0
push esi
push edi
call dword [sym.imp.KERNEL32.dll_InterlockedCompareExchange]
test eax, eax
jne 0x101f48d
xor esi, esi
inc esi
mov eax, dword [0x1098178]
cmp eax, esi
je 0x101f4ab
mov eax, dword [0x1098178]
test eax, eax
jne 0x100bd49
mov dword [0x1098178], esi
push 0x100beb0
push 0x100bea4
call fcn.0100c066
pop ecx
pop ecx
test eax, eax
jne 0x101f538
mov eax, dword [0x1098178]
cmp eax, esi
jne 0x100be04
push 0x100bea0
push 0x100be50
call sub.msvcrt.dll__initterm
pop ecx
pop ecx
mov dword [0x1098178], 2
test ebx, ebx
jne 0x100be10
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_InterlockedExchange]
cmp dword [0x109971c], 0
jne 0x101f4b8
mov eax, dword [sym.imp.msvcrt.dll__acmdln]
mov esi, dword [eax]
mov dword [ebp - 0x20], esi
mov al, byte [esi]
cmp al, 0x20
jbe 0x100bee0
cmp al, 0x22
je 0x100bd39
movzx eax, al
push eax
call dword [sym.imp.msvcrt.dll__ismbblead]
pop ecx
test eax, eax
jne 0x101f4dc
inc esi
jmp 0x100be24
test al, al
je 0x100beee
cmp dword [ebp - 0x1c], 0
jne 0x100be31
mov al, byte [esi]
test al, al
je 0x1005a86
cmp al, 0x20
ja 0x1005a86
inc esi
mov dword [ebp - 0x20], esi
jmp 0x100beee
call fcn.0100dac8
jmp 0x100bd5c
cmp dword [0x1098140], ebx
jne 0x1005b4a
cmp dword [0x109813c], ebx
jne 0x1005b4a
cmp dword [0x1098138], ebx
jne 0x1005b4a
mov eax, edi
jmp 0x1005c19
push ebx
push ebx
push 1
push 0x8b07
push esi
call dword [sym.imp.ATL.DLL_AtlModuleUpdateRegistryFromResourceD]
mov edi, eax
cmp edi, ebx
jl 0x1005c20
push ebx
push 1
push esi
call dword [sym.imp.ATL.DLL_AtlModuleRegisterServer]
jmp 0x101e72e
push ebx
push ebx
push ebx
push 0x8b07
push esi
call dword [sym.imp.ATL.DLL_AtlModuleUpdateRegistryFromResourceD]
mov edi, eax
cmp edi, ebx
jl 0x1005c20
push ebx
push 1
push esi
call dword [sym.imp.ATL.DLL_AtlModuleUnregisterServerEx]
mov edi, eax
cmp edi, ebx
jge 0x1005bd1
jmp 0x1005c20
cmp eax, esi
jne 0x101f49b
xor esi, esi
inc esi
mov ebx, esi
jmp 0x100bdab
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x100bd96
push 0x1f
call sub.msvcrt.dll__amsg_exit
pop ecx
jmp 0x100bde0
push 0x109971c
call fcn.010388f7
pop ecx
test eax, eax
je 0x100be1d
push 0
push 2
push 0
call dword [0x109971c]
jmp 0x100be1d
inc esi
mov dword [ebp - 0x20], esi
jmp 0x100be4c
cmp dword [0x1099e50], 0
jne 0x101f523
call dword [sym.imp.msvcrt.dll__cexit]
mov dword [ebp - 4], 0xfffffffe
mov eax, dword [0x1098150]
jmp 0x101f544
mov dword [ebp - 4], 0xfffffffe
mov eax, 0xff
call fcn.0100cfdc
ret