Function at 0x1002ad90
Capabilities:
Create thread

Disassembly:
jae 0x1002abfc
jmp 0x1002abf7
call fcn.1002abfe
jae 0x1002abf7
add esp, 4
jmp 0x1002ac03
dec dword [esp]
jno 0x1002ac08
jns 0x1002abf3
jp 0x1002ac0c
add esp, 4
popf
jmp 0x1002ac13
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x1002ac2c
jne 0x1002ac2c
call 0x1fc2df80
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 0x1002d620
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
xor eax, eax
test eax, eax
je 0x1002ac5b
jne 0x1002ac5a
call 0x93069ce2
rol byte [ebx + eax*4], 0xf0
add eax, 0x3eb037c
aaa
xor eax, 3
add eax, 4
xor eax, 5
jl 0x1002ac69
jmp 0x1002ac6b
je 0x1002ac66
clc
jae 0x1002ac70
loopne 0x1002aca7
je 0x1002ac75
jne 0x1002ac75
aaa
pushf
push 0xa
jae 0x1002ac82
jmp 0x1002ac7d
call 0x1002ac84
jae 0x1002ac7d
add esp, 4
jmp 0x1002ac89
dec dword [esp]
jno 0x1002ac8e
jns 0x1002ac79
jp 0x1002ac92
add esp, 4
popf
jmp 0x1002ac99
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x1002acb2
add byte [eax + 3], bl
ret 0x585a
jne 0x1002acb2
call 0x1fc2e006
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 0x1002d970
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
xor eax, eax
test eax, eax
je 0x1002ace1
jne 0x1002ace0
call 0x93069d68
rol byte [ebx + eax*4], 0xf0
add eax, 0x3eb037c
pop eax
xor eax, 3
add eax, 4
xor eax, 5
jl 0x1002acef
jmp 0x1002acf1
je 0x1002acec
clc
jae 0x1002acf6
test dword [eax + 0x74], ebx
add esi, dword [ebp + 1]
je 0x1002acfb
jne 0x1002acfb
pop eax
pushf
push 0xa
jae 0x1002ad08
jmp 0x1002ad03
call 0x1002ad0a
jae 0x1002ad03
add esp, 4
jmp 0x1002ad0f
dec dword [esp]
jno 0x1002ad14
jns 0x1002acff
jp 0x1002ad18
add esp, 4
popf
jmp 0x1002ad1f
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x1002ad38
jne 0x1002ad38
call 0x1fc2e08c
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 0x1002d660
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
xor eax, eax
test eax, eax
je 0x1002ad67
jne 0x1002ad66
call 0x93069dee
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 0x1002ad75
jmp 0x1002ad77
je 0x1002ad72
clc
jae 0x1002ad7c
das
and dword [ebx + eax + 0x75], esi
add dword [ecx], esp
je 0x1002ad81
jne 0x1002ad81
and dword [esi - 0x64], esp
pushf
push 0xa
jae 0x1002ad8e
jmp 0x1002ad89
call 0x1002ad90
jae 0x1002ad89
add esp, 4
jmp 0x1002ad95
dec dword [esp]
jno 0x1002ad9a
jns 0x1002ad85
jp 0x1002ad9e
add esp, 4
popf
jmp 0x1002ada5
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x1002adbe
jne 0x1002adbe
call 0x1fc2e112
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 0x1002d6d0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
xor eax, eax
test eax, eax
je 0x1002aded
jne 0x1002adec
call 0x93069e74
rol byte [ebx + eax*4], 0xf0
add eax, 0x3eb037c
out 0x74, eax
sti
xor eax, 3
add eax, 4
xor eax, 5
jl 0x1002adfb
jmp 0x1002adfd
je 0x1002adf8
clc
jae 0x1002ae02
salc
out 0x74, eax
add esi, dword [ebp + 1]
je 0x1002ae07
jne 0x1002ae07
out 0x66, eax
pushfd
pushf
push 0xa
jae 0x1002ae14
jmp 0x1002ae0f
call 0x1002ae16
jae 0x1002ae0f
add esp, 4
jmp 0x1002ae1b
dec dword [esp]
jno 0x1002ae20
jns 0x1002ae0b
jp 0x1002ae24
add esp, 4
popf
jmp 0x1002ae2b
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x1002ae44
jne 0x1002ae44
call 0x1fc2e198
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 0x1002d740
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
xor eax, eax
test eax, eax
je 0x1002ae73
jne 0x1002ae72
call 0x93069efa
rol byte [ebx + eax*4], 0xf0
add eax, 0x3eb037c
mov al, 0x74
sti
xor eax, 3
add eax, 4
xor eax, 5
jl 0x1002ae81
jmp 0x1002ae83
je 0x1002ae7e
clc
jae 0x1002ae88
xor byte [eax + 0x1750374], 0xb0
je 0x1002ae8d
jne 0x1002ae8d
mov al, 0x66
pushfd
pushf
push 0xa
jae 0x1002ae9a
jmp 0x1002ae95
call 0x1002ae9c
jae 0x1002ae95
add esp, 4
jmp 0x1002aea1
dec dword [esp]
jno 0x1002aea6
jns 0x1002ae91
jp 0x1002aeaa
add esp, 4
popf
jmp 0x1002aeb1
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x1002aeca
jne 0x1002aeca
call 0x1fc2e21e
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 0x1002d7b0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
xor eax, eax
test eax, eax
je 0x1002aef9
jne 0x1002aef8
call 0x93069f80
rol byte [ebx + eax*4], 0xf0
add eax, 0x3eb037c
jns 0x1002af7c
xor eax, 3
add eax, 4
xor eax, 5
jl 0x1002af07
jmp 0x1002af09
je 0x1002af04
sti
clc
jae 0x1002af0e
sub bh, byte [ecx + 0x74]
add esi, dword [ebp + 1]
je 0x1002af13
jne 0x1002af13
jns 0x1002af7a
pushf
pushfd
push 0xa
jae 0x1002af20
jmp 0x1002af1b
call 0x1002af22
jae 0x1002af1b
add esp, 4
jmp 0x1002af27
dec dword [esp]
jno 0x1002af2c
jns 0x1002af17
jp 0x1002af30
add esp, 4
popf
jmp 0x1002af37
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x1002af50
jne 0x1002af50
call 0x1fc2e2a4
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 0x1002d820
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
xor eax, eax
test eax, eax
je 0x1002af7f
jne 0x1002af7e
call 0x9306a006
rol byte [ebx + eax*4], 0xf0
add eax, 0x3eb037c
lcall 0xcc02, 0x73f8fb74
lcall 0x669a, 0x1750374
pushfd
xor eax, 3
add eax, 4
xor eax, 5
jl 0x1002af8d
jmp 0x1002af8f
je 0x1002af8a
clc
jae 0x1002af94
int3
je 0x1002af99
jne 0x1002af99
lcall 0x773, 0xa6a9c66
pushf
push 0xa
jae 0x1002afa6
jmp 0x1002afa1
call 0x1002afa8
jae 0x1002afa1
add esp, 4
jmp 0x1002afad
dec dword [esp]
jno 0x1002afb2
jns 0x1002af9d
jp 0x1002afb6
add esp, 4
popf
jmp 0x1002afbd
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x1002afd6
jne 0x1002afd6
call 0x1fc2e32a
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 0x1002d890
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
xor eax, eax
test eax, eax
je 0x1002b005
jne 0x1002b004
call 0x9306a08c
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 0x1002b013
jmp 0x1002b015
je 0x1002b010
clc
jae 0x1002b01a
jbe 0x1002b07d
je 0x1002b01f
jne 0x1002b01f
arpl word [esi - 0x64], sp
pushf
push 0xa
jae 0x1002b02c
jmp 0x1002b027
call 0x1002b02e
jae 0x1002b027
add esp, 4
jmp 0x1002b033
dec dword [esp]
jno 0x1002b038
jns 0x1002b023
jp 0x1002b03c
add esp, 4
popf
jmp 0x1002b043
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x1002b05c
jne 0x1002b05c
call 0x1fc2e3b0
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 0x1002d900
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
adc eax, sym.imp.KERNEL32.dll_CreateThread
xor eax, eax
test eax, eax
je 0x1002b08b
jne 0x1002b08a
call 0x9306a112
rol byte [ebx + eax*4], 0xf0
add eax, 0x3eb037c
sub al, 0x74
sti
clc
jae 0x1002b0a0
xor eax, 3
add eax, 4
xor eax, 5
jl 0x1002b099
jmp 0x1002b09b
je 0x1002b096