Function at 0x100117b9
Capabilities:
Print debug messages

Disassembly:
push 0x888
mov eax, 0x100167f6
call fcn.100155c2
mov esi, edx
mov eax, dword [ebp + 8]
mov dword [ebp - 0x878], eax
mov edi, dword [ebp + 0x20]
xor ebx, ebx
mov dword [ebp - 0x870], ebx
mov dword [ebp - 0x86c], ebx
mov dword [ebp - 4], ebx
mov byte [ebp - 4], 1
mov dword [ebp - 0x230], ebx
mov dword [ebp - 0x22c], ebx
mov dword [ebp - 0x228], ebx
mov dword [ebp - 0x224], ebx
lea eax, [ebp - 0x220]
mov dword [ebp - 0x224], eax
mov dword [ebp - 0x22c], 0x200
push 2
pop edx
mov byte [ebp - 4], dl
mov eax, edx
sub eax, dword [ebp - 0x230]
mov dword [ebp - 0x230], edx
xor ecx, ecx
mov eax, dword [ebp - 0x224]
mov word [eax], cx
mov byte [ebp - 4], 3
mov byte [ebp - 4], 4
mov dword [ebp - 0x860], ebx
mov dword [ebp - 0x85c], ebx
mov dword [ebp - 0x858], ebx
mov dword [ebp - 0x854], ebx
lea eax, [ebp - 0x850]
mov dword [ebp - 0x854], eax
mov dword [ebp - 0x85c], 0x200
mov byte [ebp - 4], 5
mov eax, edx
sub eax, dword [ebp - 0x860]
mov dword [ebp - 0x860], edx
mov eax, dword [ebp - 0x854]
mov word [eax], cx
mov byte [ebp - 4], 6
mov byte [ebp - 4], 7
push ebx
lea ecx, [ebp - 0x894]
call fcn.1000ba79
mov byte [ebp - 4], 8
mov dword [ebp - 0x440], ebx
mov dword [ebp - 0x43c], ebx
mov dword [ebp - 0x438], ebx
mov dword [ebp - 0x434], ebx
lea eax, [ebp - 0x430]
mov dword [ebp - 0x434], eax
mov dword [ebp - 0x43c], 0x200
mov byte [ebp - 4], 9
push 2
pop ecx
mov eax, ecx
sub eax, dword [ebp - 0x440]
mov dword [ebp - 0x440], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x434]
mov word [eax], cx
mov byte [ebp - 4], 0xa
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x880], 1
push edi
push esi
lea ecx, [ebp - 0x230]
call fcn.10012e2c
cmp dword [ebp + 0x18], ebx
je 0x100119c0
push ecx
push ecx
lea ecx, [ebp - 0x440]
call fcn.1000bbd6
push 0x104
push dword [ebp - 0x434]
push ebx
call dword [sym.imp.kernel32.dll_GetModuleFileNameW]
test eax, eax
je 0x100119c0
mov dword [ebp - 0x874], ebx
mov dword [ebp - 0x864], ebx
mov eax, dword [ebp - 0x440]
mov dword [ebp - 0x440], eax
mov ecx, dword [ebp - 0x434]
test byte [ebp - 0x438], 1
je 0x1001196b
mov byte [ecx + eax - 1], bl
jmp 0x10011972
xor edx, edx
mov word [ecx + eax - 2], dx
lea ecx, [ebp - 0x440]
call fcn.1000c91a
push ebx
push ebx
lea eax, [ebp - 0x864]
push eax
lea eax, [ebp - 0x874]
push eax
push ebx
push ebx
push ebx
xor edx, edx
mov ecx, dword [ebp - 0x434]
call fcn.10012e2c
mov esi, dword [ebp - 0x878]
push esi
push dword [ebp - 0x874]
push 0x100078b4
lea eax, [ebp - 0x860]
push eax
call fcn.10012e2c
add esp, 0x10
jmp 0x100119d2
mov esi, dword [ebp - 0x878]
push esi
lea ecx, [ebp - 0x860]
call fcn.10012e2c
mov eax, dword [0x1001a050]
cmp eax, 0xffffffff
jne 0x10011a2a
call dword [sym.imp.USER32.dll_GetProcessWindowStation]
test eax, eax
je 0x10011a19
lea ecx, [ebp - 0x864]
push ecx
push 0xc
lea ecx, [ebp - 0x20]
push ecx
push 1
push eax
call dword [sym.imp.USER32.dll_GetUserObjectInformationW]
test eax, eax
je 0x10011a19
mov al, byte [ebp - 0x18]
and al, 1
movzx eax, al
neg eax
sbb eax, eax
and eax, dword [0x1001a050]
mov dword [0x1001a050], eax
jmp 0x10011a1e
mov eax, dword [0x1001a050]
test eax, eax
je 0x10011a2a
xor eax, eax
inc eax
mov dword [0x1001a050], eax
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x10011b57
mov dword [ebp - 0x650], ebx
mov dword [ebp - 0x64c], ebx
mov dword [ebp - 0x648], ebx
mov dword [ebp - 0x644], ebx
lea eax, [ebp - 0x640]
mov dword [ebp - 0x644], eax
mov dword [ebp - 0x64c], 0x200
mov byte [ebp - 4], 0xc
push 2
pop ecx
mov eax, ecx
sub eax, dword [ebp - 0x650]
mov dword [ebp - 0x650], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x644]
mov word [eax], cx
mov byte [ebp - 4], 0xd
mov byte [ebp - 4], 0xe
push 0x100078c4
push 0x100078dc
lea eax, [ebp - 0x650]
push eax
call fcn.10012e2c
add esp, 0xc
test esi, esi
je 0x10011ab8
push esi
lea ecx, [ebp - 0x650]
call fcn.1000de7f
mov ecx, dword [ebp - 0x228]
not ecx
and ecx, 1
mov eax, dword [ebp - 0x230]
shr eax, cl
sub eax, 1
je 0x10011ae2
lea eax, [ebp - 0x230]
push eax
lea ecx, [ebp - 0x650]
call fcn.10012e2c
lea ecx, [ebp - 0x650]
call fcn.1000c91a
push dword [ebp - 0x644]
push ecx
push 0x400
push ecx
call fcn.10012e2c
test esi, esi
je 0x10011b0a
push esi
call dword [sym.imp.kernel32.dll_OutputDebugStringW]
mov ecx, dword [ebp - 0x228]
not ecx
and ecx, 1
mov eax, dword [ebp - 0x230]
shr eax, cl
sub eax, 1
je 0x10011b39
lea ecx, [ebp - 0x230]
call fcn.1000c91a
push dword [ebp - 0x224]
call dword [sym.imp.kernel32.dll_OutputDebugStringW]
mov esi, dword [ebp + 0x10]
or esi, 0x20000
mov byte [ebp - 4], 0xf
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x650]
call fcn.10012e2c
jmp 0x10011b5a
mov esi, dword [ebp + 0x10]
lea ecx, [ebp - 0x894]
call fcn.1000c91a
mov eax, dword [ebp - 0x888]
mov dword [ebp - 0x864], eax
lea ecx, [ebp - 0x860]
call fcn.1000c91a
mov edi, dword [ebp - 0x854]
lea ecx, [ebp - 0x230]
call fcn.1000c91a
push esi
push dword [ebp - 0x864]
push edi
mov edx, dword [ebp - 0x224]
call fcn.100111eb
mov esi, eax
mov dword [ebp - 0x87c], esi
mov byte [ebp - 4], 0x10
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x440]
call fcn.10012e2c
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x894]
call fcn.10012e2c
mov byte [ebp - 4], 0x11
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x860]
call fcn.10012e2c
mov byte [ebp - 4], 0x12
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x230]
call fcn.10012e2c
mov dword [ebp - 4], ebx
or dword [ebp - 4], 0xffffffff
jmp 0x10011c9e
test bl, 2
je 0x10011ca8
call fcn.1000fc34
mov eax, esi
call fcn.1001550f
ret 0x1c