Function at 0x41315b
Capabilities:
Create process on windows

Disassembly:
mov eax, dword [esp + 4]
sub esp, 0x1c
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov dword [esi + 8], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x4803b4], eax
mov eax, dword [0x47f884]
xor ebx, ebx
cmp eax, ebx
jle 0x41322b
cmp eax, 0x65
jge 0x41322b
cmp dword [0x47f888], ebx
jne 0x4131a2
cmp dword [0x47f88c], ebx
je 0x41322b
cmp eax, ebx
mov dword [0x47f8a0], ebx
mov dword [0x47f8a4], ebx
mov dword [esp + 0x30], ebx
jle 0x41322b
xor ebp, ebp
xor eax, eax
lea edi, [esp + 0x1c]
mov dword [esp + 0x18], ebx
stosd dword es:[edi], eax
mov eax, dword [0x47f880]
mov edi, 0x47f0b8
add eax, ebp
mov ecx, edi
push eax
call fcn.0041b99b
lea eax, [esp + 0x18]
push eax
mov eax, dword [0x47f880]
lea ecx, [eax + ebp]
call fcn.0041de81
push eax
mov ecx, 0x480318
call fcn.00410c67
mov eax, dword [esp + 0x18]
cmp eax, dword [0x47f8a0]
jle 0x413205
mov dword [0x47f8a0], eax
mov eax, dword [esp + 0x1c]
cmp eax, dword [0x47f8a4]
jle 0x413216
mov dword [0x47f8a4], eax
inc dword [esp + 0x30]
add ebp, 0xc
mov eax, dword [esp + 0x30]
cmp eax, dword [0x47f884]
jl 0x4131b8
jmp 0x413230
mov edi, 0x47f0b8
cmp byte [0x48038c], bl
je 0x4132a2
call fcn.00424ad5
call fcn.00424b52
call fcn.00424c10
call fcn.00424c40
call fcn.00424c70
call fcn.00424ca0
call fcn.00424d5d
call fcn.00424f20
call fcn.0042503a
call fcn.00425154
call fcn.00425212
mov ecx, edi
call fcn.0041a473
cmp byte [0x48038c], bl
je 0x4132a2
mov eax, dword [0x47f754]
cmp eax, dword [0x47f74c]
jb 0x4132a2
ja 0x41332f
mov eax, dword [0x47f750]
cmp eax, dword [0x47f748]
ja 0x41332f
push 3
pop ebp
cmp dword [0x47f438], ebp
jbe 0x4132cc
cmp dword [0x47f710], ebx
jne 0x4132cc
push ebx
mov ecx, 0x47f438
call fcn.0041de81
push eax
call fcn.0040e6d2
pop ecx
test al, al
pop ecx
je 0x41332f
mov ecx, edi
call fcn.0041b81d
push ebx
push ebx
mov ecx, esi
mov dword [0x47f758], 1
call fcn.00415ba7
mov ecx, esi
call fcn.00412ae6
test al, al
je 0x41332f
push 2
pop eax
test byte [0x47f28c], al
je 0x41330c
mov ecx, esi
mov dword [0x47f758], eax
call fcn.00411234
test al, al
je 0x41332f
test byte [0x47f28c], 4
je 0x413336
push ebx
push ebx
mov ecx, esi
mov dword [0x47f758], ebp
call fcn.00415ba7
mov ecx, esi
call fcn.00410f60
test al, al
jne 0x413336
xor al, al
jmp 0x413607
cmp byte [0x48038c], bl
mov ebp, dword [sym.imp.USER32.dll_SetWindowTextA]
mov edi, dword [sym.imp.USER32.dll_GetDlgItem]
mov dword [0x47f758], 4
jne 0x413369
mov ecx, 0x47ffe0
call fcn.0041de81
push eax
push 0x14
push dword [esi + 8]
call edi
push eax
call ebp
push ebx
push ebx
mov ecx, 0x47f9a0
call fcn.00415ba7
push ebx
push ebx
mov ecx, esi
call fcn.00415ba7
lea ecx, [esp + 0x20]
mov byte [0x47f939], 1
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebx
call fcn.0041cf28
mov dword [esp + 0x30], 0x47f480
mov eax, dword [esp + 0x30]
sub esp, 0xc
mov ecx, esp
mov eax, dword [eax]
mov dword [esp + 0x24], eax
lea eax, [esp + 0x2c]
push eax
call fcn.0041cffc
lea eax, [esp + 0x20]
mov ecx, esi
push eax
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x44]
push dword [esp + 0x30]
call fcn.004142d5
add dword [esp + 0x30], 0x44
cmp dword [esp + 0x30], 0x47f590
jl 0x41339e
cmp dword [esp + 0x10], ebx
jle 0x413403
push ebx
mov ecx, 0x47ffec
call fcn.0041de81
push eax
mov ecx, 0x47f0b8
push dword [esi + 8]
call fcn.0041c404
jmp 0x4135fc
cmp byte [0x48038c], bl
mov dword [0x47f758], 5
jne 0x41342a
mov ecx, 0x47fff8
call fcn.0041de81
push eax
push 0x14
push dword [esi + 8]
call edi
push eax
call ebp
push ebx
push ebx
mov ecx, esi
call fcn.00415ba7
mov ecx, esi
call fcn.0041414d
test al, al
jne 0x413457
push ebx
mov ecx, 0x480004
call fcn.0041de81
push eax
mov ecx, 0x47f0b8
push dword [esi + 8]
call fcn.0041c404
cmp byte [0x48038c], bl
mov dword [0x47f758], 6
jne 0x41347e
mov ecx, 0x480010
call fcn.0041de81
push eax
push 0x14
push dword [esi + 8]
call edi
push eax
call ebp
push ebx
push ebx
mov ecx, esi
call fcn.00415ba7
mov ecx, esi
call fcn.00413d46
cmp byte [0x48038c], bl
mov dword [0x47f758], 7
jne 0x4134b5
mov ecx, 0x48001c
call fcn.0041de81
push eax
push 0x14
push dword [esi + 8]
call edi
push eax
call ebp
push ebx
push ebx
mov ecx, esi
call fcn.00415ba7
mov ecx, esi
call fcn.004114fb
test al, al
jne 0x4134e2
push ebx
mov ecx, 0x480028
call fcn.0041de81
push eax
mov ecx, 0x47f0b8
push dword [esi + 8]
call fcn.0041c404
cmp byte [0x48038c], bl
mov dword [0x47f758], 8
jne 0x413509
mov ecx, 0x480034
call fcn.0041de81
push eax
push 0x14
push dword [esi + 8]
call edi
push eax
call ebp
push ebx
push ebx
mov ecx, esi
call fcn.00415ba7
push 0x47f648
mov ecx, esi
call fcn.00414c4a
push dword [esi + 8]
mov ecx, 0x47f8a8
call fcn.004241a8
test al, al
je 0x4135fc
push ebx
push 0x64
mov ecx, esi
call fcn.00415ba7
cmp dword [0x47f710], ebx
jne 0x413584
cmp dword [0x47f5a0], ebx
mov eax, dword [0x47f290]
jg 0x413559
test eax, 0x20000
jne 0x413584
cmp byte [0x48038c], bl
jne 0x4135d5
test eax, 0x10000
je 0x41358c
push 1
push 0x42f1c8
push ebx
mov ecx, esi
call fcn.0041250c
push eax
push str.open
push ebx
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
cmp byte [0x48038c], bl
jne 0x4135d5
mov ecx, 0x480318
call fcn.004107f2
push dword [0x47f278]
call dword [sym.imp.USER32.dll_GetDC]
push 0xcc0020
push ebx
push ebx
mov esi, eax
push dword [0x47f284]
push dword [0x47f274]
push dword [0x47f270]
push ebx
push ebx
push esi
call dword [sym.imp.GDI32.dll_BitBlt]
push esi
push dword [0x47f278]
call dword [sym.imp.USER32.dll_ReleaseDC]
jmp 0x4135e4
call fcn.00425242
call fcn.00425272
call fcn.00425323
cmp dword [0x47f710], ebx
jne 0x4135fa
push ebx
push ebx
push ebx
push 0x8000000
call dword [sym.imp.SHELL32.dll_SHChangeNotify]
mov bl, 1
lea ecx, [esp + 0x20]
call fcn.0041d05e
mov al, bl
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret 4