Function at 0x10015690
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, dword [0x1006c2d8]
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0x14]
sub ecx, dword [esi + 0x10]
lea eax, [edx + 4]
cmp eax, ecx
jbe 0x100156b6
xor ecx, ecx
jmp 0x100156bc
mov eax, dword [esi + 0x10]
mov ecx, dword [edx + eax]
lea eax, [edx + 4]
mov dword [esi + 8], eax
lea eax, [edi + 8]
mov dword [edi], ecx
mov ecx, esi
push eax
call fcn.1000ab80
lea eax, [edi + 0x20]
mov byte [esi + 4], 0
push eax
mov ecx, esi
call fcn.1000ab80
mov esi, eax
mov ebx, dword [esi + 8]
mov edx, dword [esi + 0x14]
sub edx, dword [esi + 0x10]
lea ecx, [ebx + 1]
cmp ecx, edx
jbe 0x100156f4
xor cl, cl
jmp 0x100156fa
mov eax, dword [esi + 0x10]
mov cl, byte [ebx + eax]
lea eax, [ebx + 1]
mov dword [esi + 8], eax
mov byte [edi + 0x38], cl
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0x14]
sub ecx, dword [esi + 0x10]
lea eax, [edx + 1]
cmp eax, ecx
jbe 0x10015717
xor cl, cl
jmp 0x1001571d
mov eax, dword [esi + 0x10]
mov cl, byte [edx + eax]
lea eax, [edx + 1]
mov dword [esi + 8], eax
mov byte [edi + 0x39], cl
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0x14]
sub ecx, dword [esi + 0x10]
lea eax, [edx + 2]
cmp eax, ecx
jbe 0x1001573a
xor ecx, ecx
jmp 0x10015741
mov eax, dword [esi + 0x10]
movzx ecx, word [edx + eax]
lea eax, [edx + 2]
mov dword [esi + 8], eax
mov word [edi + 0x3e], cx
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0x14]
sub ecx, dword [esi + 0x10]
lea eax, [edx + 1]
cmp eax, ecx
jbe 0x1001575f
xor cl, cl
jmp 0x10015765
mov eax, dword [esi + 0x10]
mov cl, byte [edx + eax]
lea eax, [edx + 1]
mov dword [esi + 8], eax
mov byte [edi + 0x3a], cl
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0x14]
sub ecx, dword [esi + 0x10]
lea eax, [edx + 1]
cmp eax, ecx
jbe 0x10015782
xor cl, cl
jmp 0x10015788
mov eax, dword [esi + 0x10]
mov cl, byte [edx + eax]
lea eax, [edx + 1]
mov dword [esi + 8], eax
mov byte [edi + 0x3b], cl
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0x14]
sub ecx, dword [esi + 0x10]
lea eax, [edx + 1]
cmp eax, ecx
jbe 0x100157a5
xor cl, cl
jmp 0x100157ab
mov eax, dword [esi + 0x10]
mov cl, byte [edx + eax]
lea eax, [edx + 1]
mov dword [esi + 8], eax
mov byte [edi + 0x3c], cl
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0x14]
sub ecx, dword [esi + 0x10]
lea eax, [edx + 1]
cmp eax, ecx
jbe 0x100157c8
xor cl, cl
jmp 0x100157ce
mov eax, dword [esi + 0x10]
mov cl, byte [edx + eax]
lea eax, [edx + 1]
mov dword [esi + 8], eax
mov byte [edi + 0x68], cl
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0x14]
sub ecx, dword [esi + 0x10]
lea eax, [edx + 1]
cmp eax, ecx
jbe 0x100157eb
xor cl, cl
jmp 0x100157f1
mov eax, dword [esi + 0x10]
mov cl, byte [edx + eax]
lea eax, [edx + 1]
mov dword [esi + 8], eax
mov byte [edi + 0x69], cl
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0x14]
sub ecx, dword [esi + 0x10]
lea eax, [edx + 1]
cmp eax, ecx
jbe 0x1001580e
xor cl, cl
jmp 0x10015814
mov eax, dword [esi + 0x10]
mov cl, byte [edx + eax]
lea eax, [edx + 1]
mov dword [esi + 8], eax
mov byte [edi + 0x6a], cl
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0x14]
sub ecx, dword [esi + 0x10]
lea eax, [edx + 1]
cmp eax, ecx
jbe 0x10015831
xor cl, cl
jmp 0x10015837
mov eax, dword [esi + 0x10]
mov cl, byte [edx + eax]
lea eax, [edx + 1]
mov dword [esi + 8], eax
mov byte [edi + 0x6b], cl
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0x14]
sub ecx, dword [esi + 0x10]
lea eax, [edx + 1]
cmp eax, ecx
jbe 0x10015854
xor cl, cl
jmp 0x1001585a
mov eax, dword [esi + 0x10]
mov cl, byte [edx + eax]
lea eax, [edx + 1]
mov dword [esi + 8], eax
mov byte [edi + 0x6c], cl
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0x14]
sub ecx, dword [esi + 0x10]
lea eax, [edx + 4]
cmp eax, ecx
jbe 0x10015877
xor ecx, ecx
jmp 0x1001587d
mov eax, dword [esi + 0x10]
mov ecx, dword [edx + eax]
lea eax, [edx + 4]
mov dword [esi + 8], eax
mov dword [edi + 0x4c], ecx
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0x14]
sub ecx, dword [esi + 0x10]
lea eax, [edx + 4]
cmp eax, ecx
jbe 0x1001589a
xor ecx, ecx
jmp 0x100158a0
mov eax, dword [esi + 0x10]
mov ecx, dword [edx + eax]
lea eax, [edx + 4]
mov byte [0x1006c3a6], 1
mov dword [esi + 8], eax
mov dword [edi + 0x50], ecx
mov ecx, dword [0x1006c2e0]
test ecx, ecx
je 0x100158c6
mov ecx, dword [ecx + 0x20]
test ecx, ecx
je 0x100158c6
call fcn.1001ccc0
mov eax, dword [0x1006c2dc]
test eax, eax
je 0x100158f6
cmp byte [eax], 0
jne 0x100158f6
push 0
push 0
push eax
push 0x10017270
push 0
push 0
mov byte [eax], 1
call dword [sym.imp.KERNEL32.dll_CreateThread]
test eax, eax
je 0x100158f6
mov ecx, eax
call fcn.10016e10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4