Function at 0x100030e0
Capabilities:
Create thread

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x3c
mov edi, dword [esp + 0x50]
lea eax, [edi - 1]
cmp eax, 0xfffe
ja 0x10003206
mov eax, dword [0x100850e0]
test eax, eax
je 0x10003218
mov dword [esp], 0x100850fc
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
sub esp, 4
cmp word [0x10085132], 0
je 0x1000337a
cmp word [0x1008514a], 0
je 0x10003381
cmp word [0x10085162], 0
je 0x1000338b
cmp word [0x1008517a], 0
je 0x10003395
cmp word [0x10085192], 0
je 0x1000323b
cmp word [0x100851aa], 0
je 0x1000339f
cmp word [0x100851c2], 0
je 0x100033a9
cmp word [0x100851da], 0
je 0x100033b3
cmp word [0x100851f2], 0
je 0x100033bd
cmp word [0x1008520a], 0
je 0x100033c7
cmp word [0x10085222], 0
je 0x100033d1
cmp word [0x1008523a], 0
je 0x100033db
cmp word [0x10085252], 0
je 0x100033e5
cmp word [0x1008526a], 0
je 0x100033ef
cmp word [0x10085282], 0
je 0x100033f9
cmp word [0x1008529a], 0
je 0x10003403
mov dword [esp], 0x100850fc
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
sub esp, 4
add esp, 0x3c
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret 0x14
mov ebx, dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov dword [esp], 0x100850fc
call ebx
sub esp, 4
mov dword [esp], 0x100850e4
call ebx
sub esp, 4
jmp 0x10003106
mov eax, 4
mov ecx, dword [0x10085114]
lea edx, [ecx + 1]
mov ebx, edx
shl ebx, 4
add bx, ax
jne 0x1000325b
lea edx, [ecx + 2]
mov ebx, edx
shl ebx, 4
lea esi, [eax + eax*2]
mov dword [0x10085114], edx
shl esi, 3
mov dword [esi + 0x10085120], edi
call dword [0x10051008]
add eax, edi
movzx edi, bx
shl ebx, 0x10
mov dword [esi + 0x10085134], eax
mov eax, dword [esp + 0x54]
mov dword [esi + 0x10085124], eax
mov eax, dword [esp + 0x58]
mov dword [esi + 0x10085128], eax
mov eax, dword [esp + 0x5c]
mov dword [esi + 0x1008512c], eax
movzx eax, word [esp + 0x60]
or eax, ebx
mov ebx, dword [0x100850e0]
mov dword [esi + 0x10085130], eax
test ebx, ebx
je 0x100032d8
mov dword [esp], 0x100850fc
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, edi
sub esp, 4
add esp, 0x3c
pop ebx
pop esi
pop edi
pop ebp
ret 0x14
mov dword [esp], str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
sub esp, 4
mov dword [esp + 4], str.GetModuleHandleExA
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
sub esp, 8
mov dword [esp + 0x28], 0
test eax, eax
je 0x10003328
lea edx, [esp + 0x28]
mov dword [esp + 4], sym._TIME_MMSysTimeThread_4
mov dword [esp + 8], edx
mov dword [esp], 4
call eax
sub esp, 0xc
mov ebx, dword [esp + 0x28]
lea eax, [esp + 0x2c]
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 8], sym._TIME_MMSysTimeThread_4
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
sub esp, 0x18
mov dword [0x100850e0], eax
mov dword [esp + 4], 0xf
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
sub esp, 8
jmp 0x100032b6
xor eax, eax
jmp 0x10003240
mov eax, 1
jmp 0x10003240
mov eax, 2
jmp 0x10003240
mov eax, 3
jmp 0x10003240
mov eax, 5
jmp 0x10003240
mov eax, 6
jmp 0x10003240
mov eax, 7
jmp 0x10003240
mov eax, 8
jmp 0x10003240
mov eax, 9
jmp 0x10003240
mov eax, 0xa
jmp 0x10003240
mov eax, 0xb
jmp 0x10003240
mov eax, 0xc
jmp 0x10003240
mov eax, 0xd
jmp 0x10003240
mov eax, 0xe
jmp 0x10003240
mov eax, 0xf
jmp 0x10003240