Function at 0x5620a4
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x28
push 0
push 0
dec ecx
jne 0x5620ac
push ebx
push esi
push edi
mov esi, eax
xor eax, eax
push ebp
push 0x56259f
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x599f88]
mov eax, dword [eax]
cmp dword [eax + 8], 0
jle 0x562524
mov eax, dword [0x59a7e0]
mov eax, dword [eax]
call fcn.0040b5b4
mov eax, dword [0x599f88]
mov eax, dword [eax]
cmp dword [eax + 8], 0x64
jge 0x562107
mov eax, dword [0x599f88]
mov eax, dword [eax]
mov dl, 0x64
sub dl, byte [eax + 8]
mov cl, 1
mov eax, esi
call fcn.00560410
jmp 0x562112
mov cl, 1
xor edx, edx
mov eax, esi
call fcn.00560410
xor ecx, ecx
xor edx, edx
mov eax, esi
call fcn.00560410
mov eax, dword [0x599f88]
mov eax, dword [eax]
mov eax, dword [eax + 8]
dec eax
test eax, eax
jl 0x56253a
inc eax
mov dword [ebp - 0x18], eax
xor edi, edi
mov eax, dword [0x599f88]
mov eax, dword [eax]
mov edx, edi
call fcn.0041c7fc
mov ebx, eax
mov byte [ebp - 0x11], 0
movzx eax, byte [ebx + 0x25b]
dec al
je 0x56215e
sub al, 2
je 0x5621a6
jmp 0x562456
lea edx, [ebx + 0x3d]
lea eax, [ebp - 0xac]
call fcn.00403a54
lea edx, [ebx + 0xa2]
lea eax, [ebp - 0xac]
mov cl, 0x8c
call fcn.00403a24
lea edx, [ebp - 0xac]
lea eax, [ebp - 0x1c]
call fcn.00405638
mov eax, dword [ebp - 0x1c]
call fcn.0040ae60
test al, al
jne 0x562456
mov byte [ebp - 0x11], 1
jmp 0x562456
lea eax, [ebp - 0xb0]
lea edx, [ebx + 0xa2]
call fcn.00405638
mov eax, dword [ebp - 0xb0]
mov edx, 0x5625b8
call fcn.0040a0f4
test eax, eax
jne 0x5621e0
lea eax, [ebp - 4]
mov edx, dword [0x59a714]
mov edx, dword [edx]
call fcn.0040546c
jmp 0x5622dd
lea eax, [ebp - 0xb8]
lea edx, [ebx + 0xa2]
call fcn.00405638
mov eax, dword [ebp - 0xb8]
lea ecx, [ebp - 0xb4]
mov edx, 5
call fcn.00440a58
mov eax, dword [ebp - 0xb4]
mov edx, 0x5625c8
call fcn.004057fc
jne 0x5622ae
lea eax, [ebp - 0xc0]
lea edx, [ebx + 0xa2]
call fcn.00405638
mov eax, dword [ebp - 0xc0]
lea ecx, [ebp - 0xbc]
movzx edx, byte [ebx + 0xa2]
sub edx, 5
call fcn.00440a74
mov edx, dword [ebp - 0xbc]
mov eax, dword [0x59a4d8]
call fcn.00405428
lea eax, [ebp - 0xc4]
lea edx, [ebx + 0x3d]
call fcn.00405638
mov edx, dword [ebp - 0xc4]
mov ecx, dword [0x59a4d8]
mov ecx, dword [ecx]
lea eax, [ebp - 4]
call fcn.004056ec
mov eax, dword [0x59a4d8]
mov eax, dword [eax]
call fcn.0055f394
test al, al
jne 0x5622dd
push 6
push 0
push 0
mov eax, dword [0x59a4d8]
mov eax, dword [eax]
call fcn.00405864
push eax
push 0x5625d0
push 0
call sub.shell32.dll_ShellExecuteA
jmp 0x5622dd
lea edx, [ebx + 0x3d]
lea eax, [ebp - 0xac]
call fcn.00403a54
lea edx, [ebx + 0xa2]
lea eax, [ebp - 0xac]
mov cl, 0x8c
call fcn.00403a24
lea edx, [ebp - 0xac]
lea eax, [ebp - 4]
call fcn.00405638
mov edx, 0x5625d8
lea eax, [ebp - 0x110]
call fcn.00403a54
mov edx, ebx
lea eax, [ebp - 0x110]
mov cl, 0x45
call fcn.00403a24
lea edx, [ebp - 0x110]
lea eax, [ebp - 0xc8]
call fcn.00405638
mov edx, dword [ebp - 0xc8]
mov eax, esi
call fcn.00561898
lea eax, [ebp - 8]
lea edx, [ebx + 0x13a]
call fcn.00405638
mov byte [ebp - 0x11], 1
push esi
push 0x56185c
lea ecx, [ebp - 0x120]
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.0055f194
lea eax, [ebp - 0x120]
lea edx, [ebp - 0x10]
call fcn.0055f0ec
push 0
lea eax, [ebp - 0x124]
push eax
mov byte [ebp - 0x128], 0x3b
lea ecx, [ebp - 0x128]
lea edx, [ebp - 0xc]
mov eax, dword [ebp - 8]
call fcn.004ae764
mov edx, dword [ebp - 0x124]
lea eax, [ebp - 8]
call fcn.0040546c
cmp dword [ebp - 0xc], 0
je 0x562456
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
call fcn.0040a0f4
test eax, eax
jne 0x562350
lea eax, [ebp - 0x12c]
lea edx, [ebx + 0xa2]
call fcn.00405638
mov edx, dword [ebp - 0x12c]
mov eax, 0x5625ec
call fcn.004059b0
test eax, eax
jg 0x5623e2
lea eax, [ebp - 0x130]
lea edx, [ebx + 0xa2]
call fcn.00405638
mov edx, dword [ebp - 0x130]
mov eax, 0x5625fc
call fcn.004059b0
test eax, eax
jle 0x562452
lea edx, [ebx + 0x3d]
lea eax, [ebp - 0xac]
call fcn.00403a54
lea edx, [ebx + 0xa2]
lea eax, [ebp - 0xac]
mov cl, 0x8c
call fcn.00403a24
lea edx, [ebp - 0xac]
mov eax, dword [0x59a4d8]
call fcn.00405638
lea eax, [ebp - 0x134]
lea edx, [ebx + 0xa2]
call fcn.00405638
mov eax, dword [ebp - 0x134]
call fcn.0055f394
test al, al
jne 0x562452
push 6
push 0
push 0
mov eax, dword [0x59a4d8]
mov eax, dword [eax]
call fcn.00405864
push eax
push 0x5625d0
push 0
call sub.shell32.dll_ShellExecuteA
mov byte [ebp - 0x11], 0
cmp byte [ebp - 0x11], 0
je 0x5624b5
mov edx, 0x562604
lea eax, [ebp - 0x110]
call fcn.00403a54
mov edx, ebx
lea eax, [ebp - 0x110]
mov cl, 0x45
call fcn.00403a24
lea edx, [ebp - 0x110]
lea eax, [ebp - 0x138]
call fcn.00405638
mov edx, dword [ebp - 0x138]
mov eax, esi
call fcn.00561898
xor ecx, ecx
xor edx, edx
mov eax, esi
call fcn.00560410
mov edx, ebx
mov eax, esi
call fcn.00561b30
test al, al
je 0x562551
mov eax, dword [0x599f88]
mov eax, dword [eax]
mov ebx, dword [eax + 8]
cmp ebx, 0x64
jge 0x5624e0
mov eax, dword [0x599f88]
mov eax, dword [eax]
mov dl, 0x64
sub dl, byte [eax + 8]
mov eax, edi
add dl, al
inc edx
mov cl, 1
mov eax, esi
call fcn.00560410
jmp 0x562518
lea eax, [edi + 1]
mov dword [ebp - 0x13c], eax
fild dword [ebp - 0x13c]
mov eax, dword [0x599f88]
mov dword [ebp - 0x140], ebx
fild dword [ebp - 0x140]
fdivp st(1)
fmul dword [0x562610]
call fcn.004035fc
mov edx, eax
mov cl, 1
mov eax, esi
call fcn.00560410
inc edi
dec dword [ebp - 0x18]
jne 0x562136
jmp 0x56253a
mov cl, 1
mov dl, 0x64
mov eax, esi
call fcn.00560410
xor ecx, ecx
mov dl, 0x64
mov eax, esi
call fcn.00560410
xor ecx, ecx
mov dl, 0x64
mov eax, esi
call fcn.00560410
mov edx, 0x56261c
mov eax, esi
call fcn.00561898
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5625a6
lea eax, [ebp - 0x138]
mov edx, 4
call fcn.004053f8
lea eax, [ebp - 0x124]
call fcn.004053d4
lea eax, [ebp - 0xc8]
mov edx, 7
call fcn.004053f8
lea eax, [ebp - 0x1c]
call fcn.004053d4
lea eax, [ebp - 0x10]
mov edx, 4
call fcn.004053f8
ret