Function at 0x10015604
Capabilities:
Create thread

Disassembly:
jae 0x10015364
jmp 0x1001535f
call fcn.10015366
jae 0x1001535f
add esp, 4
jmp 0x1001536b
dec dword [esp]
jno 0x10015370
jns 0x1001535b
jp 0x10015374
add esp, 4
popf
jmp 0x1001537b
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x10015394
jne 0x10015394
call 0x1fc186e8
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 0x10016ac0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
xor eax, eax
test eax, eax
je 0x100153c3
jne 0x100153c2
call 0x9305444a
rol byte [ebx + eax*4], 0xf0
add eax, 0x3eb037c
invalid
xor eax, 3
add eax, 4
xor eax, 5
jl 0x100153d1
jmp 0x100153d3
je 0x100153ce
clc
jae 0x100153d8
lodsd eax, dword [esi]
invalid
je 0x100153dd
jne 0x100153dd
invalid
pushf
push 0xa
jae 0x100153ea
jmp 0x100153e5
call 0x100153ec
jae 0x100153e5
add esp, 4
jmp 0x100153f1
dec dword [esp]
jno 0x100153f6
jns 0x100153e1
jp 0x100153fa
add esp, 4
popf
jmp 0x10015401
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x1001541a
jne 0x1001541a
call 0x1fc1876e
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 0x10016b30
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
xor eax, eax
test eax, eax
je 0x10015449
jne 0x10015448
call 0x930544d0
rol byte [ebx + eax*4], 0xf0
add eax, 0x3eb037c
mov al, 0x74
sti
xor eax, 3
add eax, 4
xor eax, 5
jl 0x10015457
jmp 0x10015459
je 0x10015454
clc
jae 0x1001545e
push edx
mov al, 0x74
add esi, dword [ebp + 1]
je 0x10015463
jne 0x10015463
mov al, 0x66
pushfd
pushf
push 0xa
jae 0x10015470
jmp 0x1001546b
call 0x10015472
jae 0x1001546b
add esp, 4
jmp 0x10015477
dec dword [esp]
jno 0x1001547c
jns 0x10015467
jp 0x10015480
add esp, 4
popf
jmp 0x10015487
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x100154a0
jne 0x100154a0
call 0x1fc187f4
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 0x10016ba0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
xor eax, eax
test eax, eax
je 0x100154cf
jne 0x100154ce
call 0x93054556
rol byte [ebx + eax*4], 0xf0
add eax, 0x3eb037c
jns 0x10015552
xor eax, 3
add eax, 4
xor eax, 5
jl 0x100154dd
jmp 0x100154df
je 0x100154da
sti
clc
jae 0x100154e4
stc
jns 0x10015559
je 0x100154e9
add esi, dword [ebp + 1]
jne 0x100154e9
jns 0x10015550
pushf
pushfd
push 0xa
jae 0x100154f6
jmp 0x100154f1
call 0x100154f8
jae 0x100154f1
add esp, 4
jmp 0x100154fd
dec dword [esp]
jno 0x10015502
jns 0x100154ed
jp 0x10015506
add esp, 4
popf
jmp 0x1001550d
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x10015526
jne 0x10015526
call 0x1fc1887a
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 0x10016c10
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
xor eax, eax
test eax, eax
je 0x10015555
jne 0x10015554
call 0x930545dc
xor eax, 3
add eax, 4
xor eax, 5
jl 0x10015563
rol byte [ebx + eax*4], 0xf0
add eax, 0x3eb037c
inc edx
jmp 0x10015565
je 0x10015560
clc
jae 0x1001556a
mov dword [0x75037442], eax
add dword [edx + 0x66], eax
pushfd
je 0x1001556f
jne 0x1001556f
inc edx
pushf
push 0xa
jae 0x1001557c
jmp 0x10015577
call 0x1001557e
jae 0x10015577
add esp, 4
jmp 0x10015583
dec dword [esp]
jno 0x10015588
jns 0x10015573
jp 0x1001558c
add esp, 4
popf
jmp 0x10015593
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x100155ac
jne 0x100155ac
call 0x1fc18900
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 0x10016c80
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
xor eax, eax
test eax, eax
je 0x100155db
jne 0x100155da
call 0x93054662
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 0x100155e9
jmp 0x100155eb
je 0x100155e6
clc
jae 0x100155f0
dec ebp
or esi, dword [ebx + eax + 0x75]
add dword [ebx], ecx
je 0x100155f5
jne 0x100155f5
or esp, dword [esi - 0x64]
pushf
push 0xa
jae 0x10015602
jmp 0x100155fd
call 0x10015604
jae 0x100155fd
add esp, 4
jmp 0x10015609
dec dword [esp]
jno 0x1001560e
jns 0x100155f9
jp 0x10015612
add esp, 4
popf
jmp 0x10015619
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x10015632
jne 0x10015632
call 0x1fc18986
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 0x10016d60
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
xor eax, eax
test eax, eax
je 0x10015661
jne 0x10015660
call 0x930546e8
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 0x1001566f
jmp 0x10015671
je 0x1001566c
clc
jae 0x10015676
hlt
je 0x1001567b
jne 0x1001567b
shl dword [esi - 0x64], 1
pushf
push 0xa
jae 0x10015688
jmp 0x10015683
call 0x1001568a
jae 0x10015683
add esp, 4
jmp 0x1001568f
dec dword [esp]
jno 0x10015694
jns 0x1001567f
jp 0x10015698
add esp, 4
popf
jmp 0x1001569f
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x100156b8
jne 0x100156b8
call 0x1fc18a0c
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