Function at 0x422721
Capabilities:
Accept command line arguments
Create process on windows
Create process suspended

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4b86a8
mov eax, dword fs:[0]
push eax
sub esp, 0x3f8
mov eax, dword [0x4f9004]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x3b8], edi
cmp byte [0x4feb10], 0
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp + 0x10]
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x3bc], eax
mov dword [ebp - 0x3c0], esi
je 0x422784
push 0
push str.PrometheusCreateProcess
call fcn.004463e2
add esp, 8
xor eax, eax
mov dword [ebp - 0x238], 0
mov dword [ebp - 0x234], 7
mov word [ebp - 0x248], ax
cmp dword [ebx + 0x14], 8
mov dword [ebp - 4], eax
mov byte [ebp - 0x3b1], al
mov eax, ebx
jb 0x4227b4
mov eax, dword [ebx]
push dword [0x4fb0b4]
push eax
call fcn.004142fa
add esp, 8
test eax, eax
je 0x42281e
cmp dword [ebx + 0x14], 8
mov eax, ebx
jb 0x4227d1
mov eax, dword [ebx]
push dword [0x4fb0b8]
push eax
call fcn.004142fa
add esp, 8
test eax, eax
je 0x42281e
cmp dword [ebx + 0x14], 8
mov eax, ebx
jb 0x4227ee
mov eax, dword [ebx]
push dword [0x4fb0bc]
push eax
call fcn.004142fa
add esp, 8
test eax, eax
je 0x42281e
cmp dword [ebx + 0x14], 8
mov eax, ebx
jb 0x42280b
mov eax, dword [ebx]
push dword [0x4fb0c0]
push eax
call fcn.004142fa
add esp, 8
test eax, eax
jne 0x422842
push 0
call fcn.0041cb17
add esp, 4
test al, al
jne 0x422977
push 0
call fcn.0040d263
add esp, 4
test al, al
jne 0x422977
push ebx
lea eax, [ebp - 0x320]
push 0x4c9548
push eax
call fcn.004121fa
mov esi, eax
add esp, 0xc
lea eax, [ebp - 0x248]
cmp eax, esi
je 0x42290c
mov edx, dword [ebp - 0x234]
cmp edx, 8
jb 0x4228a7
mov ecx, dword [ebp - 0x248]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x42289d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423878
push edx
push ecx
call fcn.0040660b
add esp, 8
mov dword [ebp - 0x238], 0
xor eax, eax
mov word [ebp - 0x248], ax
mov dword [ebp - 0x234], 7
mov eax, dword [esi]
mov dword [ebp - 0x248], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x244], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0x240], eax
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x23c], eax
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x238], eax
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x234], eax
xor eax, eax
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
lea ecx, [ebp - 0x320]
call fcn.00411b77
lea eax, [ebp - 0x350]
mov ecx, edi
push eax
call fcn.00421c9c
push eax
lea eax, [ebp - 0x338]
mov byte [ebp - 4], 1
push str.__from_prome__prome_pipe_token
push eax
call fcn.00421df3
add esp, 0xc
cmp dword [eax + 0x14], 8
mov ecx, eax
mov byte [ebp - 4], 2
jb 0x42294c
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
lea ecx, [ebp - 0x248]
call fcn.0040684d
lea ecx, [ebp - 0x338]
call fcn.00411b77
lea ecx, [ebp - 0x350]
mov byte [ebp - 4], 0
call fcn.00411b77
jmp 0x42297e
mov byte [ebp - 0x3b1], 1
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.00402780
mov ecx, dword [edi]
add esp, 0xc
call fcn.00421307
mov ecx, eax
call fcn.00415f10
mov esi, eax
mov ecx, esi
call fcn.00423897
test eax, eax
je 0x422ae7
mov ecx, esi
call fcn.00423897
push eax
lea eax, [ebp - 0x218]
push 0x104
push eax
call fcn.0040a4eb
add esp, 0xc
lea ecx, [ebp - 0x2c0]
push ebx
call fcn.00411bca
cmp dword [ebp - 0x2ac], 8
lea eax, [ebp - 0x2c0]
push dword [0x4fb0c0]
cmovae eax, dword [ebp - 0x2c0]
push eax
mov byte [ebp - 4], 3
call fcn.004142fa
add esp, 8
test eax, eax
jne 0x422a1a
push 0xa
push str.wpspdf.exe
lea ecx, [ebp - 0x2c0]
call fcn.004057cc
jmp 0x422a60
cmp dword [ebp - 0x2ac], 8
lea eax, [ebp - 0x2c0]
push 0x4c3d90
cmovae eax, dword [ebp - 0x2c0]
push eax
call fcn.004205bd
add esp, 8
lea ecx, [ebp - 0x2c0]
test eax, eax
jne 0x422a54
push 0xa
push str.wpsofd.exe
call fcn.004057cc
jmp 0x422a60
push 4
push str..exe
call fcn.0040684d
lea edi, [ebp - 0x218]
add edi, 0xfffffffe
jmp 0x422a71
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x422a71
cmp dword [ebp - 0x2ac], 8
lea edx, [ebp - 0x2c0]
mov eax, dword [0x4c5934]
cmovae edx, dword [ebp - 0x2c0]
mov dword [edi], eax
mov esi, edx
lea esp, [esp]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x422aa1
lea edi, [ebp - 0x218]
sub edx, esi
add edi, 0xfffffffe
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x422ab7
mov ecx, edx
mov byte [ebp - 4], al
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 0x2c0]
call fcn.00411b77
mov edi, dword [ebp - 0x3b8]
jmp 0x422afb
push 0x104
lea eax, [ebp - 0x218]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
xor eax, eax
mov dword [ebp - 0x2f8], 0
lea ecx, [ebp - 0x218]
mov dword [ebp - 0x2f4], 7
mov word [ebp - 0x308], ax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x422b21
sub ecx, edx
lea eax, [ebp - 0x218]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x308]
call fcn.004057cc
lea eax, [ebp - 0x308]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x2f0]
call fcn.00411bca
mov eax, dword [ebp - 0x3c0]
xor ecx, ecx
push 0x40
push ecx
mov byte [ebp - 4], 5
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
lea eax, [ebp - 0x400]
push eax
mov dword [ebp - 0x404], 0x44
call fcn.00402780
mov eax, 1
mov dword [ebp - 0x3d8], 1
mov word [ebp - 0x3d4], ax
add esp, 0xc
mov eax, dword [ebp - 0x3bc]
test eax, eax
je 0x422c12
cmp byte [ebp - 0x3b1], 0
jne 0x422c12
push eax
lea eax, [ebp - 0x380]
push eax
call fcn.0044dd1e
push eax
lea eax, [ebp - 0x368]
mov byte [ebp - 4], 6
push str.__prome_prestart_type
push eax
call fcn.00421df3
add esp, 0x14
cmp dword [eax + 0x14], 8
mov ecx, eax
mov byte [ebp - 4], 7
jb 0x422be9
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
lea ecx, [ebp - 0x248]
call fcn.0040684d
lea ecx, [ebp - 0x368]
call fcn.00411b77
lea ecx, [ebp - 0x380]
mov byte [ebp - 4], 5
call fcn.00411b77
mov esi, dword [sym.imp.KERNEL32.dll_GetCommandLineW]
call esi
push str._PFMonChildProc
push eax
call fcn.004089d5
add esp, 8
test eax, eax
je 0x422d29
lea eax, [ebp - 0x3b0]
push ebx
push eax
call fcn.00436f2b
add esp, 8
mov esi, eax
push 1
xor eax, eax
mov byte [ebp - 4], 8
push 0x4cbea0
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 7
mov word [ebp - 0x230], ax
call fcn.004057cc
push esi
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 9
push eax
lea eax, [ebp - 0x398]
push eax
call fcn.00423c46
add esp, 0xc
cmp dword [eax + 0x14], 8
mov ecx, eax
mov byte [ebp - 4], 0xa
jb 0x422c9e
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
lea ecx, [ebp - 0x248]
call fcn.0040684d
lea ecx, [ebp - 0x398]
call fcn.00411b77
mov edx, dword [ebp - 0x21c]
mov byte [ebp - 4], 8
cmp edx, 8
jb 0x422cfc
mov ecx, dword [ebp - 0x230]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x422cf2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42387d
push edx
push ecx
call fcn.0040660b
add esp, 8
xor eax, eax
mov dword [ebp - 0x220], 0
lea ecx, [ebp - 0x3b0]
mov dword [ebp - 0x21c], 7
mov word [ebp - 0x230], ax
call fcn.00411b77
jmp 0x422dde
call esi
push str._CreateCmdDb
push eax
call fcn.004089d5
add esp, 8
test eax, eax
je 0x422dde
push 0xe
xor eax, eax
mov dword [ebp - 0x220], 0
push str.__create_cmddb
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x21c], 7
mov word [ebp - 0x230], ax
call fcn.004057cc
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
push dword [ebp - 0x220]
cmovae eax, dword [ebp - 0x230]
lea ecx, [ebp - 0x248]
push eax
mov byte [ebp - 4], 0xb
call fcn.0040684d
mov edx, dword [ebp - 0x21c]
mov byte [ebp - 4], 5
cmp edx, 8
jb 0x422dde
mov ecx, dword [ebp - 0x230]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x422dd4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423891
push edx
push ecx
call fcn.0040660b
add esp, 8
xor eax, eax
mov dword [ebp - 0x2c8], 0
mov dword [ebp - 0x2c4], 7
mov word [ebp - 0x2d8], ax
lea eax, [ebp - 0x2d8]
mov byte [ebp - 4], 0xc
push eax
call fcn.004238a2
add esp, 4
test al, al
je 0x422f62
push 1
xor eax, eax
mov dword [ebp - 0x268], 0
push 0x4cbea0
lea ecx, [ebp - 0x278]
mov dword [ebp - 0x264], 7
mov word [ebp - 0x278], ax
call fcn.004057cc
cmp dword [ebp - 0x2c4], 8
lea eax, [ebp - 0x2d8]
push dword [ebp - 0x2c8]
cmovae eax, dword [ebp - 0x2d8]
lea ecx, [ebp - 0x278]
push eax
mov byte [ebp - 4], 0xd
call fcn.0040684d
xor edi, edi
mov ecx, dword [eax + 4]
mov esi, dword [eax]
mov edx, dword [eax + 0x10]
mov dword [ebp - 0x28c], ecx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x288], ecx
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x284], ecx
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x290], esi
mov dword [ebp - 0x280], edx
mov dword [ebp - 0x27c], ecx
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], di
cmp ecx, 8
mov byte [ebp - 4], 0xe
lea eax, [ebp - 0x290]
cmovae eax, esi
lea ecx, [ebp - 0x248]
push edx
push eax
call fcn.0040684d
mov edx, dword [ebp - 0x27c]
mov edi, dword [ebp - 0x3b8]
mov byte [ebp - 4], 0xd
cmp edx, 8
jb 0x422f1e
mov ecx, dword [ebp - 0x290]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x422f14
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423882
push edx
push ecx
call fcn.0040660b
add esp, 8
mov edx, dword [ebp - 0x264]
mov byte [ebp - 4], 0xc
cmp edx, 8
jb 0x422f62
mov ecx, dword [ebp - 0x278]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x422f58
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423882
push edx
push ecx
call fcn.0040660b
add esp, 8
cmp byte [ebp - 0x3b1], 0
mov ecx, dword [edi]
je 0x423255
call fcn.00421307
mov ecx, eax
call fcn.00415f10
mov ecx, eax
call fcn.00415f10
lea ecx, [ebp - 0x29c]
push ecx
mov ecx, eax
call fcn.00416401
push ebx
lea eax, [ebp - 0x260]
mov byte [ebp - 4], 0xf
push 0x4c9548
push eax
call fcn.004121fa
add esp, 0xc
mov ecx, dword [ebp - 0x298]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x29c]
mov ebx, 1
sub ecx, esi
mov byte [ebp - 4], 0x10
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x3bc], eax
cmp eax, ebx
jle 0x4231e0
mov edi, 0x18
cmp dword [edi + esi + 0x14], 8
lea eax, [edi + esi]
jb 0x422ff2
mov eax, dword [eax]
push str._prometheus
push eax
call fcn.004142fa
add esp, 8
test eax, eax
je 0x4231c9
cmp dword [ebp - 0x24c], 8
lea ecx, [ebp - 0x260]
mov eax, dword [ebp - 0x29c]
cmovae ecx, dword [ebp - 0x260]
add eax, edi
cmp dword [eax + 0x14], 8
jb 0x42302c
mov eax, dword [eax]
push ecx
push eax
call fcn.004142fa
add esp, 8
test eax, eax
je 0x4231c9
mov eax, dword [ebp - 0x29c]
add eax, edi
push eax
lea eax, [ebp - 0x290]
push eax
call fcn.00423a91
add esp, 8
mov esi, eax
push 1
xor eax, eax
mov byte [ebp - 4], 0x11
push 0x4cbea0
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 7
mov word [ebp - 0x230], ax
call fcn.004057cc
push esi
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 0x12
push eax
lea eax, [ebp - 0x278]
push eax
call fcn.00423c46
add esp, 0xc
cmp dword [eax + 0x14], 8
mov ecx, eax
mov byte [ebp - 4], 0x13
jb 0x4230b4
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
lea ecx, [ebp - 0x248]
call fcn.0040684d
mov edx, dword [ebp - 0x264]
mov byte [ebp - 4], 0x12
cmp edx, 8
jb 0x423107
mov ecx, dword [ebp - 0x278]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4230fd
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423878
push edx
push ecx
call fcn.0040660b
add esp, 8
mov edx, dword [ebp - 0x21c]
xor eax, eax
mov dword [ebp - 0x268], 0
mov dword [ebp - 0x264], 7
mov word [ebp - 0x278], ax
mov byte [ebp - 4], 0x11
cmp edx, 8
jb 0x423168
mov ecx, dword [ebp - 0x230]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x42315e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423878
push edx
push ecx
call fcn.0040660b
add esp, 8
mov edx, dword [ebp - 0x27c]
xor eax, eax
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 7
mov word [ebp - 0x230], ax
mov byte [ebp - 4], 0x10
cmp edx, 8
jb 0x4231c9
mov ecx, dword [ebp - 0x290]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4231bf
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423878
push edx
push ecx
call fcn.0040660b
add esp, 8
inc ebx
add edi, 0x18
cmp ebx, dword [ebp - 0x3bc]
jge 0x4231e0
mov esi, dword [ebp - 0x29c]
jmp 0x422fe6
mov edx, dword [ebp - 0x24c]
mov byte [ebp - 4], 0xf
cmp edx, 8
jb 0x423224
mov ecx, dword [ebp - 0x260]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x42321a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423887
push edx
push ecx
call fcn.0040660b
add esp, 8
xor eax, eax
mov dword [ebp - 0x250], 0
lea ecx, [ebp - 0x29c]
mov dword [ebp - 0x24c], 7
mov word [ebp - 0x260], ax
mov byte [ebp - 4], 0xc
call fcn.0041427a
jmp 0x4235f8
lea eax, [ebp - 0x2a8]
push eax
call fcn.00421307
mov ecx, eax
call fcn.00421c86
cmp dword [ebp - 0x298], 0
mov byte [ebp - 4], 0x14
je 0x4235b4
cmp dword [ebp - 0x294], 8
lea ecx, [ebp - 0x3b8]
lea eax, [ebp - 0x2a8]
mov dword [ebp - 0x3b8], 0
cmovae eax, dword [ebp - 0x2a8]
push ecx
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov ebx, eax
mov dword [ebp - 0x3bc], ebx
test ebx, ebx
je 0x4235b4
xor edi, edi
cmp dword [ebp - 0x3b8], edi
jle 0x4235ad
mov edx, dword [ebx + edi*4]
xor eax, eax
mov ecx, edx
mov dword [ebp - 0x250], 0
mov dword [ebp - 0x24c], 7
mov word [ebp - 0x260], ax
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4232e8
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x260]
call fcn.004057cc
lea eax, [ebp - 0x260]
mov byte [ebp - 4], 0x15
push eax
lea ecx, [ebp - 0x3b1]
call fcn.00436391
mov edx, dword [ebp - 0x24c]
test al, al
mov byte [ebp - 4], 0x14
sete bl
cmp edx, 8
jb 0x423363
mov ecx, dword [ebp - 0x260]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x423359
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423878
push edx
push ecx
call fcn.0040660b
add esp, 8
test bl, bl
mov ebx, dword [ebp - 0x3bc]
jne 0x4235a0
mov edx, dword [ebx + edi*4]
xor eax, eax
mov ecx, edx
mov dword [ebp - 0x268], 0
mov dword [ebp - 0x264], 7
mov word [ebp - 0x278], ax
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x423396
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x278]
call fcn.004057cc
lea eax, [ebp - 0x278]
mov byte [ebp - 4], 0x16
push eax
lea eax, [ebp - 0x290]
push eax
call fcn.00423a91
add esp, 8
mov esi, eax
push 1
xor eax, eax
mov byte [ebp - 4], 0x17
push 0x4cbea0
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 7
mov word [ebp - 0x230], ax
call fcn.004057cc
push esi
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 0x18
push eax
lea eax, [ebp - 0x260]
push eax
call fcn.00423c46
add esp, 0xc
cmp dword [eax + 0x14], 8
mov ecx, eax
mov byte [ebp - 4], 0x19
jb 0x42342a
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
lea ecx, [ebp - 0x248]
call fcn.0040684d
mov edx, dword [ebp - 0x24c]
mov byte [ebp - 4], 0x18
cmp edx, 8
jb 0x42347d
mov ecx, dword [ebp - 0x260]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x423473
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423878
push edx
push ecx
call fcn.0040660b
add esp, 8
mov edx, dword [ebp - 0x21c]
xor eax, eax
mov dword [ebp - 0x250], 0
mov dword [ebp - 0x24c], 7
mov word [ebp - 0x260], ax
mov byte [ebp - 4], 0x17
cmp edx, 8
jb 0x4234de
mov ecx, dword [ebp - 0x230]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4234d4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423878
push edx
push ecx
call fcn.0040660b
add esp, 8
mov edx, dword [ebp - 0x27c]
xor eax, eax
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 7
mov word [ebp - 0x230], ax
mov byte [ebp - 4], 0x16
cmp edx, 8
jb 0x42353f
mov ecx, dword [ebp - 0x290]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x423535
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423878
push edx
push ecx
call fcn.0040660b
add esp, 8
mov edx, dword [ebp - 0x264]
xor eax, eax
mov dword [ebp - 0x280], 0
mov dword [ebp - 0x27c], 7
mov word [ebp - 0x290], ax
mov byte [ebp - 4], 0x14
cmp edx, 8
jb 0x4235a0
mov ecx, dword [ebp - 0x278]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x423596
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423878
push edx
push ecx
call fcn.0040660b
add esp, 8
inc edi
cmp edi, dword [ebp - 0x3b8]
jl 0x4232c3
push ebx
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov edx, dword [ebp - 0x294]
mov byte [ebp - 4], 0xc
cmp edx, 8
jb 0x4235f8
mov ecx, dword [ebp - 0x2a8]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4235ee
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x42388c
push edx
push ecx
call fcn.0040660b
add esp, 8
mov edi, dword [ebp - 0x234]
lea eax, [ebp - 0x248]
mov ebx, dword [ebp - 0x248]
cmp edi, 8
mov esi, dword [ebp - 0x238]
cmovae eax, ebx
test esi, esi
je 0x423634
lea ecx, [eax + esi*2]
mov edx, eax
cmp eax, ecx
jae 0x423634
cmp word [edx], 0x20
jne 0x423734
add edx, 2
cmp edx, ecx
jb 0x423623
or edx, 0xffffffff
cmp esi, edx
lea ecx, [ebp - 0x248]
cmovb edx, esi
cmp edi, 8
cmovae ecx, ebx
sub esi, edx
mov dword [ebp - 0x238], esi
lea eax, [esi*2 + 2]
push eax
lea eax, [ecx + edx*2]
push eax
push ecx
call fcn.00405020
mov eax, dword [ebp - 0x2e0]
xor ecx, ecx
mov esi, dword [ebp - 0x238]
add eax, 4
add esi, eax
mov edx, 2
mov eax, esi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004072bd
cmp dword [ebp - 0x234], 8
lea edx, [ebp - 0x248]
lea ecx, [ebp - 0x2f0]
mov edi, eax
cmovae edx, dword [ebp - 0x248]
cmp dword [ebp - 0x2dc], 8
push edx
cmovae ecx, dword [ebp - 0x2f0]
push ecx
push str.__s___s
push esi
push edi
call fcn.00410808
mov esi, dword [ebp - 0x3c0]
lea eax, [ebp - 0x404]
add esp, 0x24
push esi
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push edi
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
setne bl
cmp byte [0x4feb10], 0
je 0x42371e
push 0
push str.PrometheusCreateProcess
call fcn.004463f3
add esp, 8
cmp byte [0x4feb10], 0
je 0x42371e
push 0
push str.PrometheusClientMainWindowAdded
call fcn.004463e2
add esp, 8
push edi
call fcn.0040dcbd
add esp, 4
test bl, bl
jne 0x42373d
mov dword [esi + 8], 0xffffffff
jmp 0x42373f
sub edx, eax
sar edx, 1
jmp 0x423637
mov bl, 1
mov edx, dword [ebp - 0x2c4]
cmp edx, 8
jb 0x42377f
mov ecx, dword [ebp - 0x2d8]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x423775
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423891
push edx
push ecx
call fcn.0040660b
add esp, 8
mov edx, dword [ebp - 0x2dc]
cmp edx, 8
jb 0x4237bf
mov ecx, dword [ebp - 0x2f0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4237b5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423891
push edx
push ecx
call fcn.0040660b
add esp, 8
mov edx, dword [ebp - 0x2f4]
xor eax, eax
mov dword [ebp - 0x2e0], 0
mov dword [ebp - 0x2dc], 7
mov word [ebp - 0x2f0], ax
cmp edx, 8
jb 0x42381c
mov ecx, dword [ebp - 0x308]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x423812
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423891
push edx
push ecx
call fcn.0040660b
add esp, 8
mov edx, dword [ebp - 0x234]
cmp edx, 8
jb 0x423858
mov ecx, dword [ebp - 0x248]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x42384e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x423891
push edx
push ecx
call fcn.0040660b
add esp, 8
mov al, bl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00402c9b
mov esp, ebp
pop ebp
ret 0xc
call fcn.0047c5cb
call fcn.0047c5cb
call fcn.0047c5cb
call fcn.0047c5cb
call fcn.0047c5cb
call fcn.0047c5cb
int3