Function at 0x10015128
Capabilities:
Create thread

Disassembly:
jae 0x10014ed7
jmp 0x10014ed2
call fcn.10014ed9
jae 0x10014ed2
add esp, 4
jmp 0x10014ede
dec dword [esp]
jno 0x10014ee3
jns 0x10014ece
jp 0x10014ee7
add esp, 4
popf
jmp 0x10014eee
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x10014f07
jne 0x10014f07
call 0x1fc1825b
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 0x10016e50
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
xor eax, eax
test eax, eax
je 0x10014f36
jne 0x10014f35
call 0x93053fbd
rol byte [ebx + eax*4], 0xf0
add eax, 0x3eb037c
bnd je 0x10014f41
xor eax, 3
add eax, 4
xor eax, 5
jl 0x10014f44
jmp 0x10014f46
je 0x10014f41
clc
jae 0x10014f4b
imul esi, edx, 0x74
add esi, dword [ebp + 1]
je 0x10014f50
jne 0x10014f50
pushf
pushf
push 0xa
jae 0x10014f5d
jmp 0x10014f58
call 0x10014f5f
jae 0x10014f58
add esp, 4
jmp 0x10014f64
dec dword [esp]
jno 0x10014f69
jns 0x10014f54
jp 0x10014f6d
add esp, 4
popf
jmp 0x10014f74
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x10014f8d
jne 0x10014f8d
call 0x1fc182e1
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
test eax, eax
je 0x10014fa7
jne 0x10014fa6
call 0x9305402e
rol byte [ebx + eax*4], 0xf0
add eax, 0x3eb037c
mov ebx, 0x73f8fb74
add dl, byte [0x750374bb]
xor eax, 3
add eax, 4
xor eax, 5
jl 0x10014fb5
jmp 0x10014fb7
je 0x10014fb2
clc
jae 0x10014fbc
adc eax, 0x750374bb
je 0x10014fc1
jne 0x10014fc1
add dword [ebx + 0xa6a9c66], edi
mov ebx, 0xa6a9c66
pushf
push 0xa
jae 0x10014fce
jmp 0x10014fc9
call 0x10014fd0
jae 0x10014fc9
add esp, 4
jmp 0x10014fd5
dec dword [esp]
jno 0x10014fda
jns 0x10014fc5
jp 0x10014fde
add esp, 4
popf
jmp 0x10014fe5
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x10014ffe
jne 0x10014ffe
call 0x1fc18352
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.1000f150
xor eax, eax
test eax, eax
je 0x1001501d
jne 0x1001501c
call 0x930540a4
rol byte [ebx + eax*4], 0xf0
add eax, 0x3eb037c
dec ebp
xor eax, 3
add eax, 4
xor eax, 5
jl 0x1001502b
jmp 0x1001502d
je 0x10015028
clc
jae 0x10015032
dec bp
je 0x10015037
jne 0x10015037
dec ebp
pushf
push 0xa
jae 0x10015044
jmp 0x1001503f
call 0x10015046
jae 0x1001503f
add esp, 4
jmp 0x1001504b
dec dword [esp]
jno 0x10015050
jns 0x1001503b
jp 0x10015054
add esp, 4
popf
jmp 0x1001505b
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x10015074
jne 0x10015074
call 0x1fc183c8
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
test eax, eax
je 0x1001508e
jne 0x1001508d
call 0x93054115
rol byte [ebx + eax*4], 0xf0
add eax, 0x3eb037c
outsb dx, byte [esi]
xor eax, 3
add eax, 4
xor eax, 5
jl 0x1001509c
jmp 0x1001509e
je 0x10015099
clc
jae 0x100150a3
or ebp, dword [esi + 0x74]
add esi, dword [ebp + 1]
je 0x100150a8
jne 0x100150a8
outsb dx, byte [esi]
pushf
push 0xa
jae 0x100150b5
jmp 0x100150b0
call 0x100150b7
jae 0x100150b0
add esp, 4
jmp 0x100150bc
dec dword [esp]
jno 0x100150c1
jns 0x100150ac
jp 0x100150c5
add esp, 4
popf
jmp 0x100150cc
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x100150e5
jne 0x100150e5
call 0x1fc18439
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
test eax, eax
je 0x100150ff
jne 0x100150fe
call 0x93054186
rol byte [ebx + eax*4], 0xf0
add eax, 0x3eb037c
aaa
xor eax, 3
add eax, 4
xor eax, 5
jl 0x1001510d
jmp 0x1001510f
je 0x1001510a
clc
jae 0x10015114
mov dl, 0x37
je 0x10015119
jne 0x10015119
aaa
pushf
push 0xa
jae 0x10015126
jmp 0x10015121
call 0x10015128
jae 0x10015121
add esp, 4
jmp 0x1001512d
dec dword [esp]
jno 0x10015132
jns 0x1001511d
jp 0x10015136
add esp, 4
popf
jmp 0x1001513d
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x10015156
jne 0x10015156
call 0x1fc184aa
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 0x100169f0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
xor eax, eax
test eax, eax
je 0x10015185
jne 0x10015184
call 0x9305420c
rol byte [ebx + eax*4], 0xf0
add eax, 0x3eb037c
add byte [ebx + edi*8 - 8], dh
xor eax, 3
add eax, 4
xor eax, 5
jl 0x10015193
jmp 0x10015195
je 0x10015190
clc
jae 0x1001519a
pop esp
add byte [ebx + eax + 0x75], dh
add dword [eax], eax
je 0x1001519f
jne 0x1001519f
add byte [esi - 0x64], ah
pushf
push 0xa
jae 0x100151ac
jmp 0x100151a7
call 0x100151ae
jae 0x100151a7
add esp, 4
jmp 0x100151b3
dec dword [esp]
jno 0x100151b8
jns 0x100151a3
jp 0x100151bc
add esp, 4
popf
jmp 0x100151c3
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x100151dc
jne 0x100151dc
call 0x1fc18530
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 0x10016d40
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
xor eax, eax
test eax, eax
je 0x1001520b
jne 0x1001520a
call 0x93054292
rol byte [ebx + eax*4], 0xf0
add eax, 0x3eb037c
invalid
xor eax, 3
add eax, 4
xor eax, 5
jl 0x10015219
jmp 0x1001521b
je 0x10015216
clc
jae 0x10015220
push es
invalid
je 0x10015225
jne 0x10015225
invalid
pushf
push 0xa
jae 0x10015232
jmp 0x1001522d
call 0x10015234
jae 0x1001522d
add esp, 4
jmp 0x10015239
dec dword [esp]
jno 0x1001523e
jns 0x10015229
jp 0x10015242
add esp, 4
popf
jmp 0x10015249
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x10015262
jne 0x10015262
call 0x1fc185b6
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 0x10016a30
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
xor eax, eax
test eax, eax
je 0x10015291
jne 0x10015290
call 0x93054318
rol byte [ebx + eax*4], 0xf0
add eax, 0x3eb037c
invalid
xor eax, 3
add eax, 4
xor eax, 5
jl 0x1001529f
jmp 0x100152a1
je 0x1001529c
clc
jae 0x100152a6
lodsd eax, dword [esi]
invalid
je 0x100152ab
jne 0x100152ab
invalid
pushf
push 0xa
jae 0x100152b8
jmp 0x100152b3
call 0x100152ba
jae 0x100152b3
add esp, 4
jmp 0x100152bf
dec dword [esp]
jno 0x100152c4
jns 0x100152af
jp 0x100152c8
add esp, 4
popf
jmp 0x100152cf
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x100152e8
jne 0x100152e8
call 0x1fc1863c
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 0x10016aa0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
xor eax, eax
test eax, eax
je 0x10015317
jne 0x10015316
call 0x9305439e
rol byte [ebx + eax*4], 0xf0
add eax, 0x3eb037c
mov al, 0x74
sti
clc
jae 0x1001532c
xor eax, 3
add eax, 4
xor eax, 5
jl 0x10015325
jmp 0x10015327
je 0x10015322