Function at 0x54af90
Capabilities:
Create process on windows

Disassembly:
sub esp, 0x84
mov eax, dword [0x5bd254]
xor eax, esp
mov dword [esp + 0x80], eax
push ebx
push ebp
push esi
push edi
mov esi, ecx
call dword [sym.imp.USER32.dll_GetActiveWindow]
xor ebx, ebx
mov eax, esi
mov byte [esp + 0x80], bl
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x54afc0
sub eax, edx
cmp eax, 0x1f4
jbe 0x54b0b2
push 0x582290
push esi
call fcn.00518570
mov ebp, eax
add esp, 8
cmp ebp, ebx
jne 0x54aff2
or eax, 0xffffffff
jmp 0x54b1fb
lea eax, [esp + 0x80]
push eax
call fcn.005732a7
lea ecx, [esp + 0x84]
push 0x583738
push ecx
call fcn.00515a07
mov edi, eax
add esp, 0xc
cmp edi, ebx
je 0x54afea
push edi
push ebp
call fcn.00572ed1
push edi
call fcn.005158c7
push 0x200
push esi
push 0x69d120
call fcn.00513780
push 0x582290
push 0x69d120
mov byte [0x69d31f], bl
call fcn.00517062
mov eax, 0x69d120
add esp, 0x20
add eax, 0xffffffff
mov cl, byte [eax + 1]
add eax, 1
cmp cl, bl
jne 0x54b057
mov dx, word [0x58cbb8]
mov cl, byte [0x58cbba]
mov word [eax], dx
mov byte [eax + 2], cl
lea eax, [esp + 0x80]
mov ecx, eax
lea ecx, [ecx]
mov dl, byte [eax]
add eax, 1
cmp dl, bl
jne 0x54b080
mov edi, 0x69d120
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
cmp cl, bl
jne 0x54b095
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, 0x69d120
xor eax, eax
push 0x44
lea edx, [esp + 0x40]
mov edi, 1
push ebx
push edx
mov dword [0x69d014], edi
mov dword [0x69d010], edi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
call fcn.00511e90
add esp, 0xc
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x40]
push ecx
push ebx
push ebx
push 0x30
push ebx
push ebx
push ebx
push esi
push ebx
mov dword [esp + 0x64], 0x44
mov dword [esp + 0x90], edi
mov word [esp + 0x94], bx
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
jne 0x54b172
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0x22
push esi
mov ebp, eax
mov dword [0x69d014], ebx
call fcn.00513950
add esp, 8
cmp eax, ebx
je 0x54b15c
lea ecx, [eax + 1]
mov edx, eax
sub edx, ecx
lea ecx, [ecx]
mov al, byte [ecx]
mov byte [edx + ecx], al
add ecx, edi
cmp al, bl
jne 0x54b140
push 0x22
push esi
call fcn.00513950
add esp, 8
cmp eax, ebx
je 0x54b15c
mov byte [eax], bl
push esi
push ebp
push 0xffffdc05
call sym.convertifd.exe_IpICMessage
add esp, 0xc
mov eax, edi
jmp 0x54b1fb
cmp dword [0x69d014], ebx
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
mov dword [0x69d11c], edx
mov dword [0x69d010], eax
je 0x54b1c9
mov ebp, dword [sym.imp.USER32.dll_GetMessageA]
mov esi, dword [sym.imp.USER32.dll_TranslateMessage]
mov edi, dword [sym.imp.USER32.dll_DispatchMessageA]
nop
push ebx
push ebx
push ebx
lea ecx, [esp + 0x2c]
push ecx
call ebp
test eax, eax
je 0x54b1c9
lea edx, [esp + 0x20]
push edx
call esi
lea eax, [esp + 0x20]
push eax
call edi
call fcn.0054ade0
cmp dword [0x69d014], ebx
jne 0x54b1a0
mov ecx, dword [esp + 0x14]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push ecx
call esi
mov edx, dword [esp + 0x10]
push edx
call esi
cmp byte [esp + 0x80], bl
je 0x54b1f6
lea eax, [esp + 0x80]
push eax
call fcn.00511b16
add esp, 4
mov eax, dword [0x69d010]
mov ecx, dword [esp + 0x90]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00511a80
add esp, 0x84
ret