Function at 0x44c830
Capabilities:
Accept command line arguments
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x298
mov eax, dword [0x50e3e0]
xor eax, ebp
mov dword [ebp - 4], eax
xor eax, eax
mov dword [ebp - 0x214], 0
mov word [ebp - 0x224], ax
lea eax, [ebp - 0x224]
push eax
mov dword [ebp - 0x210], 7
call fcn.00449960
mov edx, dword [ebp - 0x210]
add esp, 4
cmp edx, 8
jb 0x44c8af
mov ecx, dword [ebp - 0x224]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x44c8a5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44d147
push edx
push ecx
call fcn.0048d64e
add esp, 8
push esi
push edi
push 0x5144f0
push 0x5144f8
push 0x44c780
push 0x4dd324
call fcn.0044c7f0
push 0x208
lea eax, [ebp - 0x20c]
push 0
push eax
call fcn.0048fe50
add esp, 0xc
lea eax, [ebp - 0x20c]
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push str.ksolaunch.exe
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.SHLWAPI.dll_StrStrIW]
mov ecx, eax
test ecx, ecx
je 0x44cab5
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x44c913
sub ecx, edx
sar ecx, 1
cmp ecx, 0xd
jne 0x44cab5
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov edx, eax
mov dword [ebp - 0x214], 0
mov ecx, edx
mov dword [ebp - 0x210], 7
xor eax, eax
mov word [ebp - 0x224], ax
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x44c955
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x224]
call fcn.00408290
xor eax, eax
mov dword [ebp - 0x22c], 0
push eax
push 0x4d7638
lea ecx, [ebp - 0x23c]
mov dword [ebp - 0x228], 7
mov word [ebp - 0x23c], ax
call fcn.00408290
lea eax, [ebp - 0x23c]
push eax
lea eax, [ebp - 0x224]
push eax
lea eax, [ebp - 0x254]
push eax
call fcn.00476b40
add esp, 4
push eax
call fcn.0041c980
add esp, 0xc
lea ecx, [ebp - 0x254]
mov esi, eax
call fcn.00402a60
mov edx, dword [ebp - 0x228]
cmp edx, 8
jb 0x44ca12
mov ecx, dword [ebp - 0x23c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x44ca08
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44d14c
push edx
push ecx
call fcn.0048d64e
add esp, 8
xor eax, eax
mov dword [ebp - 0x22c], 0
mov dword [ebp - 0x228], 7
mov word [ebp - 0x23c], ax
test esi, esi
je 0x44ca3c
cmp esi, 0xffffffff
je 0x44ca3c
xor edi, edi
jmp 0x44ca4d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
shl edi, 0x10
or edi, 0xfc19
test esi, esi
je 0x44ca5d
cmp esi, 0xffffffff
je 0x44ca5d
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [ebp - 0x210]
cmp edx, 8
jb 0x44d133
mov ecx, dword [ebp - 0x224]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x44ca97
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44d151
push edx
push ecx
call fcn.0048d64e
add esp, 8
mov eax, edi
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0048d65c
mov esp, ebp
pop ebp
ret 0x10
lea eax, [ebp - 0x254]
push ebx
push eax
call fcn.0041d870
push eax
call fcn.0044c390
add esp, 8
lea ecx, [ebp - 0x254]
call fcn.00402a60
push 0
or edi, 0xffffffff
call fcn.00475f40
add esp, 4
test al, al
jne 0x44ce90
push 0
call fcn.00475ad0
add esp, 4
test al, al
jne 0x44ce90
lea ecx, [ebp - 0x298]
call fcn.00403070
xor eax, eax
mov dword [ebp - 0x260], 0
mov word [ebp - 0x23c], ax
lea ecx, [ebp - 0x298]
lea eax, [ebp - 0x260]
mov dword [ebp - 0x25c], 0
push eax
lea eax, [ebp - 0x23c]
mov dword [ebp - 0x258], 0
push eax
mov dword [ebp - 0x22c], 0
mov dword [ebp - 0x228], 7
call fcn.004033d0
mov edx, dword [ebp - 0x228]
mov ebx, eax
mov dword [ebp - 0x26c], ebx
cmp edx, 8
jb 0x44cba4
mov ecx, dword [ebp - 0x23c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x44cb9a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44d156
push edx
push ecx
call fcn.0048d64e
add esp, 8
mov esi, dword [ebp - 0x260]
xor eax, eax
mov dword [ebp - 0x22c], 0
mov dword [ebp - 0x228], 7
mov word [ebp - 0x23c], ax
test esi, esi
je 0x44cc86
mov ebx, dword [ebp - 0x25c]
cmp esi, ebx
je 0x44cc39
lea esp, [esp]
mov ecx, dword [esi + 0x14]
cmp ecx, 8
jb 0x44cc19
mov eax, dword [esi]
lea ecx, [ecx*2 + 2]
cmp ecx, 0x1000
jb 0x44cc0f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44d156
mov eax, edx
push ecx
push eax
call fcn.0048d64e
add esp, 8
xor eax, eax
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
add esi, 0x18
cmp esi, ebx
jne 0x44cbe0
mov esi, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x258]
mov eax, 0x2aaaaaab
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, esi
shl ecx, 3
cmp ecx, 0x1000
jb 0x44cc76
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44d156
push ecx
push esi
call fcn.0048d64e
mov ebx, dword [ebp - 0x26c]
add esp, 8
cmp ebx, 0xffffffff
je 0x44cc95
cmp bx, 1
jne 0x44ce34
push 0
call fcn.00475cd0
add esp, 4
test al, al
jne 0x44ce08
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
lea ecx, [ebp - 0x224]
call fcn.004028c0
call fcn.00410c80
test al, al
je 0x44cd15
push 0
push str.ksoqing:
lea ecx, [ebp - 0x224]
call fcn.00404b30
cmp eax, 0xffffffff
je 0x44cd15
push 0
push 0x4d758c
lea ecx, [ebp - 0x224]
call fcn.00404b30
cmp eax, 0xffffffff
jne 0x44cd15
push 0
push str.ksoqing:
lea ecx, [ebp - 0x224]
call fcn.00404b30
push 0xd
push str._qingbangong
push eax
lea ecx, [ebp - 0x224]
call fcn.00404bf0
cmp dword [ebp - 0x210], 8
lea eax, [ebp - 0x224]
cmovae eax, dword [ebp - 0x224]
push eax
lea eax, [ebp - 0x260]
push eax
call fcn.00415ab0
lea eax, [ebp - 0x260]
push eax
call fcn.0044c580
add esp, 0xc
test al, al
je 0x44cdc5
push 0x4dab90
lea ecx, [ebp - 0x254]
call fcn.004028c0
mov eax, dword [ebp - 0x260]
lea ecx, [ebp - 0x254]
push ecx
add eax, 0x18
lea ecx, [ebp - 0x260]
push eax
lea eax, [ebp - 0x26c]
push eax
call fcn.0042f750
lea ecx, [ebp - 0x254]
call fcn.00402a60
push str._prometheus
lea ecx, [ebp - 0x254]
call fcn.004028c0
mov eax, dword [ebp - 0x260]
lea ecx, [ebp - 0x254]
push ecx
add eax, 0x18
lea ecx, [ebp - 0x260]
push eax
lea eax, [ebp - 0x26c]
push eax
call fcn.0042f750
lea ecx, [ebp - 0x254]
call fcn.00402a60
lea eax, [ebp - 0x260]
push eax
lea eax, [ebp - 0x254]
push eax
call fcn.00419af0
add esp, 8
lea ecx, [ebp - 0x298]
push eax
call fcn.00404e10
lea ecx, [ebp - 0x254]
call fcn.00402a60
lea ecx, [ebp - 0x260]
call fcn.00402ac0
lea ecx, [ebp - 0x224]
call fcn.00402a60
lea eax, [ebp - 0x298]
push eax
lea ecx, [ebp - 0x238]
call fcn.00428440
push 0
lea ecx, [ebp - 0x238]
call fcn.00428630
lea ecx, [ebp - 0x238]
mov ebx, eax
call fcn.004285a0
lea ecx, [ebp - 0x298]
call fcn.00403310
cmp byte [0x5163a4], 0
je 0x44ce78
push 0
push 0
push 0x4e0605
push str.PrometheusExit
push 1
call fcn.00449a90
add esp, 0x14
cmp byte [0x5163a4], 0
je 0x44ce78
push 0
push str.PrometheusExit
call fcn.00449af0
add esp, 8
call fcn.004499f0
push ebx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
jmp 0x44d12d
lea ecx, [ebp - 0x298]
call fcn.00403070
xor eax, eax
mov dword [ebp - 0x260], 0
mov word [ebp - 0x224], ax
lea ecx, [ebp - 0x298]
lea eax, [ebp - 0x260]
mov dword [ebp - 0x25c], 0
push eax
lea eax, [ebp - 0x224]
mov dword [ebp - 0x258], 0
push eax
mov dword [ebp - 0x214], 0
mov dword [ebp - 0x210], 7
call fcn.004033d0
mov edx, dword [ebp - 0x210]
mov edi, eax
cmp edx, 8
jb 0x44cf31
mov ecx, dword [ebp - 0x224]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x44cf27
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44d15b
push edx
push ecx
call fcn.0048d64e
add esp, 8
mov esi, dword [ebp - 0x260]
xor eax, eax
mov dword [ebp - 0x214], 0
mov dword [ebp - 0x210], 7
mov word [ebp - 0x224], ax
test esi, esi
je 0x44d006
mov ebx, dword [ebp - 0x25c]
cmp esi, ebx
je 0x44cfbf
mov ecx, dword [esi + 0x14]
cmp ecx, 8
jb 0x44cf9f
mov eax, dword [esi]
lea ecx, [ecx*2 + 2]
cmp ecx, 0x1000
jb 0x44cf95
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44d15b
mov eax, edx
push ecx
push eax
call fcn.0048d64e
add esp, 8
xor eax, eax
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
add esi, 0x18
cmp esi, ebx
jne 0x44cf66
mov esi, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x258]
mov eax, 0x2aaaaaab
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, esi
shl ecx, 3
cmp ecx, 0x1000
jb 0x44cffc
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44d15b
push ecx
push esi
call fcn.0048d64e
add esp, 8
cmp edi, 0xffffffff
je 0x44d015
cmp di, 1
jne 0x44d122
lea eax, [ebp - 0x298]
push eax
lea ecx, [ebp - 0x268]
call fcn.00428440
push 2
lea ecx, [ebp - 0x268]
call fcn.00428630
mov edi, eax
cmp edi, 0xffffffff
je 0x44d045
cmp di, 1
jne 0x44d117
push 0
call fcn.00475f40
add esp, 4
test al, al
je 0x44d075
cmp dword [0x51451c], 0
je 0x44d075
push 0x4dd338
push dword [0x5144f4]
push dword [0x5144f0]
call fcn.0042f720
add esp, 0xc
xor eax, eax
mov dword [ebp - 0x214], 0
mov word [ebp - 0x224], ax
lea eax, [ebp - 0x224]
push eax
push dword [0x5144c4]
mov dword [ebp - 0x210], 7
call fcn.00416bf0
add esp, 8
test al, al
je 0x44d0cc
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0x298]
call fcn.00404e10
mov ecx, dword [ebp - 0x264]
test ecx, ecx
je 0x44d0cc
call fcn.00429630
push 1
lea ecx, [ebp - 0x268]
call fcn.00428630
mov edx, dword [ebp - 0x210]
mov edi, eax
cmp edx, 8
jb 0x44d117
mov ecx, dword [ebp - 0x224]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x44d10d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x44d160
push edx
push ecx
call fcn.0048d64e
add esp, 8
lea ecx, [ebp - 0x268]
call fcn.004285a0
lea ecx, [ebp - 0x298]
call fcn.00403310
call fcn.004499f0
pop ebx
mov ecx, dword [ebp - 4]
mov eax, edi
pop edi
xor ecx, ebp
pop esi
call fcn.0048d65c
mov esp, ebp
pop ebp
ret 0x10
call fcn.00498fa9
call fcn.00498fa9
call fcn.00498fa9
call fcn.00498fa9
call fcn.00498fa9
call fcn.00498fa9
int3