Function at 0x484750
Capabilities:
Create process on windows

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x49703c
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x130
mov eax, dword [0x4be034]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, edx
mov dword [ebp - 0x100], edi
mov byte [ebp - 0xe1], cl
mov eax, dword [ebx + 8]
mov esi, dword [ebx + 0xc]
mov dword [ebp - 0x104], eax
xor eax, eax
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 7
mov word [ebp - 0x2c], ax
mov dword [ebp - 4], eax
mov ecx, edi
cmp dword [edi + 0x14], 8
jb 0x4847d3
mov ecx, dword [edi]
call fcn.0040a6f9
test al, al
je 0x484944
lea eax, [ebp - 0x2c]
cmp eax, edi
je 0x48516b
cmp dword [edi + 0x14], 8
mov edx, edi
mov dword [ebp - 0xf4], edi
jb 0x484801
mov edx, dword [edi]
mov dword [ebp - 0xf4], edx
mov eax, dword [edi + 0x10]
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xfc], ecx
cmp eax, ecx
ja 0x48483d
lea esi, [eax + eax]
mov dword [ebp - 0x1c], eax
cmp ecx, 8
lea edi, [ebp - 0x2c]
push esi
cmovae edi, dword [ebp - 0x2c]
push edx
push edi
call fcn.00428c80
add esp, 0xc
xor eax, eax
mov word [esi + edi], ax
jmp 0x48516b
cmp eax, 0x7ffffffe
ja 0x48523f
mov esi, eax
or esi, 7
cmp esi, 0x7ffffffe
jbe 0x484861
mov esi, SysReAllocString
mov eax, 0xfffffffe
jmp 0x48489b
mov edx, ecx
mov eax, SysReAllocString
shr edx, 1
sub eax, edx
cmp ecx, eax
jbe 0x48487c
mov esi, SysReAllocString
mov eax, 0xfffffffe
jmp 0x48489b
lea eax, [ecx + edx]
cmp esi, eax
cmovb esi, eax
lea eax, [esi + 1]
cmp eax, 0x7fffffff
ja 0x485253
add eax, eax
cmp eax, 0x1000
jb 0x4848c2
lea ecx, [eax + 0x23]
cmp ecx, eax
jbe 0x485253
push ecx
call fcn.004272e4
add esp, 4
test eax, eax
je 0x485267
lea edi, [eax + 0x23]
and edi, 0xffffffe0
mov dword [edi - 4], eax
jmp 0x4848d5
test eax, eax
je 0x4848d3
push eax
call fcn.004272e4
add esp, 4
mov edi, eax
jmp 0x4848d5
xor edi, edi
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x1c], eax
lea esi, [eax + eax]
push esi
push dword [ebp - 0xf4]
push edi
call fcn.00428c80
xor eax, eax
add esp, 0xc
mov word [esi + edi], ax
mov eax, dword [ebp - 0xfc]
cmp eax, 8
jb 0x48493c
mov ecx, dword [ebp - 0x2c]
lea edx, [eax*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x48492d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x485267
push edx
push ecx
call fcn.004272b3
mov dword [ebp - 0x2c], edi
jmp 0x485168
mov dword [ebp - 0x2c], edi
jmp 0x48516b
cmp dword [esi + 0x14], 8
mov edi, dword [esi + 0x10]
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0xdc], edi
jb 0x48496a
mov esi, dword [esi]
mov ecx, SysReAllocString
cmp edi, 8
jae 0x4849a0
movups xmm0, xmmword [esi]
mov eax, 7
mov dword [ebp - 0x34], edi
mov dword [ebp - 0xfc], eax
movups xmmword [ebp - 0x44], xmm0
mov edi, dword [ebp - 0x44]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0xf8], edi
jmp 0x484a35
mov eax, edi
or eax, 7
cmp eax, 0x7ffffffe
cmova eax, ecx
mov dword [ebp - 0xfc], eax
inc eax
cmp eax, 0x7fffffff
ja 0x485253
add eax, eax
cmp eax, 0x1000
jb 0x4849ef
lea ecx, [eax + 0x23]
cmp ecx, eax
jbe 0x485253
push ecx
call fcn.004272e4
add esp, 4
test eax, eax
je 0x485267
lea edi, [eax + 0x23]
and edi, 0xffffffe0
mov dword [edi - 4], eax
jmp 0x484a02
test eax, eax
je 0x484a00
push eax
call fcn.004272e4
add esp, 4
mov edi, eax
jmp 0x484a02
xor edi, edi
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0xf8], edi
mov dword [ebp - 0x44], edi
lea eax, [eax*2 + 2]
push eax
push esi
push edi
call fcn.00428c80
mov eax, dword [ebp - 0xdc]
add esp, 0xc
mov ecx, dword [ebp - 0xfc]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], ecx
mov byte [ebp - 4], 1
test eax, eax
jne 0x48505e
cmp byte [ebp - 0xe1], al
je 0x48505e
xor esi, esi
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0xdc], esi
mov dword [ebp - 0x4c], esi
mov esi, 0xf
mov dword [ebp - 0xf4], esi
mov dword [ebp - 0x48], esi
mov byte [ebp - 0x5c], al
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 2
call fcn.00412b59
lea ecx, [ebp - 0x5c]
cmp ecx, eax
je 0x484ab2
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x5c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x4c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], esi
mov byte [eax], 0
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0xdc], eax
mov edx, dword [ebp - 0x78]
cmp edx, 0x10
jb 0x484ae9
mov ecx, dword [ebp - 0x8c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x484adf
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x485244
push edx
push ecx
call fcn.004272b3
add esp, 8
push 0x50
lea eax, [ebp - 0x74]
mov ecx, 0x4c2148
push eax
call fcn.00408313
mov esi, eax
mov byte [ebp - 4], 3
mov eax, dword [esi + 0x14]
mov ecx, eax
mov edx, dword [esi + 0x10]
sub ecx, edx
mov dword [ebp - 0xd8], edx
mov dword [ebp - 0xf0], eax
cmp ecx, 1
jb 0x484b47
cmp dword [ebp - 0xf0], 8
lea ecx, [edx + 1]
mov dword [esi + 0x10], ecx
mov eax, esi
jb 0x484b2d
mov eax, dword [esi]
mov edi, 0x3a
mov word [eax + edx*2], di
xor edx, edx
mov edi, dword [ebp - 0xf8]
mov word [eax + ecx*2], dx
jmp 0x484cf6
mov eax, SysReAllocString
sub eax, edx
cmp eax, 1
jb 0x485249
lea ecx, [edx + 1]
or ecx, 7
cmp ecx, 0x7ffffffe
jbe 0x484b77
mov eax, SysReAllocString
mov dword [ebp - 0xe8], eax
mov eax, 0xfffffffe
jmp 0x484bde
mov eax, dword [ebp - 0xf0]
shr eax, 1
mov dword [ebp - 0xe0], eax
mov eax, SysReAllocString
sub eax, dword [ebp - 0xe0]
cmp dword [ebp - 0xf0], eax
jbe 0x484baa
mov eax, SysReAllocString
mov dword [ebp - 0xe8], eax
mov eax, 0xfffffffe
jmp 0x484bde
mov eax, dword [ebp - 0xf0]
add eax, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xd8]
cmp ecx, eax
cmovb ecx, eax
mov dword [ebp - 0xe8], ecx
lea eax, [ecx + 1]
cmp eax, 0x7fffffff
ja 0x485253
add eax, eax
cmp eax, 0x1000
jb 0x484c13
lea ecx, [eax + 0x23]
cmp ecx, eax
jbe 0x485253
push ecx
call fcn.004272e4
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x48524e
mov edx, dword [ebp - 0xd8]
lea eax, [ecx + 0x23]
and eax, 0xffffffe0
mov dword [eax - 4], ecx
mov ecx, dword [ebp - 0xe8]
jmp 0x484c30
test eax, eax
je 0x484c2e
push eax
call fcn.004272e4
mov ecx, dword [ebp - 0xe8]
add esp, 4
mov edx, dword [ebp - 0xd8]
jmp 0x484c30
xor eax, eax
lea edi, [edx + 1]
mov dword [esi + 0x14], ecx
add edx, edx
mov dword [esi + 0x10], edi
cmp dword [ebp - 0xf0], 8
mov dword [ebp - 0xe0], eax
push edx
lea ecx, [edx + eax]
mov dword [ebp - 0xe8], ecx
lea ecx, [eax + edi*2]
mov edi, dword [ebp - 0xf8]
mov dword [ebp - 0xec], ecx
jb 0x484ccb
mov ecx, dword [esi]
push ecx
push eax
mov dword [ebp - 0xd8], ecx
call fcn.00428c80
mov eax, dword [ebp - 0xe8]
mov ecx, 0x3a
add esp, 0xc
mov word [eax], cx
xor ecx, ecx
mov eax, dword [ebp - 0xec]
mov word [eax], cx
mov eax, dword [ebp - 0xf0]
lea ecx, [eax*2 + 2]
mov eax, dword [ebp - 0xd8]
cmp ecx, 0x1000
jb 0x484cbf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48524e
mov eax, edx
push ecx
push eax
call fcn.004272b3
add esp, 8
jmp 0x484cee
push esi
push eax
call fcn.00428c80
mov eax, dword [ebp - 0xe8]
mov ecx, 0x3a
add esp, 0xc
mov word [eax], cx
xor ecx, ecx
mov eax, dword [ebp - 0xec]
mov word [eax], cx
mov eax, dword [ebp - 0xe0]
mov dword [esi], eax
movups xmm0, xmmword [esi]
xor eax, eax
movups xmmword [ebp - 0xa4], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x94], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x60]
cmp edx, 8
jb 0x484d5e
mov ecx, dword [ebp - 0x74]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x484d54
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48524e
push edx
push ecx
call fcn.004272b3
add esp, 8
xor eax, eax
mov dword [ebp - 0x64], 0
sub esp, 0x18
mov word [ebp - 0x74], ax
cmp dword [ebp - 0xf4], 0x10
lea ecx, [ebp - 0x5c]
mov esi, esp
mov dword [ebp - 0x60], 7
mov dword [esi], eax
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], eax
mov eax, dword [ebp - 0x5c]
cmovae ecx, eax
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0xec], ecx
cmp eax, 0x10
jae 0x484db3
movups xmm0, xmmword [ecx]
mov eax, 0xf
movups xmmword [esi], xmm0
jmp 0x484e27
or eax, 0xf
mov ecx, SysReAllocString
cmp eax, ecx
cmova eax, ecx
mov dword [ebp - 0xe0], eax
inc eax
cmp eax, 0x1000
jb 0x484df5
lea ecx, [eax + 0x23]
cmp ecx, eax
jbe 0x485253
push ecx
call fcn.004272e4
add esp, 4
test eax, eax
je 0x48525d
lea ecx, [eax + 0x23]
and ecx, 0xffffffe0
mov dword [ecx - 4], eax
jmp 0x484e08
test eax, eax
je 0x484e06
push eax
call fcn.004272e4
add esp, 4
mov ecx, eax
jmp 0x484e08
xor ecx, ecx
mov eax, dword [ebp - 0xdc]
inc eax
mov dword [esi], ecx
push eax
push dword [ebp - 0xec]
push ecx
call fcn.00428c80
mov eax, dword [ebp - 0xe0]
add esp, 0xc
mov ecx, dword [ebp - 0xdc]
mov dword [esi + 0x10], ecx
lea ecx, [ebp - 0xbc]
mov dword [esi + 0x14], eax
call fcn.004117c8
add esp, 0x18
mov edx, eax
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x8c]
call fcn.0040a3d8
mov esi, eax
mov byte [ebp - 4], 7
mov eax, SysReAllocString
mov ecx, dword [ebp - 0x94]
sub eax, ecx
cmp eax, 1
jb 0x485258
cmp dword [ebp - 0x90], 8
lea eax, [ebp - 0xa4]
push 1
cmovae eax, dword [ebp - 0xa4]
push 0x4aa4e0
push ecx
push eax
push ecx
push dword [ebp - 0x100]
lea ecx, [ebp - 0x74]
call fcn.00401c6e
push esi
lea eax, [ebp - 0x74]
mov byte [ebp - 4], 8
push eax
push dword [ebp - 0x100]
lea ecx, [ebp - 0xd4]
call fcn.00407c2e
mov eax, dword [ebp - 0xfc]
cmp eax, 8
jb 0x484eee
lea ecx, [eax*2 + 2]
mov eax, edi
cmp ecx, 0x1000
jb 0x484ee4
mov edi, dword [edi - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48525d
push ecx
push edi
call fcn.004272b3
add esp, 8
movups xmm0, xmmword [ebp - 0xd4]
movups xmmword [ebp - 0x44], xmm0
movq xmm0, qword [ebp - 0xc4]
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x60]
movq qword [ebp - 0x34], xmm0
cmp edx, 8
jb 0x484f44
mov ecx, dword [ebp - 0x74]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x484f3a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48525d
push edx
push ecx
call fcn.004272b3
add esp, 8
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x78]
cmp edx, 8
jb 0x484f85
mov ecx, dword [ebp - 0x8c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x484f7b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48525d
push edx
push ecx
call fcn.004272b3
add esp, 8
xor eax, eax
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0xa8]
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 7
mov word [ebp - 0x8c], ax
cmp edx, 0x10
jb 0x484fda
mov ecx, dword [ebp - 0xbc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x484fd0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x48525d
push edx
push ecx
call fcn.004272b3
add esp, 8
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x90]
cmp edx, 8
jb 0x48501e
mov ecx, dword [ebp - 0xa4]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x485014
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x485267
push edx
push ecx
call fcn.004272b3
add esp, 8
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0xf4]
cmp eax, 0x10
jb 0x48505e
mov edx, dword [ebp - 0xd8]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x485054
mov edx, dword [edx - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x485267
push ecx
push edx
call fcn.004272b3
add esp, 8
mov edx, dword [ebp - 0x100]
lea eax, [ebp - 0x44]
push eax
push dword [ebp - 0x104]
lea ecx, [ebp - 0xbc]
call fcn.00482cb0
mov esi, eax
add esp, 8
lea eax, [ebp - 0x2c]
cmp eax, esi
je 0x4850f1
mov edx, dword [ebp - 0x18]
cmp edx, 8
jb 0x4850bf
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4850b5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x485262
push edx
push ecx
call fcn.004272b3
add esp, 8
mov dword [ebp - 0x1c], 0
xor eax, eax
mov dword [ebp - 0x18], 7
mov word [ebp - 0x2c], ax
movups xmm0, xmmword [esi]
movups xmmword [ebp - 0x2c], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x1c], xmm0
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 7
mov word [esi], ax
mov edx, dword [ebp - 0xa8]
cmp edx, 8
jb 0x485131
mov ecx, dword [ebp - 0xbc]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x485127
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x485262
push edx
push ecx
call fcn.004272b3
add esp, 8
mov edx, dword [ebp - 0x30]
cmp edx, 8
jb 0x48516b
mov ecx, dword [ebp - 0x44]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x485161
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x485267
push edx
push ecx
call fcn.004272b3
add esp, 8
cmp dword [ebp - 0x18], 8
lea eax, [ebp - 0x2c]
xorps xmm0, xmm0
mov dword [ebp - 0x140], 0x3c
cmovae eax, dword [ebp - 0x2c]
mov dword [ebp - 0x130], eax
lea eax, [ebp - 0x140]
push eax
mov dword [ebp - 0x13c], 0
mov dword [ebp - 0x138], 0
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0x128], 0
mov dword [ebp - 0x124], 5
movups xmmword [ebp - 0x120], xmm0
mov dword [ebp - 0x108], 0
movq qword [ebp - 0x110], xmm0
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
mov edx, dword [ebp - 0x18]
cmp edx, 8
jb 0x485221
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x485217
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x485267
push edx
push ecx
call fcn.004272b3
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004272a5
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.0040206f
call fcn.004324bf
call fcn.0040206f
call fcn.004324bf
call fcn.004021c5
call fcn.0040206f
call fcn.004324bf
call fcn.004324bf
call fcn.004324bf
int3