Function at 0x10018240
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 [0x100bfe54]
mov edx, dword [esi + 8]
mov ecx, dword [esi + 0x14]
sub ecx, dword [esi + 0x10]
lea eax, [edx + 4]
cmp eax, ecx
jbe 0x10018266
xor ecx, ecx
jmp 0x1001826c
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.1000d7e0
lea eax, [edi + 0x20]
mov byte [esi + 4], 0
push eax
mov ecx, esi
call fcn.1000d7e0
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 0x100182a4
xor cl, cl
jmp 0x100182aa
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 0x100182c7
xor cl, cl
jmp 0x100182cd
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 0x100182ea
xor ecx, ecx
jmp 0x100182f1
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 0x1001830f
xor cl, cl
jmp 0x10018315
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 0x10018332
xor cl, cl
jmp 0x10018338
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 0x10018355
xor cl, cl
jmp 0x1001835b
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 0x10018378
xor cl, cl
jmp 0x1001837e
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 0x1001839b
xor cl, cl
jmp 0x100183a1
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 0x100183be
xor cl, cl
jmp 0x100183c4
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 0x100183e1
xor cl, cl
jmp 0x100183e7
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 0x10018404
xor cl, cl
jmp 0x1001840a
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 0x10018427
xor ecx, ecx
jmp 0x1001842d
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 0x1001844a
xor ecx, ecx
jmp 0x10018450
mov eax, dword [esi + 0x10]
mov ecx, dword [edx + eax]
lea eax, [edx + 4]
mov byte [0x100bfea1], 1
mov dword [esi + 8], eax
mov dword [edi + 0x50], ecx
mov ecx, dword [0x100bfe58]
test ecx, ecx
je 0x10018476
mov ecx, dword [ecx + 0x20]
test ecx, ecx
je 0x10018476
call fcn.1001f750
mov eax, dword [0x100bfe50]
test eax, eax
je 0x100184a6
cmp byte [eax], 0
jne 0x100184a6
push 0
push 0
push eax
push 0x10019cd0
push 0
push 0
mov byte [eax], 1
call dword [sym.imp.KERNEL32.dll_CreateThread]
test eax, eax
je 0x100184a6
mov ecx, eax
call fcn.100199b0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4