Function at 0x1002ec20
Capabilities:
Create thread

Disassembly:
jae 0x1002ec1e
jmp 0x1002ec19
call fcn.1002ec20
jae 0x1002ec19
add esp, 4
jmp 0x1002ec25
dec dword [esp]
jno 0x1002ec2a
jns 0x1002ec15
jp 0x1002ec2e
add esp, 4
popf
jmp 0x1002ec35
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x1002ec4e
jne 0x1002ec4e
call 0x1fc31fa2
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
push 0
push 0
push 0
push 0x10030080
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
clc
jae 0x1002ec79
test al, 0xe7
pushf
push 0xa
jae 0x1002ec86
jmp 0x1002ec81
call 0x1002ec88
jae 0x1002ec81
add esp, 4
jmp 0x1002ec8d
dec dword [esp]
jno 0x1002ec92
jns 0x1002ec7d
jp 0x1002ec96
add esp, 4
popf
jmp 0x1002ec9d
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x1002ecb6
jne 0x1002ecb6
out 0x7c, eax
add ebp, ebx
add esp, edi
jl 0x1002ecbb
jmp 0x1002ecbd
je 0x1002ecb8
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 0x1002ecd7
jne 0x1002ecd6
call 0x9306dd5e
rol byte [ebx + eax*4], 0xf0
add eax, 0x1750374
xor eax, 3
add eax, 4
xor eax, 5
je 0x1002ece5
jne 0x1002ece5
call 0xd5772b0
invalid
mov dword [ebp - 0x2ac], 0
mov dword [ebp - 0x2b0], 0
mov dword [ebp - 0x2b4], 0
clc
jae 0x1002ed08
cdq
pushf
pushf
push 0xa
jae 0x1002ed15
jmp 0x1002ed10
call 0x1002ed17
jae 0x1002ed10
add esp, 4
jmp 0x1002ed1c
dec dword [esp]
jno 0x1002ed21
jns 0x1002ed0c
jp 0x1002ed25
add esp, 4
popf
jmp 0x1002ed2c
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x1002ed45
jne 0x1002ed45
bnd jl 0x1002ed4a
jl 0x1002ed4a
jmp 0x1002ed4c
je 0x1002ed47
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 0x1002ed66
jne 0x1002ed65
call 0x9306dded
rol byte [ebx + eax*4], 0xf0
add eax, 0x1750374
xor eax, 3
add eax, 4
xor eax, 5
je 0x1002ed74
jne 0x1002ed74
call 0xc83733f
invalid
mov dword [ebp - 0x380], 0
mov dword [ebp - 0x2bc], 0
xor eax, eax
test eax, eax
je 0x1002ed91
jne 0x1002ed90
call 0x9306de18
rol byte [ebx + eax*4], 0xf0
add eax, 0x3eb037c
and dword [ebx + edi*8 - 8], esi
xor eax, 3
add eax, 4
xor eax, 5
jl 0x1002ed9f
jmp 0x1002eda1
je 0x1002ed9c
clc
jae 0x1002eda6
sbb byte [ecx], ah
je 0x1002edab
jne 0x1002edab
and dword [esi - 0x64], esp
pushf
push 0xa
jae 0x1002edb8
jmp 0x1002edb3
call 0x1002edba
jae 0x1002edb3
add esp, 4
jmp 0x1002edbf
dec dword [esp]
jno 0x1002edc4
jns 0x1002edaf
jp 0x1002edc8
add esp, 4
popf
jmp 0x1002edcf
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x1002ede8
jne 0x1002ede8
call 0x1fc3213c
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
mov dword [ebp - 0x2c0], 0
mov dword [ebp - 0x2c4], 0
clc
jae 0x1002ee12
invalid
pushf
push 0xa
jae 0x1002ee1f
jmp 0x1002ee1a
call 0x1002ee21
jae 0x1002ee1a
add esp, 4
jmp 0x1002ee26
dec dword [esp]
jno 0x1002ee2b
jns 0x1002ee16
jp 0x1002ee2f
add esp, 4
popf
jmp 0x1002ee36
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x1002ee4f
jne 0x1002ee4f
movsd dword es:[edi], dword [esi]
jl 0x1002ee54
jmp 0x1002ee56
je 0x1002ee51
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 0x1002ee70
jne 0x1002ee6f
call 0x9306def7
rol byte [ebx + eax*4], 0xf0
add eax, 0x1750374
xor eax, 3
add eax, 4
xor eax, 5
je 0x1002ee7e
jne 0x1002ee7e
call 0xd3b7449
invalid
mov dword [ebp - 0x2c8], 0
mov dword [ebp - 0x2cc], 0
xor eax, eax
test eax, eax
je 0x1002ee9b
jne 0x1002ee9a
call 0x9306df22
rol byte [ebx + eax*4], 0xf0
add eax, 0x3eb037c
sal dword [ebx + edi*8 - 8], 1
xor eax, 3
add eax, 4
xor eax, 5
jl 0x1002eea9
jmp 0x1002eeab
je 0x1002eea6
clc
jae 0x1002eeb0
push cs
sal dword [ebx + eax + 0x75], 1
add ecx, edx
je 0x1002eeb5
jne 0x1002eeb5
shl dword [esi - 0x64], 1
pushf
push 0xa
jae 0x1002eec2
jmp 0x1002eebd
call 0x1002eec4
jae 0x1002eebd
add esp, 4
jmp 0x1002eec9
dec dword [esp]
jno 0x1002eece
jns 0x1002eeb9
jp 0x1002eed2
add esp, 4
popf
jmp 0x1002eed9
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x1002eef2
jne 0x1002eef2
call 0x1fc32246
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
mov dword [ebp - 0x2d0], 0
mov dword [ebp - 0x2d4], 0
mov dword [ebp - 0x2d8], 0
clc
jae 0x1002ef26
pop edi
arpl word [esi - 0x64], sp
pushf
push 0xa
jae 0x1002ef33
jmp 0x1002ef2e
call 0x1002ef35
jae 0x1002ef2e
add esp, 4
jmp 0x1002ef3a
dec dword [esp]
jno 0x1002ef3f
jns 0x1002ef2a
jp 0x1002ef43
add esp, 4
popf
jmp 0x1002ef4a
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x1002ef63
jne 0x1002ef63
arpl word [ebx + eax - 0x15], di
add esp, dword [ebx + 0x74]
sti
jl 0x1002ef68
jmp 0x1002ef6a
je 0x1002ef65
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 0x1002ef84
jne 0x1002ef83
call 0x9306e00b
rol byte [ebx + eax*4], 0xf0
add eax, 0x1750374
xor eax, 3
add eax, 4
xor eax, 5
je 0x1002ef92
jne 0x1002ef92
call 0xd4b755d
invalid
mov dword [ebp - 0x2b8], 0
mov dword [ebp - 0x374], 0
mov dword [ebp - 0x378], 0
clc
jae 0x1002efb5
rol dword [edx + 0x66], 1
pushfd
pushf
push 0xa
jae 0x1002efc2
jmp 0x1002efbd
call 0x1002efc4
jae 0x1002efbd
add esp, 4
jmp 0x1002efc9
dec dword [esp]
jno 0x1002efce
jns 0x1002efb9
jp 0x1002efd2
add esp, 4
popf
jmp 0x1002efd9
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x1002eff2
jne 0x1002eff2
inc edx
jl 0x1002eff7
jmp 0x1002eff9
je 0x1002eff4
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 0x1002f013
jne 0x1002f012
call 0x9306e09a
rol byte [ebx + eax*4], 0xf0
add eax, 0x1750374
xor eax, 3
add eax, 4
xor eax, 5
je 0x1002f021
jne 0x1002f021
call 0x18470cdd
mov ebp, 0xd88d8d50
invalid
mov eax, 0xbd08441c
push eax
lea ecx, [ebp - 0x128]
call 0x1002e220
mov dword [ebp - 0x2dc], eax
mov ecx, dword [ebp - 0x2dc]
mov dword [ebp - 0x2e0], ecx
mov dword [ebp - 4], 0
mov edx, dword [ebp - 0x2e0]
push edx
call fcn.100306f0
add esp, 4
mov dword [ebp - 0x310], eax
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x278], 0
jmp 0x1002f082
mov eax, dword [ebp - 0x278]
add eax, 1
mov dword [ebp - 0x278], eax
cmp dword [ebp - 0x278], 0x30
jge 0x1002f09b
mov ecx, dword [ebp - 0x278]
mov byte [ebp + ecx - 0x128], 0
jmp 0x1002f073
xor eax, eax
test eax, eax
je 0x1002f0a4
jne 0x1002f0a3
call 0x9306e12b
rol byte [ebx + eax*4], 0xf0
add eax, 0x3eb037c
arpl word [ebx + edi*8 - 8], si
xor eax, 3
add eax, 4
xor eax, 5
jl 0x1002f0b2
jmp 0x1002f0b4
je 0x1002f0af
clc
jae 0x1002f0b9
jbe 0x1002f11c
je 0x1002f0be
jne 0x1002f0be
arpl word [esi - 0x64], sp
pushf
push 0xa
jae 0x1002f0cb
jmp 0x1002f0c6
call 0x1002f0cd
jae 0x1002f0c6
add esp, 4
jmp 0x1002f0d2
dec dword [esp]
jno 0x1002f0d7
jns 0x1002f0c2
jp 0x1002f0db
add esp, 4
popf
jmp 0x1002f0e2
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x1002f0fb
jne 0x1002f0fb
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
mov edx, 0x9d2c5242
push edx
lea ecx, [ebp - 0x68]
call fcn.1002e020
mov dword [ebp - 0x2e4], eax
mov eax, dword [ebp - 0x2e4]
mov dword [ebp - 0x36c], eax
mov dword [ebp - 4], 1
mov ecx, dword [ebp - 0x36c]
push ecx
call fcn.100306f0
add esp, 4
mov dword [ebp - 0x314], eax
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x27c], 0
jmp 0x1002f16a
sbb al, 0xfd
invalid