Function at 0x10037180
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10064c3b
mov eax, dword fs:[0]
push eax
sub esp, 0x98
mov eax, dword [0x1007e274]
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 dword [ebp - 4], 0
mov eax, 0x9076f366
push eax
lea ecx, [ebp - 0x8c]
call fcn.10035dd0
mov dword [ebp - 0x98], eax
mov ecx, dword [ebp - 0x98]
mov dword [ebp - 0x9c], ecx
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x9c]
push edx
call fcn.10021b20
add esp, 4
mov byte [ebp - 4], 0
mov dword [ebp - 0x90], 0
jmp 0x1003720a
mov eax, dword [ebp - 0x90]
add eax, 1
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0x90], 0x59
jge 0x10037223
mov ecx, dword [ebp - 0x90]
mov byte [ebp + ecx - 0x8c], 0
jmp 0x100371fb
push 0x561dc20a
lea ecx, [ebp - 0x30]
call fcn.10035d50
mov dword [ebp - 0xa0], eax
mov edx, dword [ebp - 0xa0]
mov dword [ebp - 0xa4], edx
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0xa4]
push eax
call fcn.10021fa0
add esp, 4
mov byte [ebp - 4], 0
mov dword [ebp - 0x94], 0
jmp 0x10037274
mov ecx, dword [ebp - 0x94]
add ecx, 1
mov dword [ebp - 0x94], ecx
cmp dword [ebp - 0x94], 0x20
jge 0x1003728a
mov edx, dword [ebp - 0x94]
mov byte [ebp + edx - 0x30], 0
jmp 0x10037265
push 0
push 0
push 0
push 0x100370b0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
clc
jae 0x100372a4
mov ah, 0x79
pushf
push 0xa
jae 0x100372b1
jmp 0x100372ac
call 0x100372b3
jae 0x100372ac
add esp, 4
jmp 0x100372b8
dec dword [esp]
jno 0x100372bd
jns 0x100372a8
jp 0x100372c1
add esp, 4
popf
jmp 0x100372c8
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x100372e1
jne 0x100372e1
jns 0x1003735e
jl 0x100372e6
add ebp, ebx
add edi, dword [ecx + 0x74]
sti
jmp 0x100372e8
je 0x100372e3
push eax
xor eax, eax
setnp al
push edx
xor edx, eax
shl edx, 2
xchg edx, eax
pop edx
or eax, ecx
pop eax
xor eax, eax
test eax, eax
je 0x10037302
jne 0x10037301
call 0x93076389
rol byte [ebx + eax*4], 0xf0
add eax, 0x1750374
xor eax, 3
add eax, 4
xor eax, 5
je 0x10037310
jne 0x10037310
call 0x1013137c
add bh, bh
adc eax, sym.imp.KERNEL32.dll_Sleep
push 0xfa0
call dword [sym.imp.KERNEL32.dll_Sleep]
xor eax, eax
test eax, eax
je 0x10037324
jne 0x10037323
call 0x930763ab
rol byte [ebx + eax*4], 0xf0
add eax, 0x3eb037c
inc edx
xor eax, 3
add eax, 4
xor eax, 5
jl 0x10037332
jmp 0x10037334
je 0x1003732f
clc
jae 0x10037339
pop esi
inc edx
je 0x1003733e
jne 0x1003733e
inc edx
pushf
push 0xa
jae 0x1003734b
jmp 0x10037346
call 0x1003734d
jae 0x10037346
add esp, 4
jmp 0x10037352
dec dword [esp]
jno 0x10037357
jns 0x10037342
jp 0x1003735b
add esp, 4
popf
jmp 0x10037362
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x1003737b
jne 0x1003737b
call 0x1fc3a6cf
wait
rcl byte [edx + 0x33], 0xd0
push eax
xor eax, eax
setnp al
push edx
xor edx, eax
shl edx, 2
xchg edx, eax
pop edx
or eax, ecx
pop eax
call fcn.10021e20
mov dword [ebp - 4], 3
lea ecx, [ebp + 8]
call fcn.10006b10
mov dword [ebp - 4], 0xffffffff
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.100410a2
mov esp, ebp
pop ebp
ret