Function at 0x100d178
Capabilities:
Terminate process

Disassembly:
test byte [ebp - 0x40], 1
jne 0x101147a
push 0xa
pop ecx
push ecx
push eax
push ebx
push 0x1000000
call 0x100c1bf
mov dword [0x102a370], eax
cmp dword [0x102a2ac], ebx
jne 0x10114b3
push eax
call dword [sym.imp.msvcrt.dll_exit]
nop
nop
nop
nop
nop
mov edi, edi
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
push edi
xor edi, edi
push edi
push edi
push 1
push edi
call dword [sym.imp.KERNEL32.dll_HeapSetInformation]
mov ebx, 0x102a0b0
mov ecx, ebx
call fcn.0100c96d
mov esi, 0x102a388
push esi
call fcn.0100c7b5
push 0x100c2c0
mov dword [0x102a3c8], 0x100c2a0
mov dword [0x102a3cc], 0x100c2b0
mov dword [0x102a0a0], esi
call fcn.0100d010
push 2
push edi
call dword [sym.imp.ole32.dll_CoInitializeEx]
mov esi, eax
cmp esi, edi
jl 0x100c287
xor eax, eax
lea edi, [ebp - 8]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 8]
push eax
mov dword [ebp - 8], 8
mov dword [ebp - 4], 0xc020
call dword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x100eb23
test esi, esi
jl 0x100c287
push 0
push dword [ebp + 8]
mov ecx, ebx
push 0x102a3d0
call fcn.0100d05e
mov esi, eax
test esi, esi
jl 0x100c287
call fcn.0100cd9a
test eax, eax
je 0x100eb32
test esi, esi
jl 0x100c280
call fcn.0100cc28
mov esi, eax
mov ecx, ebx
call fcn.0100c53b
call dword [sym.imp.ole32.dll_CoUninitialize]
call fcn.0100c497
xor eax, eax
pop edi
test esi, esi
pop esi
setge al
pop ebx
leave
ret 0x10
xor ecx, ecx
cmp dword [ebp - 0x1c], ebx
sete cl
mov dword [ebp - 0x1c], ecx
jmp 0x100cb86
mov dword [0x102a658], esi
jmp 0x100cb24
push 0x5c
push 0x100cbd0
call fcn.01005b8a
xor ebx, ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 4], ebx
lea eax, [ebp - 0x6c]
push eax
call dword [sym.imp.KERNEL32.dll_GetStartupInfoW]
mov dword [ebp - 4], 0xfffffffe
mov dword [ebp - 4], 1
mov eax, dword fs:[0x18]
mov esi, dword [eax + 4]
mov dword [ebp - 0x20], ebx
mov edi, 0x102a420
push ebx
push esi
push edi
call dword [sym.imp.KERNEL32.dll_InterlockedCompareExchange]
cmp eax, ebx
jne 0x101142c
xor esi, esi
inc esi
mov eax, dword [0x102a41c]
cmp eax, esi
je 0x101144b
mov eax, dword [0x102a41c]
test eax, eax
jne 0x100ca93
mov dword [0x102a41c], esi
push 0x100cbcc
push 0x100cbc0
call fcn.0100cfe7
pop ecx
pop ecx
test eax, eax
jne 0x10114d6
mov eax, dword [0x102a41c]
cmp eax, esi
jne 0x100cb48
push 0x100cbbc
push 0x100cb8c
call sub.msvcrt.dll__initterm
pop ecx
pop ecx
mov dword [0x102a41c], 2
cmp dword [ebp - 0x20], ebx
jne 0x100cb55
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_InterlockedExchange]
cmp dword [0x102a42c], ebx
jne 0x1011458
mov eax, dword [sym.imp.msvcrt.dll__wcmdln]
cmp dword [eax], ebx
je 0x10114d6
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
movzx ecx, word [eax]
cmp cx, 0x20
jbe 0x100cbf8
cmp cx, 0x22
je 0x100ca83
inc eax
inc eax
jmp 0x100cb70
cmp cx, bx
je 0x100cc06
cmp dword [ebp - 0x1c], ebx
jne 0x100cb7c
movzx ecx, word [eax]
cmp cx, bx
je 0x100c188
cmp cx, 0x20
ja 0x100c188
inc eax
inc eax
mov dword [ebp - 0x24], eax
jmp 0x100cc06
call fcn.0100d187
jmp 0x100ca9e
call edi
push eax
call fcn.01014bd1
mov esi, eax
jmp 0x100c24d
call edi
push eax
call fcn.01014bd1
mov esi, eax
jmp 0x100c275
cmp eax, esi
jne 0x101143b
xor esi, esi
inc esi
mov dword [ebp - 0x20], esi
jmp 0x100caef
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x100cadb
push 0x1f
call sub.msvcrt.dll__amsg_exit
pop ecx
jmp 0x100cb24
push 0x102a42c
call fcn.01020974
pop ecx
test eax, eax
je 0x100cb61
push ebx
push 2
push ebx
call dword [0x102a42c]
jmp 0x100cb61
movzx ecx, word [ebp - 0x3c]
jmp 0x100c195
cmp dword [0x102a658], ebx
jne 0x10114c1
call dword [sym.imp.msvcrt.dll__cexit]
mov dword [ebp - 4], 0xfffffffe
mov eax, dword [0x102a370]
jmp 0x10114e2
mov dword [ebp - 4], 0xfffffffe
mov eax, 0xff
call fcn.01005bcf
ret