Function at 0x457040
Capabilities:
Create process on windows

Disassembly:
push 0xffffffffffffffff
push 0x60cd08
mov eax, dword fs:[0]
push eax
sub esp, 0x10
push ebx
push ebp
push esi
push edi
mov eax, dword [0x6687b8]
xor eax, esp
push eax
lea eax, [esp + 0x24]
mov dword fs:[0], eax
mov ebx, 1
test byte [0x6809d0], bl
jne 0x4570a3
or dword [0x6809d0], ebx
cmp dword [0x678ec4], 0
jne 0x457096
cmp dword [0x678ec8], 0
jne 0x457096
mov dword [0x678ec4], 0x6790b8
push 0x6131e0
call fcn.005d268a
add esp, 4
mov ebp, dword [0x678ec4]
mov dword [0x678ec0], ebx
call fcn.004ecbf0
test eax, eax
je 0x457379
cmp dword [ebp + 0x948], 0
je 0x457379
mov eax, dword [esp + 0x34]
push eax
call fcn.00456f30
test eax, eax
je 0x4570e6
cmp dword [0x678ef0], 0
mov byte [0x6784c8], bl
je 0x4570ed
mov byte [0x6784c8], 0
mov edx, dword [0x677600]
mov eax, dword [edx + 0xc]
mov ecx, 0x677600
call eax
lea esi, [eax + 0x10]
mov dword [esp + 0x34], esi
mov dword [esp + 0x2c], 0
test byte [ebp + 0xd04], bl
je 0x457168
cmp byte [0x6784c8], 0
je 0x457168
cmp dword [esi - 0xc], 0
jle 0x45712e
push 0x26
lea edi, [esp + 0x38]
call fcn.0040af90
mov edx, str.config
lea edi, [esp + 0x34]
call fcn.0040ae60
cmp byte [0x6784c8], 0
je 0x457164
mov ecx, dword [esp + 0x34]
cmp dword [ecx - 0xc], 0
jle 0x457156
push 0x26
call fcn.0040af90
mov edx, str.skin
lea edi, [esp + 0x34]
call fcn.0040ae60
mov esi, dword [esp + 0x34]
test byte [ebp + 0xd04], 0x40
je 0x45719d
cmp byte [0x6784c7], 0
je 0x45719d
cmp dword [esi - 0xc], 0
jle 0x45718b
push 0x26
lea edi, [esp + 0x38]
call fcn.0040af90
mov edx, str.phrase
lea edi, [esp + 0x34]
call fcn.0040ae60
mov esi, dword [esp + 0x34]
test byte [ebp + 0xd04], 2
je 0x4571d2
cmp byte [0x6784c6], 0
je 0x4571d2
cmp dword [esi - 0xc], 0
jle 0x4571c0
push 0x26
lea edi, [esp + 0x38]
call fcn.0040af90
mov edx, str.punc
lea edi, [esp + 0x34]
call fcn.0040ae60
mov esi, dword [esp + 0x34]
test byte [ebp + 0xd04], 4
je 0x457207
cmp byte [0x6784c5], 0
je 0x457207
cmp dword [esi - 0xc], 0
jle 0x4571f5
push 0x26
lea edi, [esp + 0x38]
call fcn.0040af90
mov edx, str.candorder
lea edi, [esp + 0x34]
call fcn.0040ae60
mov esi, dword [esp + 0x34]
test byte [ebp + 0xd04], 0x80
je 0x45723c
cmp byte [0x6784c4], 0
je 0x45723c
cmp dword [esi - 0xc], 0
jle 0x45722a
push 0x26
lea edi, [esp + 0x38]
call fcn.0040af90
mov edx, str.cdictlist
lea edi, [esp + 0x34]
call fcn.0040ae60
mov esi, dword [esp + 0x34]
cmp dword [esi - 0xc], 0
jne 0x45725f
lea eax, [esi - 0x10]
mov dword [esp + 0x2c], 0xffffffff
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jmp 0x45736d
lea ebx, [esp + 0x1c]
call fcn.0047a980
mov eax, ebx
mov byte [esp + 0x2c], 1
call fcn.00576f50
mov edx, dword [0x677600]
mov eax, dword [edx + 0xc]
mov ecx, 0x677600
call eax
add eax, 0x10
mov dword [esp + 0x18], eax
push 0xd
push str.CMD_d_
lea edi, [esp + 0x20]
mov byte [esp + 0x34], 2
call fcn.0040ac80
add esp, 8
mov edx, str.Module
call fcn.0040ae60
mov eax, dword [esi - 0xc]
push eax
push esi
mov ecx, edi
push ecx
call fcn.0040aee0
push 0x3b
call fcn.0040af90
mov edx, ebx
push edx
lea eax, [esp + 0x24]
push eax
mov ebx, str.QQPYConfig.exe
call fcn.0040aab0
mov edi, dword [esp + 0x20]
mov eax, dword [eax]
add esp, 8
push 0
push 0
push edi
push eax
push 0x625c98
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x45730f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [edi - 0x10]
mov byte [esp + 0x2c], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x457330
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x2c], 0
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x457355
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [esi - 0x10]
mov dword [esp + 0x2c], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x457379
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret 4