Function at 0x1001567c
Capabilities:
Create thread

Disassembly:
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 0x10015070
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
clc
jae 0x100156a6
test al, 0xe7
pushf
push 0xa
jae 0x100156b3
jmp 0x100156ae
call 0x100156b5
jae 0x100156ae
add esp, 4
jmp 0x100156ba
dec dword [esp]
jno 0x100156bf
jns 0x100156aa
jp 0x100156c3
add esp, 4
popf
jmp 0x100156ca
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x100156e3
jne 0x100156e3
out 0x7c, eax
add ebp, ebx
add esp, edi
jl 0x100156e8
jmp 0x100156ea
je 0x100156e5
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 0x10015704
jne 0x10015703
call 0x9305478b
rol byte [ebx + eax*4], 0xf0
add eax, 0x1750374
xor eax, 3
add eax, 4
xor eax, 5
je 0x10015712
jne 0x10015712
call 0x10f19cdd
add byte [eax], al
add bh, al
inc ebp
in al, dx
add byte [eax], al
add byte [eax], al
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
clc
jae 0x1001572c
cdq
pushf
pushf
push 0xa
jae 0x10015739
jmp 0x10015734
call 0x1001573b
jae 0x10015734
add esp, 4
jmp 0x10015740
dec dword [esp]
jno 0x10015745
jns 0x10015730
jp 0x10015749
add esp, 4
popf
jmp 0x10015750
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x10015769
jne 0x10015769
bnd jl 0x1001576e
jl 0x1001576e
jmp 0x10015770
je 0x1001576b
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 0x1001578a
jne 0x10015789
call 0x93054811
rol byte [ebx + eax*4], 0xf0
add eax, 0x1750374
xor eax, 3
add eax, 4
xor eax, 5
je 0x10015798
jne 0x10015798
call 0xf29dd63
invalid
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0x20], 0
xor eax, eax
test eax, eax
je 0x100157b2
jne 0x100157b1
call 0x93054839
rol byte [ebx + eax*4], 0xf0
add eax, 0x3eb037c
and dword [ebx + edi*8 - 8], esi
xor eax, 3
add eax, 4
xor eax, 5
jl 0x100157c0
jmp 0x100157c2
je 0x100157bd
clc
jae 0x100157c7
sbb byte [ecx], ah
je 0x100157cc
jne 0x100157cc
and dword [esi - 0x64], esp
pushf
push 0xa
jae 0x100157d9
jmp 0x100157d4
call 0x100157db
jae 0x100157d4
add esp, 4
jmp 0x100157e0
dec dword [esp]
jno 0x100157e5
jns 0x100157d0
jp 0x100157e9
add esp, 4
popf
jmp 0x100157f0
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x10015809
jne 0x10015809
call 0x1fc18b5d
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
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x28], 0
clc
jae 0x1001582d
invalid
pushf
push 0xa
jae 0x1001583a
jmp 0x10015835
call 0x1001583c
jae 0x10015835
add esp, 4
jmp 0x10015841
dec dword [esp]
jno 0x10015846
jns 0x10015831
jp 0x1001584a
add esp, 4
popf
jmp 0x10015851
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x1001586a
jne 0x1001586a
movsd dword es:[edi], dword [esi]
jl 0x1001586f
jmp 0x10015871
je 0x1001586c
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 0x1001588b
jne 0x1001588a
call 0x93054912
rol byte [ebx + eax*4], 0xf0
add eax, 0x1750374
xor eax, 3
add eax, 4
xor eax, 5
je 0x10015899
jne 0x10015899
call 0x10d59e64
add byte [eax], al
add bh, al
inc ebp
rol byte [eax], 1
add byte [eax], al
add byte [ebx], dh
rol byte [ebp + 0x750374c0], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x30], 0
xor eax, eax
test eax, eax
je 0x100158b0
jne 0x100158af
call 0x93054937
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 0x100158be
jmp 0x100158c0
je 0x100158bb
clc
jae 0x100158c5
push cs
sal dword [ebx + eax + 0x75], 1
add ecx, edx
je 0x100158ca
jne 0x100158ca
shl dword [esi - 0x64], 1
pushf
push 0xa
jae 0x100158d7
jmp 0x100158d2
call 0x100158d9
jae 0x100158d2
add esp, 4
jmp 0x100158de
dec dword [esp]
jno 0x100158e3
jns 0x100158ce
jp 0x100158e7
add esp, 4
popf
jmp 0x100158ee
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x10015907
jne 0x10015907
call 0x1fc18c5b
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
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x3c], 0
clc
jae 0x10015932
pop edi
arpl word [esi - 0x64], sp
pushf
push 0xa
jae 0x1001593f
jmp 0x1001593a
call 0x10015941
jae 0x1001593a
add esp, 4
jmp 0x10015946
dec dword [esp]
jno 0x1001594b
jns 0x10015936
jp 0x1001594f
add esp, 4
popf
jmp 0x10015956
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x1001596f
jne 0x1001596f
arpl word [ebx + eax - 0x15], di
add esp, dword [ebx + 0x74]
sti
jl 0x10015974
jmp 0x10015976
je 0x10015971
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 0x10015990
jne 0x1001598f
call 0x93054a17
rol byte [ebx + eax*4], 0xf0
add eax, 0x1750374
xor eax, 3
add eax, 4
xor eax, 5
je 0x1001599e
jne 0x1001599e
call 0x10e59f69
add byte [eax], al
add bh, al
test dword [edi + edi*8], esp
invalid
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xe0], 0
clc
jae 0x100159be
rol dword [edx + 0x66], 1
pushfd
pushf
push 0xa
jae 0x100159cb
jmp 0x100159c6
call 0x100159cd
jae 0x100159c6
add esp, 4
jmp 0x100159d2
dec dword [esp]
jno 0x100159d7
jns 0x100159c2
jp 0x100159db
add esp, 4
popf
jmp 0x100159e2
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x100159fb
jne 0x100159fb
inc edx
jl 0x10015a00
jmp 0x10015a02
je 0x100159fd
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 0x10015a1c
jne 0x10015a1b
call 0x93054aa3
rol byte [ebx + eax*4], 0xf0
add eax, 0x1750374
xor eax, 3
add eax, 4
xor eax, 5
je 0x10015a2a
jne 0x10015a2a
call 0x16d3e6e6
mov ebp, 0x348d8d50
invalid
mov eax, 0xbd06d28c
push eax
lea ecx, [ebp - 0x1cc]
call 0x10016900
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x44], ecx
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x44]
call fcn.10014f60
mov dword [ebp - 0xa8], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1cc]
call fcn.100167f0
xor eax, eax
test eax, eax
je 0x10015a74
jne 0x10015a73
call 0x93054afb
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 0x10015a82
jmp 0x10015a84
je 0x10015a7f
clc
jae 0x10015a89
jbe 0x10015aec
je 0x10015a8e
jne 0x10015a8e
arpl word [esi - 0x64], sp
pushf
push 0xa
jae 0x10015a9b
jmp 0x10015a96
call 0x10015a9d
jae 0x10015a96
add esp, 4
jmp 0x10015aa2
dec dword [esp]
jno 0x10015aa7
jns 0x10015a92
jp 0x10015aab
add esp, 4
popf
jmp 0x10015ab2
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x10015acb
jne 0x10015acb
call 0x1fc18e1f
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
mov edx, 0x9d2ae0b2
push edx
lea ecx, [ebp - 0x13c]
call fcn.10016940
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 4], 1
add byte [ecx + 0x458bb845], cl
mov eax, 0xc7b44589
inc ebp
cld
add dword [eax], eax
add byte [eax], al
mov ecx, dword [ebp - 0x4c]
call fcn.10014f60
mov dword [ebp - 0xac], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x13c]
call fcn.1000e4a0
clc
jae 0x10015b22
and byte [esi], ch
pushfd
pushf
push 0xa
jae 0x10015b2f
jmp 0x10015b2a
call 0x10015b31
jae 0x10015b2a
add esp, 4
jmp 0x10015b36
dec dword [esp]
jno 0x10015b3b
jns 0x10015b26
jp 0x10015b3f
add esp, 4
popf
jmp 0x10015b46