Function at 0x10001e60
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push esi
mov esi, ecx
cmp dword [esi + 4], 0
push edi
jne 0x10001e89
cmp dword [ebp + 8], 0
jne 0x10001e89
cmp dword [esi + 0x528], 0
jne 0x10001e89
mov edi, 0x80070057
jmp 0x10001f41
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x10001ea1
mov ecx, dword [eax]
mov dword [esi + 0x52c], ecx
mov edx, dword [eax + 4]
mov dword [esi + 0x530], edx
mov ecx, esi
call fcn.100018d0
mov edi, eax
test edi, edi
jl 0x10001f41
cmp dword [esi + 0x528], 1
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
mov dword [esi + 4], eax
mov dword [esi + 0x90], ecx
mov dword [esi + 0x94], edx
jne 0x10001fb3
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp + 0x24]
push 0
push 0
mov dword [esi + 0x540], eax
mov eax, dword [ebp + 0x2c]
mov dword [esi + 0x544], ecx
mov ecx, dword [ebp + 0x28]
push 1
push 0
mov dword [esi + 0x548], edx
mov dword [esi + 0x550], eax
mov dword [esi + 0x54c], ecx
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [esi + 0x53c], eax
test eax, eax
jne 0x10001f7b
mov edi, dword [0x100a8200]
call edi
call edi
test eax, 0x20000000
je 0x10001f6b
test eax, eax
jle 0x10001f3b
and eax, 0xffff
or eax, 0xa0070000
mov edi, eax
test edi, edi
jge 0x10001f61
mov eax, dword [esi + 4]
test eax, eax
je 0x10001f61
cmp dword [esi + 0x528], 0
jne 0x10001f61
push 0
push 0
push 0x466
push eax
call dword [0x100a83e8]
mov eax, edi
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x2c
test eax, eax
jle 0x10001f3b
and eax, 0xffff
or eax, 0x80070000
jmp 0x10001f3b
push 0
push 0
push esi
push 0x10001e40
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [esi + 0x538], eax
test eax, eax
je 0x10001f1c
mov edx, dword [esi + 0x53c]
push 0xffffffffffffffff
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [esi + 4]
push 0
push eax
call sub.IMM32.dll_ImmAssociateContext
push esi
call fcn.10001800
mov edi, eax
test edi, edi
jl 0x10001f41
call fcn.10001680
mov edi, eax
test edi, edi
jl 0x10001f41
cmp dword [esi + 0x528], 0
jne 0x100020ba
mov edx, dword [0x100de83c]
lea ecx, [esi + 0x524]
push ecx
push 0x100d1678
push 0x12d
push edx
call fcn.10015ba0
mov eax, dword [esi + 0xb4]
add esp, 0x10
push eax
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov ecx, dword [esi + 0xb4]
push ecx
push 1
push 0
mov dword [esi + 0xb8], eax
call dword [sym.imp.GDI32.dll_CreatePen]
mov edx, dword [esi + 4]
mov edi, dword [sym.imp.USER32.dll_SetWindowLongW]
push esi
push 0xffffffffffffffeb
push edx
mov dword [esi + 0xbc], eax
call edi
mov eax, dword [esi + 4]
push 0x100026c0
push 0xfffffffffffffffc
push eax
call edi
push 0
push 0xa
mov dword [esi], eax
mov eax, dword [esi + 4]
push 0
push eax
call dword [sym.imp.USER32.dll_SetTimer]
mov ecx, dword [esi + 4]
push 0
push ecx
call sub.IMM32.dll_ImmAssociateContext
cmp dword [esi + 0x4f4], 0
je 0x10002078
mov edi, esi
call fcn.10001730
mov edi, eax
test edi, edi
jl 0x10001f41
cmp dword [esi + 0x9c], 0
jne 0x100020ba
mov eax, dword [0x100de83c]
mov edi, dword [sym.imp.USER32.dll_LoadStringW]
push 0x104
lea edx, [esi + 0xc0]
push edx
push 0xcc
push eax
call edi
mov edx, dword [0x100de83c]
push 0x104
lea ecx, [esi + 0x2c8]
push ecx
push 0xcd
push edx
call edi
mov ecx, dword [esi + 0x4fc]
test ecx, ecx
je 0x100020d3
call fcn.100019d0
mov edi, eax
test edi, edi
jl 0x10001f41
mov ecx, dword [esi + 0x500]
test ecx, ecx
je 0x100020ec
call fcn.100019d0
mov edi, eax
test edi, edi
jl 0x10001f41
pop edi
mov dword [esi + 0x560], 1
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 0x2c