Function at 0x44147f
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x60
push ebx
xor eax, eax
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x34], ebx
lea edi, [ebp - 0x30]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
lea edi, [ebp - 0x24]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp + 0x10]
mov esi, ecx
push eax
mov dword [ebp - 4], esi
call fcn.004385db
movsx eax, al
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 0x10]
mov dx, word [eax]
cmp dx, 0x2a
pop ecx
pop ecx
je 0x4414cf
cmp dx, 0x2d
je 0x4414cf
cmp dx, 0x2b
jne 0x4414d3
add dword [ebp + 0x10], 2
lea eax, [ebp + 0x10]
push eax
call fcn.00426ff7
lea eax, [ebp + 8]
push eax
call fcn.00426ff7
xor edi, edi
cmp dword [ebp - 0x24], ebx
pop ecx
pop ecx
mov dword [ebp - 8], edi
mov dword [ebp - 0x10], ebx
je 0x44150a
mov eax, dword [ebp + 0xc]
cmp eax, ebx
je 0x44150a
cmp byte [eax + 0x69], bl
jne 0x44150a
mov eax, dword [eax + 0x18]
mov dword [ebp - 8], eax
mov edi, eax
jmp 0x44150d
mov dword [ebp - 0x24], ebx
test byte [ebp - 0x24], 2
je 0x441516
mov dword [ebp - 0x10], edi
cmp dx, 0x2a
mov dword [ebp - 0x14], ebx
jne 0x441707
push 0x8c4
call fcn.0046c708
mov esi, eax
cmp esi, ebx
pop ecx
je 0x441550
push ebx
push ebx
push ebx
push ebx
push ebx
push 0x271b
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
mov ecx, esi
call fcn.004382f0
mov esi, eax
jmp 0x441552
xor esi, esi
push 0x94
call fcn.0046c708
cmp eax, ebx
pop ecx
je 0x441573
push esi
push dword [ebp - 4]
mov ecx, eax
call fcn.0041c8c5
mov edi, eax
mov dword [ebp - 0xc], edi
jmp 0x441578
mov dword [ebp - 0xc], ebx
mov edi, ebx
mov eax, dword [ebp + 0x14]
push ebx
push dword [ebp + 0x10]
mov ecx, edi
mov dword [ebp - 0x18], edi
mov byte [edi + 0x89], 3
mov dword [edi + 0x1c], eax
call fcn.0043969f
mov eax, dword [ebp - 8]
mov dword [esi + 0x88], eax
mov eax, dword [ebp + 8]
push 1
mov ecx, esi
mov dword [esi + 0x13c], edi
mov dword [esi + 0x144], eax
call fcn.00440715
mov edi, dword [ebp + 0x10]
push edi
lea ecx, [ebp + 0x10]
call fcn.004361de
lea eax, [ebp + 0x10]
push eax
push edi
call fcn.00439ba6
pop ecx
pop ecx
push eax
lea ecx, [esi + 0x6c]
call fcn.00436246
lea ecx, [ebp + 0x10]
call fcn.0042704a
cmp edi, ebx
je 0x4415f2
cmp byte [esi + 0x69], bl
je 0x4415f2
push edi
lea ecx, [esi + 0x90]
call fcn.00436246
cmp byte [esi + 0x69], bl
mov dword [ebp + 0x10], 0x271b
jne 0x441617
cmp byte [esi + 0x8d], bl
jne 0x441617
cmp byte [esi + 0x8e], bl
je 0x44161e
mov dword [ebp + 0x10], 0x271d
jmp 0x44161e
mov dword [ebp + 0x10], 0x271c
push esi
call fcn.0042a08d
cmp dword [ebp + 0xc], ebx
pop ecx
mov edi, 0x4975e4
je 0x441646
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp + 0xc]
inc dword [eax + 0xc0]
push edi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea eax, [ebp - 0x34]
push eax
push dword [ebp - 0x10]
push dword [ebp + 0x10]
push esi
call fcn.00428f43
mov eax, dword [esi + 0x18]
push str.0x_I64X
cdq
push str.__LastWinID
push edx
push eax
push dword [ebp - 4]
call fcn.00438a6c
add esp, 0x24
push ebx
mov ecx, esi
call fcn.00435b82
push edi
mov dword [ebp - 0x14], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 0xc]
push edi
mov dword [eax + 0x2c], ebx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea ecx, [ebp - 0x18]
call fcn.004362cc
mov eax, dword [esi]
push 1
mov ecx, esi
call dword [eax + 0xc]
mov esi, dword [ebp + 0xc]
cmp esi, ebx
je 0x44195f
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esi + 0xc0]
dec eax
cmp eax, ebx
jle 0x4416d0
cmp byte [esi + 0x69], bl
je 0x4416d0
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x18], 2
mov byte [ebp + 0x13], 1
jle 0x4416d3
mov byte [ebp + 0x13], bl
cmp byte [esi + 0x69], 0x81
mov dword [esi + 0xc0], eax
je 0x4416ef
push ebx
push ebx
push 0x43d
push dword [esi + 0x18]
call dword [sym.imp.USER32.dll_PostMessageW]
cmp byte [ebp + 0x13], bl
je 0x4416fb
mov byte [0x495280], 0xff
push edi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x44195f
cmp dx, 0x2d
jne 0x441895
push 0x8c4
call fcn.0046c708
mov esi, eax
cmp esi, ebx
pop ecx
je 0x44173e
push ebx
push ebx
push ebx
push ebx
push ebx
push 0x271b
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
mov ecx, esi
call fcn.004382f0
mov esi, eax
jmp 0x441740
xor esi, esi
push 0x94
call fcn.0046c708
cmp eax, ebx
pop ecx
je 0x44175e
push esi
push dword [ebp - 4]
mov ecx, eax
call fcn.0041c8c5
mov edi, eax
jmp 0x441760
xor edi, edi
mov eax, dword [ebp + 0x14]
push ebx
push dword [ebp + 0x10]
mov ecx, edi
mov byte [edi + 0x89], 3
mov dword [edi + 0x1c], eax
call fcn.0043969f
mov eax, dword [ebp - 8]
mov dword [esi + 0x88], eax
mov eax, dword [ebp + 8]
push 1
mov ecx, esi
mov dword [esi + 0x13c], edi
mov dword [esi + 0x144], eax
call fcn.00440715
mov eax, dword [esi + 0x13c]
push dword [ebp + 0x10]
lea ecx, [ebp + 8]
mov dword [esi + 0x138], eax
call fcn.004361de
lea eax, [ebp + 8]
push eax
push dword [ebp + 0x10]
lea edi, [esi + 0x6c]
call fcn.00439ba6
pop ecx
pop ecx
push eax
mov ecx, edi
call fcn.00436246
lea ecx, [ebp + 8]
call fcn.0042704a
cmp dword [ebp - 0x1c], ebx
je 0x4417e0
push dword [ebp - 0x1c]
mov ecx, edi
call fcn.004362a2
cmp dword [ebp + 0x10], ebx
je 0x4417f8
cmp byte [esi + 0x69], bl
je 0x4417f8
push dword [ebp + 0x10]
lea ecx, [esi + 0x90]
call fcn.00436246
cmp byte [esi + 0x69], bl
mov dword [ebp + 0x10], 0x271b
jne 0x44181d
cmp byte [esi + 0x8d], bl
jne 0x44181d
cmp byte [esi + 0x8e], bl
je 0x441824
mov dword [ebp + 0x10], 0x271d
jmp 0x441824
mov dword [ebp + 0x10], 0x271c
push esi
call fcn.0042a08d
mov eax, dword [ebp + 0xc]
cmp eax, ebx
pop ecx
mov byte [esi + 0x68], 1
mov dword [esi + 0x4c], eax
je 0x441855
mov edi, 0x4975e4
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp + 0xc]
inc dword [eax + 0xc0]
push edi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea eax, [ebp - 0x34]
push eax
push dword [ebp - 0x10]
push dword [ebp + 0x10]
push esi
call fcn.00428f43
mov eax, dword [esi + 0x18]
push str.0x_I64X
cdq
push str.__LastWinID
push edx
push eax
push dword [ebp - 4]
call fcn.00438a6c
add esp, 0x24
push ebx
push ebx
push 0x110
push dword [esi + 0x18]
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x44195f
mov eax, dword [ebp + 8]
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x54], 4
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], ebx
lea eax, [ebp - 0x34]
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], eax
mov esi, 0x4975bc
mov dword [ebp - 0x3c], edi
push esi
mov dword [ebp - 0x38], ebx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea eax, [ebp - 0x44]
push eax
push 0x10000
lea eax, [ebp - 0x60]
push eax
push 0x440f10
push 0x100000
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
cmp eax, ebx
mov dword [ebp + 0xc], eax
je 0x44191c
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
mov dword [ebp + 0x10], 0x270f
cmp dword [ebp - 0x54], ebx
je 0x44191c
push ebx
call edi
dec dword [ebp + 0x10]
jns 0x441904
jmp 0x441917
push 1
call edi
cmp dword [ebp - 0x54], ebx
jne 0x441913
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [ebp + 0xc], ebx
je 0x441931
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push str.__LastTID
push dword [ebp - 0x44]
push dword [ebp - 4]
call fcn.0042e3ae
mov eax, dword [ebp - 0x48]
push str.0x_I64X
cdq
push str.__LastWinID
push edx
push eax
push dword [ebp - 4]
call fcn.00438a6c
add esp, 0x20
mov dword [ebp - 0x14], ebx
mov eax, dword [ebp - 0x14]
pop edi
pop esi
pop ebx
leave
ret 0x10