Function at 0x401d10
Capabilities:
Accept command line arguments

Disassembly:
sub esp, 8
push ebx
push ebp
push esi
mov esi, ecx
cmp byte [esi + 0x964], 0
push edi
je 0x401d2e
mov al, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
push 0x43
mov byte [esp + 0x1b], 1
call dword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
setne al
mov byte [esi + 7], al
call fcn.00403910
mov ebp, dword [esp + 0x1c]
mov byte [esi + 8], al
mov edi, ebp
mov eax, esi
call fcn.00402400
test al, al
jne 0x401d60
mov byte [esp + 0x17], al
push esi
mov ecx, ebp
call fcn.00402230
test al, al
jne 0x401d70
mov byte [esp + 0x17], al
call fcn.00402190
test al, al
jne 0x401d7d
mov byte [esp + 0x17], al
push esi
mov ecx, ebp
call fcn.00402450
test al, al
je 0x401da1
mov edx, ebp
mov ecx, esi
call fcn.00402a40
test al, al
je 0x401da1
mov eax, esi
call fcn.00402d00
test al, al
jne 0x401da6
mov byte [esp + 0x17], 0
push str.6652
lea ecx, [esi + 0x4be]
push 0xb
push ecx
call fcn.0041692b
mov ebx, dword [sym.imp.KERNEL32.dll_GetCommandLineW]
add esp, 0xc
call ebx
lea edi, [esi + 0x4d4]
call ebx
push eax
mov ecx, edi
call fcn.00408560
lea ebx, [esi + 0x5f8]
mov eax, edi
mov ecx, ebx
call fcn.004084f0
mov eax, ebx
call fcn.00408e40
mov edx, ebp
mov ecx, esi
call fcn.00402d70
test al, al
jne 0x401dfb
mov byte [esp + 0x17], al
mov edi, esi
mov byte [esi + 2], 0
mov byte [esi + 3], 0
call fcn.00403820
test al, al
jne 0x401e12
mov byte [esp + 0x17], al
push esi
call fcn.00403340
test al, al
jne 0x401e20
mov byte [esp + 0x17], al
mov ebx, 0x434be0
call fcn.00403f80
xor bl, bl
mov byte [esi + 9], al
cmp byte [esi + 5], bl
je 0x401e38
mov byte [esi + 9], 1
call fcn.00403a60
test al, al
jne 0x401e45
mov byte [esp + 0x17], bl
lea eax, [esi + 0x604]
cmp byte [esi + 0x714], bl
jne 0x401e59
mov eax, dword [esi + 0x600]
add eax, 4
push str.specialforce.exe
push eax
call fcn.00416ea1
add esp, 8
test eax, eax
sete dl
mov byte [esi + 0x969], bl
mov ebx, 0x434bf8
mov byte [esi + 0x968], dl
call fcn.00403f80
test al, al
jne 0x401e97
mov ebx, 0x434c10
call fcn.00403fd0
test al, al
je 0x401e9e
mov byte [esi + 0x969], 1
xor bl, bl
mov byte [esi + 0x96a], 1
cmp byte [0x43678d], bl
je 0x401eb5
mov byte [esi + 0x96a], bl
call fcn.00403cb0
test al, al
jne 0x401ec2
mov byte [esp + 0x17], bl
call fcn.00403d20
test al, al
jne 0x401ecf
mov byte [esp + 0x17], bl
call fcn.00403db0
test al, al
jne 0x401edc
mov byte [esp + 0x17], bl
mov byte [esi + 0x976], bl
lea eax, [esi + 0x604]
cmp byte [esi + 0x714], bl
jne 0x401ef6
mov eax, dword [esi + 0x600]
add eax, 4
push str.gvonline.bin
push eax
call fcn.00416ea1
add esp, 8
test eax, eax
je 0x401f12
mov byte [esi + 0x976], 1
mov byte [esi + 0x96c], bl
lea eax, [esi + 0x604]
cmp byte [esi + 0x714], bl
jne 0x401f2c
mov eax, dword [esi + 0x600]
add eax, 4
push str.powerpnt.exe
push eax
call fcn.00416ea1
add esp, 8
test eax, eax
je 0x401f48
mov byte [esi + 0x96c], 1
mov edi, esi
call fcn.004030d0
test al, al
jne 0x401f57
mov byte [esp + 0x17], bl
call fcn.00403200
test al, al
jne 0x401f64
mov byte [esp + 0x17], bl
mov ebx, esi
call fcn.00403280
test al, al
jne 0x401f73
mov byte [esp + 0x17], al
mov eax, esi
call fcn.00403e20
test al, al
jne 0x401f82
mov byte [esp + 0x17], al
mov ebx, 0x434c90
call fcn.00403f80
mov byte [esi + 0x979], al
call fcn.00403eb0
xor bl, bl
test al, al
jne 0x401fa1
mov byte [esp + 0x17], bl
lea eax, [esi + 0x604]
cmp byte [esi + 0x714], bl
jne 0x401fb5
mov eax, dword [esi + 0x600]
add eax, 4
push str.acad.exe
push eax
call fcn.00416ea1
add esp, 8
test eax, eax
setne al
mov byte [esi + 0x96e], al
lea eax, [esi + 0x604]
cmp byte [esi + 0x714], bl
jne 0x401fe5
mov eax, dword [esi + 0x600]
add eax, 4
push str.flash.exe
push eax
call fcn.00416ea1
add esp, 8
test eax, eax
setne cl
mov byte [esi + 0x96f], cl
lea eax, [esi + 0x604]
cmp byte [esi + 0x714], bl
jne 0x402015
mov eax, dword [esi + 0x600]
add eax, 4
push str.ppstream.exe
push eax
call fcn.00416ea1
add esp, 8
test eax, eax
setne dl
mov byte [esi + 0x970], dl
mov byte [esi + 0x971], bl
call fcn.004031a0
test al, al
jne 0x402044
mov byte [esp + 0x17], bl
call fcn.00403f20
test al, al
jne 0x402051
mov byte [esp + 0x17], bl
mov ebx, 0x434c98
call fcn.00403fd0
mov byte [esi + 0x97a], al
call fcn.00404020
xor bl, bl
test al, al
jne 0x402070
mov byte [esp + 0x17], bl
push esi
call fcn.00403880
test al, al
jne 0x40207e
mov byte [esp + 0x17], bl
push esi
call fcn.004046e0
test al, al
jne 0x40208c
mov byte [esp + 0x17], bl
lea eax, [esi + 0x604]
cmp byte [esi + 0x714], bl
jne 0x4020a0
mov eax, dword [esi + 0x600]
add eax, 4
push str.kartrider.exe
push eax
call fcn.00416ea1
add esp, 8
test eax, eax
setne al
mov ebx, 0x434cc0
mov byte [esi + 0x986], al
call fcn.00403fd0
test al, al
sete cl
mov byte [esi + 0x987], cl
cmp byte [esi + 0x714], 0
lea eax, [esi + 0x604]
jne 0x4020e6
mov eax, dword [esi + 0x600]
add eax, 4
push str.sogouflash.exe
push eax
call fcn.00416ea1
add esp, 8
test eax, eax
je 0x402102
mov byte [esi + 0x988], 0
cmp byte [esi + 5], 0
mov ebx, 0x434cd4
sete dl
mov byte [esi + 0x989], dl
call fcn.00403fd0
mov cl, byte [esi + 6]
test al, al
sete al
and byte [esi + 0x989], al
mov ebx, 0x434cdc
mov byte [esi + 0x98a], cl
call fcn.00403fd0
test al, al
setne dl
cmp byte [esp + 0x17], 0
mov byte [esi + 0x98b], dl
jne 0x402170
mov ecx, ebp
call fcn.00404cf0
push 0x42b050
push 0x42b32c
mov edx, eax
call fcn.00408980
add esp, 8
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
pop edi
mov al, 1
mov byte [esi + 0x964], al
pop esi
pop ebp
pop ebx
add esp, 8
ret 4