Function at 0x490190
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x13cc
call fcn.00571390
mov eax, dword [0x5a8ba4]
test eax, eax
push ebx
push esi
push edi
mov dword [esp + 0x14], edx
mov ebx, ecx
je 0x4907bb
cmp eax, ebx
je 0x4901cd
mov eax, dword [eax + 0x4bc]
test eax, eax
jne 0x4901b6
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [ebx + 0x488]
test eax, eax
jne 0x4907bb
mov esi, 1
push 0
mov dword [ebx + 0x488], esi
call fcn.00570bc6
mov ecx, dword [ebx + 0x490]
add esp, 4
cmp eax, ecx
mov dword [ebx + 0x494], eax
jne 0x490207
inc ecx
mov dword [ebx + 0x494], ecx
mov eax, dword [ebx + 0x464]
test eax, eax
je 0x490221
cmp dword [ebx + 0x458], eax
jae 0x490221
mov dword [ebx + 0x44c], esi
jmp 0x490231
mov dword [ebx + 0x440], 9
mov dword [ebx + 0x448], esi
mov ecx, ebx
call fcn.0048f840
mov eax, dword [ebp + 8]
cmp byte [eax], 0
je 0x49024d
push eax
push esi
push esi
push esi
mov edx, esi
mov ecx, ebx
call fcn.00536d90
mov ecx, dword [ebx]
or edi, 0xffffffff
mov dword [ebx + 0x478], edi
call fcn.00542c90
mov ecx, eax
call fcn.00527d80
mov ecx, ebx
call fcn.0048f8c0
mov ecx, dword [ebx]
call fcn.00542c90
xor edx, edx
mov ecx, eax
call fcn.00534c30
mov eax, dword [ebx + 0x448]
test eax, eax
mov dword [esp + 0x10], esi
mov byte [esp + 0x400], 0
mov byte [esp + 0x7e8], 0
je 0x4903ad
mov eax, dword [ebx + 0x464]
test eax, eax
jbe 0x4902d5
mov ecx, dword [ebx + 0x494]
sub ecx, dword [ebx + 0x490]
cmp ecx, esi
jae 0x4902b9
mov ecx, esi
mov edx, dword [ebx + 0x468]
mov eax, dword [ebx + 0x458]
cmp edx, eax
ja 0x4902cb
sub eax, edx
xor edx, edx
div ecx
mov dword [ebx + 0x46c], eax
mov eax, dword [0x59b1b4]
test eax, eax
je 0x4902ea
mov edx, 0x1e
mov ecx, ebx
call fcn.0048f710
mov eax, dword [ebx + 0x43c]
cmp eax, edi
je 0x4902fb
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebx + 0x43c], edi
mov eax, dword [0x5ae60c]
test eax, eax
je 0x49036b
xor eax, eax
mov ecx, 0x201
lea edi, [esp + 0xbd0]
rep stosd dword es:[edi], eax
lea eax, [ebx + 0x234]
push eax
lea ecx, [ebx + 0x130]
push ecx
lea edx, [esp + 0xc04]
push 0x583954
push edx
mov dword [esp + 0xbe4], ebx
call dword [sym.imp.USER32.dll_wsprintfA]
mov ecx, dword [ebx + 0x4b8]
add esp, 0x10
lea eax, [esp + 0xbd0]
push eax
push 0
push 0
push 0x19
push str.FILERCVD
push 0
xor edx, edx
call fcn.0050e610
mov dword [esp + 0x10], eax
push 0
lea edi, [ebx + 0x234]
push 1
lea edx, [esp + 0x408]
mov ecx, edi
call fcn.004810d0
push edi
lea esi, [ebx + 0x130]
push esi
lea ecx, [esp + 0x7f0]
push 0x583954
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
mov ecx, esi
call fcn.004d3f10
jmp 0x490483
mov eax, dword [0x59b1b4]
test eax, eax
je 0x4903c2
mov edx, 0x1d
mov ecx, ebx
call fcn.0048f710
mov eax, dword [0x59bcd4]
test eax, eax
je 0x490402
mov eax, dword [0x5adb4c]
cmp eax, esi
jne 0x4903e1
mov ecx, dword [0x59bcd8]
call fcn.0041d4f0
jmp 0x490402
cmp eax, 2
jne 0x490402
mov edx, dword [ebx + 0x4b8]
push edx
xor edx, edx
mov ecx, 7
call fcn.004772b0
mov edx, esi
mov ecx, eax
call fcn.00520010
mov eax, dword [ebx + 0x43c]
cmp eax, edi
je 0x490413
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebx + 0x43c], edi
mov eax, dword [0x5ae60c]
test eax, eax
je 0x490483
xor eax, eax
mov ecx, 0x201
lea edi, [esp + 0xbd0]
rep stosd dword es:[edi], eax
lea eax, [ebx + 0x234]
push eax
lea ecx, [ebx + 0x130]
push ecx
lea edx, [esp + 0xc04]
push 0x583954
push edx
mov dword [esp + 0xbe4], ebx
call dword [sym.imp.USER32.dll_wsprintfA]
mov ecx, dword [ebx + 0x4b8]
add esp, 0x10
lea eax, [esp + 0xbd0]
push eax
push 0
push 0
push 0x1b
push str.GETFAIL
push 0
xor edx, edx
call fcn.0050e610
mov dword [esp + 0x10], eax
mov ecx, ebx
call fcn.0048f680
test eax, eax
je 0x4907bb
mov esi, dword [ebx]
mov ecx, dword [ebx + 0x4b8]
mov dword [esp + 0xc], esi
call fcn.004e2760
test eax, eax
je 0x4904b3
mov ecx, dword [ebx + 0x4b8]
mov esi, dword [ecx]
mov dword [esp + 0xc], esi
mov eax, dword [ebx + 0x448]
lea edx, [ebx + 4]
push edx
xor edx, edx
test eax, eax
je 0x490657
lea eax, [ebx + 0x234]
push eax
mov ecx, 0xb6b
call fcn.0041d620
push eax
lea ecx, [esp + 0x24]
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
lea edi, [esp + 0x28]
add esp, 0x10
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4904f0
mov dx, word [0x583b7c]
mov al, byte [0x583b7e]
mov word [edi], dx
mov byte [edi + 2], al
mov eax, dword [ebx + 0x490]
test eax, eax
jle 0x490576
mov edx, dword [ebx + 0x494]
sub edx, eax
cmp edx, 1
jae 0x490526
mov edx, 1
push 1
mov ecx, 0x583b74
call fcn.0052d410
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x490534
lea edi, [esp + 0x18]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x490542
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x18]
dec edi
nop
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x490560
mov cx, word [0x5842b8]
mov esi, dword [esp + 0xc]
mov word [edi], cx
lea eax, [esp + 0x18]
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x490580
fild dword [ebx + 0x46c]
sub eax, edx
mov edx, dword [ebx + 0x46c]
test edx, edx
push 1
push 0
push 1
lea ecx, [esp + eax + 0x24]
jge 0x4905a9
fadd qword [0x584288]
sub esp, 8
mov edx, 1
fstp qword [esp]
call fcn.004f5d50
lea edi, [esp + 0x18]
dec edi
mov edi, edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4905c0
mov eax, dword [0x587bd8]
mov cl, byte [0x587bdc]
mov dword [edi], eax
mov byte [edi + 4], cl
lea edi, [esp + 0x18]
dec edi
lea ecx, [ecx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4905e0
mov dx, word [0x583b78]
mov word [edi], dx
mov eax, dword [esp + 0x10]
xor edi, edi
cmp eax, edi
je 0x490637
mov edx, dword [0x5a5504]
mov ecx, esi
call fcn.00502b10
mov eax, dword [0x5a5500]
push eax
lea edx, [esp + 0x1c]
mov ecx, esi
mov dword [0x59bcec], edi
mov dword [0x5ae23c], 1
call fcn.00502c40
mov edx, dword [0x5a5504]
mov ecx, esi
call fcn.00502b10
cmp dword [esp + 0x14], edi
jne 0x4906bb
cmp dword [ebx + 0x48c], edi
je 0x4906bb
mov ecx, dword [ebx]
push edi
push edi
push 0x10
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x490711
mov eax, dword [ebx + 0x440]
cmp eax, 5
jne 0x490687
lea eax, [ebx + 0x234]
push eax
mov ecx, 0x1008
call fcn.0041d620
push eax
lea ecx, [esp + 0x24]
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
jmp 0x4905f2
cmp eax, 4
lea eax, [ebx + 0x234]
push eax
jne 0x49069d
mov ecx, 0xb68
jmp 0x4904d3
mov ecx, 0xb69
call fcn.0041d620
push eax
lea ecx, [esp + 0x24]
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
jmp 0x4905f2
cmp dword [ebx + 0x448], edi
je 0x4906ca
mov ecx, 0xb6a
jmp 0x4906eb
mov eax, dword [ebx + 0x440]
cmp eax, 4
jne 0x4906dc
mov ecx, 0xb67
jmp 0x4906eb
cmp eax, 5
mov ecx, 0x1009
je 0x4906eb
mov ecx, 0xb60
xor edx, edx
call fcn.0041d620
push eax
push 1
push 1
push 1
mov edx, 1
mov ecx, ebx
call fcn.00536d90
mov edx, 1
mov ecx, ebx
call fcn.0048fa10
mov al, byte [esp + 0x400]
test al, al
je 0x4907bb
cmp al, 0x2f
jne 0x49074e
mov edx, dword [ebx + 0x4b8]
mov ecx, dword [ebx]
push edx
push edi
push edi
push 1
lea eax, [esp + 0x7f8]
push eax
lea edx, [esp + 0x414]
call fcn.0043e080
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [0x5b4314]
push 5
push 0x5a9798
lea ecx, [esp + 0x7f0]
push ecx
lea edx, [esp + 0x40c]
push edx
push edi
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
cmp eax, 0x20
ja 0x4907bb
lea ecx, [esp + 0x400]
push ecx
xor edx, edx
mov ecx, 0xb6c
mov dword [0x59bcec], edi
mov dword [0x5ae23c], 1
call fcn.0041d620
push eax
lea edx, [esp + 0x20]
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
mov eax, dword [0x5a5504]
mov ecx, dword [ebx]
add esp, 0xc
push eax
lea edx, [esp + 0x1c]
call fcn.00503ad0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4