Function at 0x1003b020
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 0xc]
sub esp, 0xc
push esi
sub eax, 0
je 0x1003b075
sub eax, 1
jne 0x1003b390
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_DisableThreadLibraryCalls]
mov esi, dword [sym.imp.KERNEL32.dll_CreateThread]
push 0
push 0
push 0
push 0x1003ade0
push 0
push 0
call esi
push 0
push 0
push 0
push 0x1003ac90
push 0
push 0
call esi
mov eax, 1
pop esi
mov esp, ebp
pop ebp
ret 0xc
push ebx
mov ebx, dword [0x1018a240]
mov ecx, 1
push edi
xor edi, edi
mov edx, 0x1018a2a8
xor eax, eax
lock cmpxchg dword [edx], ecx
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
test eax, eax
je 0x1003b0c2
nop dword [eax]
cmp edi, 0x20
jae 0x1003b0a9
push 0
jmp 0x1003b0ab
push 1
call esi
inc edi
mov ecx, 1
xor eax, eax
mov edx, 0x1018a2a8
lock cmpxchg dword [edx], ecx
test eax, eax
jne 0x1003b0a0
cmp dword [0x1018a2ac], 0
je 0x1003b131
test ebx, ebx
jne 0x1003b0d8
xor ecx, ecx
call fcn.1009ec96
jmp 0x1003b131
mov ecx, dword [0x1018afd8]
xor edi, edi
test ecx, ecx
je 0x1003b131
mov edx, dword [0x1018afd0]
mov eax, edx
nop dword [eax]
cmp ebx, dword [eax]
je 0x1003b0fe
inc edi
add eax, 0x2c
cmp edi, ecx
jb 0x1003b0f0
jmp 0x1003b131
cmp edi, 0xffffffff
je 0x1003b131
imul eax, edi, 0x2c
test byte [eax + edx + 0x14], 2
je 0x1003b131
push 1
mov edx, edi
lea ecx, [ebp - 0xc]
call fcn.1009eae3
add esp, 4
test eax, eax
jne 0x1003b131
xor edx, edx
mov ecx, edi
call fcn.1009ebc4
lea ecx, [ebp - 0xc]
call fcn.1009eb63
xor eax, eax
mov ecx, 0x1018a2a8
xchg dword [ecx], eax
mov ecx, dword [0x1018a240]
call fcn.1009eec2
mov ebx, dword [0x1018a27c]
xor edi, edi
mov ecx, 1
xor eax, eax
mov edx, 0x1018a2a8
lock cmpxchg dword [edx], ecx
test eax, eax
je 0x1003b183
cmp edi, 0x20
jae 0x1003b16a
push 0
jmp 0x1003b16c
push 1
call esi
inc edi
mov ecx, 1
xor eax, eax
mov edx, 0x1018a2a8
lock cmpxchg dword [edx], ecx
test eax, eax
jne 0x1003b161
cmp dword [0x1018a2ac], 0
je 0x1003b1f1
test ebx, ebx
jne 0x1003b199
xor ecx, ecx
call fcn.1009ec96
jmp 0x1003b1f1
mov ecx, dword [0x1018afd8]
xor edi, edi
test ecx, ecx
je 0x1003b1f1
mov edx, dword [0x1018afd0]
mov eax, edx
nop dword [eax]
cmp ebx, dword [eax]
je 0x1003b1be
inc edi
add eax, 0x2c
cmp edi, ecx
jb 0x1003b1b0
jmp 0x1003b1f1
cmp edi, 0xffffffff
je 0x1003b1f1
imul eax, edi, 0x2c
test byte [eax + edx + 0x14], 2
je 0x1003b1f1
push 1
mov edx, edi
lea ecx, [ebp - 0xc]
call fcn.1009eae3
add esp, 4
test eax, eax
jne 0x1003b1f1
xor edx, edx
mov ecx, edi
call fcn.1009ebc4
lea ecx, [ebp - 0xc]
call fcn.1009eb63
xor eax, eax
mov ecx, 0x1018a2a8
xchg dword [ecx], eax
mov ecx, dword [0x1018a27c]
call fcn.1009eec2
call fcn.1003fe60
mov ebx, dword [0x1018a298]
xor edi, edi
mov ecx, 1
xor eax, eax
mov edx, 0x1018a2a8
lock cmpxchg dword [edx], ecx
test eax, eax
je 0x1003b248
cmp edi, 0x20
jae 0x1003b22f
push 0
jmp 0x1003b231
push 1
call esi
inc edi
mov ecx, 1
xor eax, eax
mov edx, 0x1018a2a8
lock cmpxchg dword [edx], ecx
test eax, eax
jne 0x1003b226
cmp dword [0x1018a2ac], 0
je 0x1003b2b3
test ebx, ebx
jne 0x1003b25e
xor ecx, ecx
call fcn.1009ec96
jmp 0x1003b2b3
mov ecx, dword [0x1018afd8]
xor edi, edi
test ecx, ecx
je 0x1003b2b3
mov edx, dword [0x1018afd0]
mov eax, edx
cmp ebx, dword [eax]
je 0x1003b280
inc edi
add eax, 0x2c
cmp edi, ecx
jb 0x1003b272
jmp 0x1003b2b3
cmp edi, 0xffffffff
je 0x1003b2b3
imul eax, edi, 0x2c
test byte [eax + edx + 0x14], 2
je 0x1003b2b3
push 1
mov edx, edi
lea ecx, [ebp - 0xc]
call fcn.1009eae3
add esp, 4
test eax, eax
jne 0x1003b2b3
xor edx, edx
mov ecx, edi
call fcn.1009ebc4
lea ecx, [ebp - 0xc]
call fcn.1009eb63
xor eax, eax
mov ebx, 0x1018a2a8
xchg dword [ebx], eax
mov ecx, dword [0x1018a298]
call fcn.1009eec2
call fcn.1003b610
xor edi, edi
mov ecx, 1
xor eax, eax
lock cmpxchg dword [ebx], ecx
test eax, eax
je 0x1003b2fd
nop dword [eax]
cmp edi, 0x20
jae 0x1003b2e9
push 0
jmp 0x1003b2eb
push 1
call esi
inc edi
mov ecx, 1
xor eax, eax
lock cmpxchg dword [ebx], ecx
test eax, eax
jne 0x1003b2e0
cmp dword [0x1018a2ac], 0
je 0x1003b38a
xor ecx, ecx
call fcn.1009ec96
test eax, eax
jne 0x1003b38a
mov eax, dword [0x1018afc8]
mov dword [0x1018afc8], 0
test eax, eax
je 0x1003b342
mov edi, dword [sym.imp.KERNEL32.dll_VirtualFree]
nop
mov esi, dword [eax]
push 0x8000
push 0
push eax
call edi
mov eax, esi
test esi, esi
jne 0x1003b330
push dword [0x1018afd0]
push 0
push dword [0x1018a2ac]
call dword [sym.imp.KERNEL32.dll_HeapFree]
push dword [0x1018a2ac]
call dword [sym.imp.KERNEL32.dll_HeapDestroy]
mov dword [0x1018a2ac], 0
mov dword [0x1018afd0], 0
mov dword [0x1018afd4], 0
mov dword [0x1018afd8], 0
xor ecx, ecx
xchg dword [ebx], ecx
pop edi
pop ebx
mov eax, 1
pop esi
mov esp, ebp
pop ebp
ret 0xc