Function at 0x100219b0
Capabilities:
Create thread

Disassembly:
jae 0x100219ae
jmp 0x100219a9
call fcn.100219b0
jae 0x100219a9
add esp, 4
jmp 0x100219b5
dec dword [esp]
jno 0x100219ba
jns 0x100219a5
jp 0x100219be
add esp, 4
popf
jmp 0x100219c5
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x100219de
jne 0x100219de
call 0x1fc24d32
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 0x10022e10
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
clc
jae 0x10021a09
test al, 0xe7
pushf
push 0xa
jae 0x10021a16
jmp 0x10021a11
call 0x10021a18
jae 0x10021a11
add esp, 4
jmp 0x10021a1d
dec dword [esp]
jno 0x10021a22
jns 0x10021a0d
jp 0x10021a26
add esp, 4
popf
jmp 0x10021a2d
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x10021a46
jne 0x10021a46
out 0x7c, eax
add ebp, ebx
add esp, edi
jl 0x10021a4b
jmp 0x10021a4d
je 0x10021a48
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 0x10021a67
jne 0x10021a66
call 0x93060aee
rol byte [ebx + eax*4], 0xf0
add eax, 0x1750374
xor eax, 3
add eax, 4
xor eax, 5
je 0x10021a75
jne 0x10021a75
call 0xd56a040
invalid
mov dword [ebp - 0x2ac], 0
mov dword [ebp - 0x2b0], 0
mov dword [ebp - 0x2b4], 0
clc
jae 0x10021a98
cdq
pushf
pushf
push 0xa
jae 0x10021aa5
jmp 0x10021aa0
call 0x10021aa7
jae 0x10021aa0
add esp, 4
jmp 0x10021aac
dec dword [esp]
jno 0x10021ab1
jns 0x10021a9c
jp 0x10021ab5
add esp, 4
popf
jmp 0x10021abc
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x10021ad5
jne 0x10021ad5
bnd jl 0x10021ada
jl 0x10021ada
jmp 0x10021adc
je 0x10021ad7
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 0x10021af6
jne 0x10021af5
call 0x93060b7d
rol byte [ebx + eax*4], 0xf0
add eax, 0x1750374
xor eax, 3
add eax, 4
xor eax, 5
je 0x10021b04
jne 0x10021b04
call 0xc82a0cf
invalid
mov dword [ebp - 0x380], 0
mov dword [ebp - 0x2bc], 0
xor eax, eax
test eax, eax
je 0x10021b21
jne 0x10021b20
call 0x93060ba8
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 0x10021b2f
jmp 0x10021b31
je 0x10021b2c
clc
jae 0x10021b36
sbb byte [ecx], ah
je 0x10021b3b
jne 0x10021b3b
and dword [esi - 0x64], esp
pushf
push 0xa
jae 0x10021b48
jmp 0x10021b43
call 0x10021b4a
jae 0x10021b43
add esp, 4
jmp 0x10021b4f
dec dword [esp]
jno 0x10021b54
jns 0x10021b3f
jp 0x10021b58
add esp, 4
popf
jmp 0x10021b5f
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x10021b78
jne 0x10021b78
call 0x1fc24ecc
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 - 0x2c0], 0
mov dword [ebp - 0x2c4], 0
clc
jae 0x10021ba2
invalid
pushf
push 0xa
jae 0x10021baf
jmp 0x10021baa
call 0x10021bb1
jae 0x10021baa
add esp, 4
jmp 0x10021bb6
dec dword [esp]
jno 0x10021bbb
jns 0x10021ba6
jp 0x10021bbf
add esp, 4
popf
jmp 0x10021bc6
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x10021bdf
jne 0x10021bdf
movsd dword es:[edi], dword [esi]
jl 0x10021be4
jmp 0x10021be6
je 0x10021be1
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 0x10021c00
jne 0x10021bff
call 0x93060c87
rol byte [ebx + eax*4], 0xf0
add eax, 0x1750374
xor eax, 3
add eax, 4
xor eax, 5
je 0x10021c0e
jne 0x10021c0e
call 0xd3aa1d9
invalid
mov dword [ebp - 0x2c8], 0
mov dword [ebp - 0x2cc], 0
xor eax, eax
test eax, eax
je 0x10021c2b
jne 0x10021c2a
call 0x93060cb2
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 0x10021c39
jmp 0x10021c3b
je 0x10021c36
clc
jae 0x10021c40
push cs
sal dword [ebx + eax + 0x75], 1
add ecx, edx
je 0x10021c45
jne 0x10021c45
shl dword [esi - 0x64], 1
pushf
push 0xa
jae 0x10021c52
jmp 0x10021c4d
call 0x10021c54
jae 0x10021c4d
add esp, 4
jmp 0x10021c59
dec dword [esp]
jno 0x10021c5e
jns 0x10021c49
jp 0x10021c62
add esp, 4
popf
jmp 0x10021c69
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x10021c82
jne 0x10021c82
call 0x1fc24fd6
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 - 0x2d0], 0
mov dword [ebp - 0x2d4], 0
mov dword [ebp - 0x2d8], 0
clc
jae 0x10021cb6
pop edi
arpl word [esi - 0x64], sp
pushf
push 0xa
jae 0x10021cc3
jmp 0x10021cbe
call 0x10021cc5
jae 0x10021cbe
add esp, 4
jmp 0x10021cca
dec dword [esp]
jno 0x10021ccf
jns 0x10021cba
jp 0x10021cd3
add esp, 4
popf
jmp 0x10021cda
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x10021cf3
jne 0x10021cf3
arpl word [ebx + eax - 0x15], di
add esp, dword [ebx + 0x74]
sti
jl 0x10021cf8
jmp 0x10021cfa
je 0x10021cf5
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 0x10021d14
jne 0x10021d13
call 0x93060d9b
rol byte [ebx + eax*4], 0xf0
add eax, 0x1750374
xor eax, 3
add eax, 4
xor eax, 5
je 0x10021d22
jne 0x10021d22
call 0xd4aa2ed
invalid
mov dword [ebp - 0x2b8], 0
mov dword [ebp - 0x374], 0
mov dword [ebp - 0x378], 0
clc
jae 0x10021d45
rol dword [edx + 0x66], 1
pushfd
pushf
push 0xa
jae 0x10021d52
jmp 0x10021d4d
call 0x10021d54
jae 0x10021d4d
add esp, 4
jmp 0x10021d59
dec dword [esp]
jno 0x10021d5e
jns 0x10021d49
jp 0x10021d62
add esp, 4
popf
jmp 0x10021d69
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x10021d82
jne 0x10021d82
inc edx
jl 0x10021d87
jmp 0x10021d89
je 0x10021d84
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 0x10021da3
jne 0x10021da2
call 0x93060e2a
rol byte [ebx + eax*4], 0xf0
add eax, 0x1750374
xor eax, 3
add eax, 4
xor eax, 5
je 0x10021db1
jne 0x10021db1
call 0x171a1a6d
mov ebp, 0xd88d8d50
invalid
mov eax, 0xbd0717fc
push eax
lea ecx, [ebp - 0x128]
call 0x10020fb0
mov dword [ebp - 0x2dc], eax
mov ecx, dword [ebp - 0x2dc]
mov dword [ebp - 0x2e0], ecx
mov dword [ebp - 4], 0
mov edx, dword [ebp - 0x2e0]
push edx
call fcn.10023480
add esp, 4
mov dword [ebp - 0x310], eax
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x278], 0
jmp 0x10021e12
mov eax, dword [ebp - 0x278]
add eax, 1
mov dword [ebp - 0x278], eax
cmp dword [ebp - 0x278], 0x30
jge 0x10021e2b
mov ecx, dword [ebp - 0x278]
mov byte [ebp + ecx - 0x128], 0
jmp 0x10021e03
xor eax, eax
test eax, eax
je 0x10021e34
jne 0x10021e33
call 0x93060ebb
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 0x10021e42
jmp 0x10021e44
je 0x10021e3f
clc
jae 0x10021e49
jbe 0x10021eac
je 0x10021e4e
jne 0x10021e4e
arpl word [esi - 0x64], sp
pushf
push 0xa
jae 0x10021e5b
jmp 0x10021e56
call 0x10021e5d
jae 0x10021e56
add esp, 4
jmp 0x10021e62
dec dword [esp]
jno 0x10021e67
jns 0x10021e52
jp 0x10021e6b
add esp, 4
popf
jmp 0x10021e72
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x10021e8b
jne 0x10021e8b
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, 0x9d2b2622
push edx
lea ecx, [ebp - 0x68]
call fcn.10020db0
mov dword [ebp - 0x2e4], eax
mov eax, dword [ebp - 0x2e4]
mov dword [ebp - 0x36c], eax
mov dword [ebp - 4], 1
mov ecx, dword [ebp - 0x36c]
push ecx
call fcn.10023480
add esp, 4
mov dword [ebp - 0x314], eax
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x27c], 0
jmp 0x10021efa
sbb al, 0xfd
invalid