Function at 0x10007c20
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
push ebx
push esi
mov esi, ecx
push edi
lea ecx, [ebp - 0x10]
call fcn.10001000
lea ecx, [ebp - 0x18]
call fcn.10001000
mov eax, dword [ebp + 0xc]
cmp eax, 1
jne 0x10007c60
push dword [0x1001ae64]
mov ecx, esi
call fcn.1000763b
push 1
push dword [esi + 4]
call dword [sym.imp.USER32.dll_KillTimer]
jmp 0x10007f53
cmp eax, 2
jne 0x10007dcf
xor ebx, ebx
cmp byte [0x1001adcf], bl
jne 0x10007d6e
cmp dword [0x10017120], 0x32
jl 0x10007d6e
mov edi, dword [sym.imp.KERNEL32.dll_CreateThread]
lea eax, [ebp - 0x18]
mov ecx, esi
push eax
push ebx
call fcn.10007f6d
cmp eax, 1
je 0x10007d4a
cmp eax, 2
jne 0x10007d30
mov dword [ebp - 4], ebx
mov byte [ebp + 0xc], 0x2d
push dword [ebp + 0xc]
lea ecx, [ebp - 0x10]
call fcn.1000163a
push 0x10017610
lea ecx, [ebp - 0x10]
call fcn.1000171e
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x20]
push 0x1001760c
push eax
call fcn.100016d2
add esp, 0xc
lea ecx, [ebp - 0x10]
push eax
call fcn.10001553
lea ecx, [ebp - 0x20]
call fcn.10001171
lea eax, [ebp - 0x18]
mov ecx, esi
push eax
push dword [ebp - 0xc]
call fcn.10007f6d
cmp eax, 1
je 0x10007d0b
inc byte [ebp + 0xc]
cmp byte [ebp + 0xc], 0x7e
jl 0x10007caf
jmp 0x10007d30
push 0x10019e90
mov ecx, 0x10019e98
call fcn.10001553
lea eax, [ebp - 8]
push eax
push ebx
push ebx
push 0x10004fa3
push ebx
push ebx
call edi
mov dword [ebp - 4], 1
dec dword [0x10017120]
cmp dword [ebp - 4], ebx
jne 0x10007d6e
cmp dword [0x10017120], 0x32
jge 0x10007c8a
jmp 0x10007d6e
push 0x10019e90
mov ecx, 0x10019e98
call fcn.10001553
lea eax, [ebp - 8]
push eax
push ebx
push ebx
push 0x10004fa3
push ebx
push ebx
call edi
dec dword [0x10017120]
push 2
push dword [esi + 4]
call dword [sym.imp.USER32.dll_KillTimer]
cmp byte [0x1001adcf], bl
jne 0x10007d9b
cmp dword [0x10017120], 0x32
jl 0x10007d9b
mov eax, dword [0x10017134]
push ebx
add eax, 0x32
push eax
push 2
jmp 0x10007f0f
cmp byte [0x1001add2], bl
mov byte [0x1001add1], 1
je 0x10007f53
cmp byte [0x1001add3], bl
je 0x10007f53
cmp dword [esi + 0x28], ebx
jne 0x10007f53
mov ecx, esi
call fcn.1000883e
jmp 0x10007f53
cmp eax, 3
jne 0x10007e3a
lea edi, [esi + 0x60]
mov ecx, edi
call fcn.100013ec
xor ebx, ebx
test al, al
jne 0x10007df1
cmp byte [0x1001adcf], bl
jne 0x10007df1
push dword [esi + 0x64]
jmp 0x10007e0a
lea edi, [esi + 0x68]
mov ecx, edi
call fcn.100013ec
test al, al
jne 0x10007e1d
cmp byte [0x1001adcf], bl
jne 0x10007e1d
push dword [esi + 0x6c]
mov ecx, esi
call fcn.1000763b
mov ecx, edi
call fcn.10001392
jmp 0x10007f53
push 3
push dword [esi + 4]
call dword [sym.imp.USER32.dll_KillTimer]
cmp byte [0x1001add1], bl
mov byte [0x1001add2], 1
jmp 0x10007da8
cmp eax, 4
jne 0x10007f34
xor ebx, ebx
cmp byte [0x1001adcf], bl
jne 0x10007ee8
cmp dword [0x10017124], ebx
jl 0x10007ee8
xor edi, edi
mov byte [ebp + 0xc], 0x2d
push dword [ebp + 0xc]
lea ecx, [ebp - 0x10]
call fcn.1000163a
push 0x10017608
lea ecx, [ebp - 0x10]
call fcn.1000171e
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x20]
push 0x1001760c
push eax
call fcn.100016d2
add esp, 0xc
lea ecx, [ebp - 0x10]
push eax
call fcn.10001553
lea ecx, [ebp - 0x20]
call fcn.10001171
push dword [ebp - 0xc]
mov ecx, esi
call fcn.100082a4
cmp eax, 1
je 0x10007ebb
inc byte [ebp + 0xc]
cmp byte [ebp + 0xc], 0x7e
jl 0x10007e63
jmp 0x10007edb
lea eax, [ebp - 8]
push eax
push ebx
push 0x1001adc4
push 0x10001fe6
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
push 1
mov dword [0x1001adc4], ebx
pop edi
dec dword [0x10017124]
cmp edi, ebx
jmp 0x10007e4b
push 4
push dword [esi + 4]
call dword [sym.imp.USER32.dll_KillTimer]
cmp byte [0x1001adcf], bl
jne 0x10007f1a
cmp dword [0x10017124], ebx
jl 0x10007f1a
mov eax, dword [0x1001713c]
push ebx
add eax, 0x32
push eax
push 4
push dword [esi + 4]
call dword [sym.imp.USER32.dll_SetTimer]
jmp 0x10007f53
cmp byte [0x1001add1], bl
mov byte [0x1001add3], 1
je 0x10007f53
cmp byte [0x1001add2], bl
jmp 0x10007db4
cmp eax, 5
jne 0x10007f53
push eax
push dword [esi + 4]
call dword [sym.imp.USER32.dll_KillTimer]
push 0
mov ecx, esi
mov byte [0x1001add0], 1
call fcn.100051ce
lea ecx, [ebp - 0x18]
call fcn.10001171
lea ecx, [ebp - 0x10]
call fcn.10001171
push 1
pop eax
pop edi
pop esi
pop ebx
leave
ret 0x10