Function at 0x10014540
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 [0x100723a8]
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0x14]
sub ecx, dword [esi + 0x10]
lea eax, [edx + 4]
cmp eax, ecx
jbe 0x10014566
xor ecx, ecx
jmp 0x1001456c
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.10008ba0
lea eax, [edi + 0x20]
mov byte [esi + 4], 0
push eax
mov ecx, esi
call fcn.10008ba0
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 0x100145a4
xor cl, cl
jmp 0x100145aa
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 0x100145c7
xor cl, cl
jmp 0x100145cd
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 0x100145ea
xor ecx, ecx
jmp 0x100145f1
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 0x1001460f
xor cl, cl
jmp 0x10014615
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 0x10014632
xor cl, cl
jmp 0x10014638
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 0x10014655
xor cl, cl
jmp 0x1001465b
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 0x10014678
xor cl, cl
jmp 0x1001467e
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 0x1001469b
xor cl, cl
jmp 0x100146a1
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 0x100146be
xor cl, cl
jmp 0x100146c4
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 0x100146e1
xor cl, cl
jmp 0x100146e7
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 0x10014704
xor cl, cl
jmp 0x1001470a
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 0x10014727
xor ecx, ecx
jmp 0x1001472d
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 0x1001474a
xor ecx, ecx
jmp 0x10014750
mov eax, dword [esi + 0x10]
mov ecx, dword [edx + eax]
lea eax, [edx + 4]
mov byte [0x1007241c], 1
mov dword [esi + 8], eax
mov dword [edi + 0x50], ecx
mov ecx, dword [0x100723bc]
test ecx, ecx
je 0x10014776
mov ecx, dword [ecx + 0x20]
test ecx, ecx
je 0x10014776
call fcn.10021790
mov eax, dword [0x100723b8]
test eax, eax
je 0x100147a6
cmp byte [eax], 0
jne 0x100147a6
push 0
push 0
push eax
push 0x1001bd40
push 0
push 0
mov byte [eax], 1
call dword [sym.imp.KERNEL32.dll_CreateThread]
test eax, eax
je 0x100147a6
mov ecx, eax
call fcn.1001b8e0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4