Function at 0x10005830
Capabilities:
Create thread

Disassembly:
push 0xffffffffffffffff
push 0x100183e8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x48
push ebp
push esi
mov esi, ecx
push edi
lea eax, [esp + 0x14]
mov dword [esp + 0xc], 0
lea ebp, [esi + 0x12c]
push ebp
push eax
call fcn.100051b0
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x5c], 0
test eax, eax
je 0x10005894
mov esi, dword [esp + 0x64]
mov cl, byte [esp + 0x14]
push 0
mov byte [esi], cl
mov ecx, esi
call fcn.10002ea0
push 0xffffffffffffffff
lea edx, [esp + 0x18]
push 0
push edx
jmp 0x100058ee
lea eax, [esi + 0x138]
lea ecx, [esp + 0x44]
push eax
push ecx
mov ecx, esi
call fcn.100051b0
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x68], 1
call fcn.10002bf0
push 1
lea ecx, [esp + 0x48]
mov byte [esp + 0x60], 0
call fcn.10002ea0
mov eax, dword [esp + 0x1c]
push 0
test eax, eax
je 0x1000590d
mov esi, dword [esp + 0x68]
mov dl, byte [esp + 0x18]
mov ecx, esi
mov byte [esi], dl
call fcn.10002ea0
push 0xffffffffffffffff
lea eax, [esp + 0x18]
push 0
push eax
mov ecx, esi
call fcn.10002bf0
push 1
lea ecx, [esp + 0x18]
mov dword [esp + 0x60], 0xffffffff
call fcn.10002ea0
jmp 0x10005ab2
mov cl, byte [esi]
mov byte [esp + 0x28], cl
lea ecx, [esp + 0x28]
call fcn.10002ea0
push 0xffffffffffffffff
push 0
push esi
lea ecx, [esp + 0x30]
call fcn.10002bf0
mov edi, 0x10148ca8
or ecx, 0xffffffff
xor eax, eax
mov byte [esp + 0x5c], 2
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0xffffffffffffffff
push 0x10148ca8
lea ecx, [esp + 0x30]
call fcn.10004e60
inc eax
lea edx, [esp + 0x34]
push eax
push 0
push edx
lea ecx, [esp + 0x30]
call fcn.10002830
mov eax, dword [ebp + 4]
mov byte [esp + 0x5c], 3
push eax
mov ecx, dword [eax]
lea eax, [esp + 0x10]
push ecx
push eax
mov ecx, ebp
call fcn.10002f60
mov eax, dword [esp + 0x38]
xor edi, edi
cmp eax, edi
jne 0x10005988
mov eax, 0x10019280
push eax
call fcn.1000d62f
add esp, 4
lea edx, [esp + 0x34]
push edi
sub esp, 0x10
mov ecx, esp
mov dword [esp + 0x20], esp
push edx
call fcn.1000a080
mov ecx, esi
call fcn.10005ad0
lea eax, [esp + 0x44]
push ebp
push eax
mov ecx, esi
call fcn.100051b0
push 0xffffffffffffffff
push edi
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x68], 4
call fcn.10002bf0
push 1
lea ecx, [esp + 0x48]
mov byte [esp + 0x60], 3
call fcn.10002ea0
cmp dword [esp + 0x1c], edi
jne 0x10005a0d
mov esi, dword [esi + 0xc0]
cmp esi, edi
jne 0x100059f0
mov esi, 0x10019280
push esi
call fcn.1000d62f
add esp, 4
lea ecx, [esp + 0x10]
push ecx
push edi
push edi
push 0x10005450
push edi
push edi
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov esi, dword [esp + 0x64]
mov dl, byte [esp + 0x14]
push edi
mov ecx, esi
mov byte [esi], dl
call fcn.10002ea0
push 0xffffffffffffffff
lea eax, [esp + 0x18]
push edi
push eax
mov ecx, esi
call fcn.10002bf0
mov eax, dword [esp + 0x38]
cmp eax, edi
je 0x10005a52
mov cl, byte [eax - 1]
dec eax
test cl, cl
je 0x10005a49
cmp cl, 0xff
je 0x10005a49
dec cl
mov byte [eax], cl
jmp 0x10005a52
push eax
call fcn.1000cba7
add esp, 4
mov eax, dword [esp + 0x28]
mov dword [esp + 0x38], edi
cmp eax, edi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], edi
je 0x10005a82
mov cl, byte [eax - 1]
dec eax
test cl, cl
je 0x10005a79
cmp cl, 0xff
je 0x10005a79
dec cl
mov byte [eax], cl
jmp 0x10005a82
push eax
call fcn.1000cba7
add esp, 4
mov eax, dword [esp + 0x18]
mov dword [esp + 0x28], edi
cmp eax, edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], edi
je 0x10005ab2
mov cl, byte [eax - 1]
dec eax
test cl, cl
je 0x10005aa9
cmp cl, 0xff
je 0x10005aa9
dec cl
mov byte [eax], cl
jmp 0x10005ab2
push eax
call fcn.1000cba7
add esp, 4
mov ecx, dword [esp + 0x54]
mov eax, esi
pop edi
pop esi
mov dword fs:[0], ecx
pop ebp
add esp, 0x54
ret 4