Function at 0x1002e850
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1017c790
mov eax, dword fs:[0]
push eax
sub esp, 0x40
mov eax, dword [0x101df028]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x48], edi
call fcn.1003c688
test al, al
je 0x1002e8a8
push eax
push eax
pop edi
push eax
pop ebp
pop ebx
pop ebx
pop edx
pop ecx
pop edi
pop edx
push eax
pop eax
push ecx
push esp
pop ebp
push ebp
pop esi
pop ecx
push esp
pop ebp
pop esp
push esi
push ebx
push edx
pop edi
push edx
push esi
mov edi, dword [ebp - 0x48]
cmp dword [edi + 0x38], 0
jne 0x1002e932
lea ecx, [ebp - 0x41]
call fcn.1003a420
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0
push eax
lea ecx, [ebp - 0x41]
call fcn.10044370
mov ebx, eax
lea esi, [edi + 0x28]
cmp esi, ebx
je 0x1002e90e
mov eax, dword [esi + 0x14]
cmp eax, 0x10
jb 0x1002e8e9
inc eax
mov ecx, esi
push eax
push dword [esi]
call fcn.100262c0
mov dword [esi + 0x14], 0xf
cmp dword [esi + 0x14], 0x10
mov dword [esi + 0x10], 0
jb 0x1002e901
mov eax, dword [esi]
jmp 0x1002e903
mov eax, esi
push ebx
mov ecx, esi
mov byte [eax], 0
call fcn.1002ad80
mov eax, dword [ebp - 0x14]
cmp eax, 0x10
jb 0x1002e923
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.100262c0
lea ecx, [ebp - 0x41]
mov dword [ebp - 4], 0xffffffff
call fcn.10023d10
cmp dword [edi + 0x68], 0
jne 0x1002e9fa
push 0xc
xor eax, eax
mov dword [ebp - 0x2c], 7
push 0x1017fa08
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x30], 0
mov word [ebp - 0x40], ax
call fcn.1001fe10
lea eax, [ebp - 0x40]
mov dword [ebp - 4], 2
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.10040ef8
add esp, 8
lea esi, [edi + 0x58]
mov ebx, eax
cmp esi, ebx
je 0x1002e9b7
mov eax, dword [esi + 0x14]
cmp eax, 0x10
jb 0x1002e992
inc eax
mov ecx, esi
push eax
push dword [esi]
call fcn.100262c0
mov dword [esi + 0x14], 0xf
cmp dword [esi + 0x14], 0x10
mov dword [esi + 0x10], 0
jb 0x1002e9aa
mov eax, dword [esi]
jmp 0x1002e9ac
mov eax, esi
push ebx
mov ecx, esi
mov byte [eax], 0
call fcn.1002ad80
mov eax, dword [ebp - 0x14]
cmp eax, 0x10
jb 0x1002e9cc
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.100262c0
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x28], 0
mov dword [ebp - 4], 0xffffffff
cmp eax, 8
jb 0x1002e9fa
inc eax
lea ecx, [ebp - 0x40]
push eax
push dword [ebp - 0x40]
call fcn.1001ff10
call fcn.1003c9c4
test al, al
je 0x1002ea16
push esi
push edi
push ebx
pop eax
push edi
pop ebp
push esp
push eax
pop ecx
pop edi
push ecx
pop edx
push esp
pop ebx
push esp
pop edx
mov edi, dword [ebp - 0x48]
cmp dword [edi + 0x80], 0
jne 0x1002eae1
push 7
xor eax, eax
mov dword [ebp - 0x2c], 7
push str.2.0.1.4
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x30], 0
mov word [ebp - 0x40], ax
call fcn.1001fe10
lea eax, [ebp - 0x40]
mov dword [ebp - 4], 4
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.10040ef8
add esp, 8
lea esi, [edi + 0x70]
mov ebx, eax
cmp esi, ebx
je 0x1002ea9e
mov eax, dword [esi + 0x14]
cmp eax, 0x10
jb 0x1002ea79
inc eax
mov ecx, esi
push eax
push dword [esi]
call fcn.100262c0
mov dword [esi + 0x14], 0xf
cmp dword [esi + 0x14], 0x10
mov dword [esi + 0x10], 0
jb 0x1002ea91
mov eax, dword [esi]
jmp 0x1002ea93
mov eax, esi
push ebx
mov ecx, esi
mov byte [eax], 0
call fcn.1002ad80
mov eax, dword [ebp - 0x14]
cmp eax, 0x10
jb 0x1002eab3
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.100262c0
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x28], 0
mov dword [ebp - 4], 0xffffffff
cmp eax, 8
jb 0x1002eae1
inc eax
lea ecx, [ebp - 0x40]
push eax
push dword [ebp - 0x40]
call fcn.1001ff10
call fcn.1003ca4e
test al, al
je 0x1002eaff
push esp
push esp
push ebp
push edi
push ecx
pop ebx
pop esi
pop esp
push eax
pop ebp
pop ebp
pop ecx
push ebp
push eax
pop edi
pop eax
pop ebp
push esp
mov edi, dword [ebp - 0x48]
cmp dword [edi + 0x98], 0
jne 0x1002eb8f
lea ecx, [ebp - 0x34]
call fcn.1004924e
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 6
push eax
lea ecx, [ebp - 0x34]
call fcn.1004d997
mov ebx, eax
lea esi, [edi + 0x88]
cmp esi, ebx
je 0x1002eb6b
mov eax, dword [esi + 0x14]
cmp eax, 0x10
jb 0x1002eb46
inc eax
mov ecx, esi
push eax
push dword [esi]
call fcn.100262c0
mov dword [esi + 0x14], 0xf
cmp dword [esi + 0x14], 0x10
mov dword [esi + 0x10], 0
jb 0x1002eb5e
mov eax, dword [esi]
jmp 0x1002eb60
mov eax, esi
push ebx
mov ecx, esi
mov byte [eax], 0
call fcn.1002ad80
mov eax, dword [ebp - 0x14]
cmp eax, 0x10
jb 0x1002eb80
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.100262c0
lea ecx, [ebp - 0x34]
mov dword [ebp - 4], 0xffffffff
call fcn.10023d10
cmp dword [edi + 0x50], 0
jne 0x1002ebf8
lea eax, [ebp - 0x40]
push eax
call fcn.100289c0
mov ecx, eax
call fcn.10030b50
push eax
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 8
push eax
call fcn.10040ef8
add esp, 8
lea ecx, [edi + 0x40]
push eax
call fcn.1002a2c0
mov eax, dword [ebp - 0x14]
cmp eax, 0x10
jb 0x1002ebd7
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.100262c0
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x28], 0
mov dword [ebp - 4], 0xffffffff
call fcn.1001fc70
call fcn.1003c7e1
test al, al
je 0x1002ec1e
push ebp
push ecx
push edi
pop esi
pop ecx
pop eax
pop esp
push ebx
push edi
pop ecx
push ecx
pop esp
push ecx
push eax
push ebx
push edi
push ebp
push esp
push eax
push ebx
pop esp
push eax
pop ebx
pop esi
pop eax
push ebp
push esi
push ecx
push edx
call fcn.1003ca4e
test al, al
je 0x1002ec45
push esp
pop edx
push ebx
pop ebp
pop eax
pop ebp
push ecx
pop eax
push eax
push ecx
pop ebx
push edx
pop esi
push edx
pop esp
pop esp
push ebp
pop edx
pop ecx
push ebp
push eax
push edi
push esp
pop edi
push esi
push ecx
pop edi
mov edi, dword [ebp - 0x48]
cmp dword [ebp + 8], 0
je 0x1002ec67
lea eax, [ebp - 0x4c]
mov byte [edi], 1
push eax
push 0
push edi
push 0x1002e440
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [edi + 8], eax
call fcn.1003c757
test al, al
je 0x1002ec8a
push ebx
pop edx
push ebp
push ecx
push esp
push esp
pop esi
pop ebx
pop edx
pop edx
pop ebx
push esi
push eax
push esp
push esp
pop eax
pop ebx
pop eax
pop esi
pop eax
pop ebp
pop edi
push ebx
push edi
pop ebx
pop edx
call fcn.1003c8f5
test al, al
je 0x1002ecaf
push esi
pop esp
push eax
push esi
push ebx
push esi
pop esp
push edi
pop ebp
push edi
push edx
pop edi
pop esp
push ecx
push ecx
pop eax
push ecx
pop ebp
push ebp
push ebx
pop esi
pop edi
pop ebx
push eax
pop ebp
push esp
push esi
push ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10032035
mov esp, ebp
pop ebp
ret 4