Function at 0x402d10
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x42085c
mov eax, dword fs:[0]
push eax
sub esp, 0x284
mov eax, dword [0x42a6a8]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov eax, dword [0x42bea8]
mov edx, dword [eax]
xor ebx, ebx
xor ecx, ecx
mov eax, edx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x15c], 7
mov dword [ebp - 0x160], ebx
mov word [ebp - 0x170], cx
lea esi, [eax + 2]
jmp 0x402d70
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x402d70
sub eax, esi
sar eax, 1
push eax
push edx
lea ecx, [ebp - 0x170]
call fcn.00401e20
lea edx, [ebp - 0x170]
lea ecx, [ebp - 0x1fc]
mov byte [ebp - 4], 1
call fcn.00407baa
push ebx
mov edx, eax
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 2
call fcn.00407277
mov edi, 8
cmp dword [ebp - 0x1e8], edi
jb 0x402dcf
mov edx, dword [ebp - 0x1fc]
push edx
call fcn.0040ca6a
add esp, 4
xor eax, eax
mov dword [ebp - 0x1e8], 7
mov dword [ebp - 0x1ec], ebx
mov word [ebp - 0x1fc], ax
cmp dword [ebp - 0x15c], edi
jb 0x402dff
mov ecx, dword [ebp - 0x170]
push ecx
call fcn.0040ca6a
add esp, 4
mov esi, dword [ebp - 0x74]
mov byte [ebp - 0x289], bl
mov eax, esi
cmp esi, 0xc
jb 0x402e14
mov eax, 0xc
cmp dword [ebp - 0x70], 0x10
mov ecx, dword [ebp - 0x84]
jae 0x402e26
lea ecx, [ebp - 0x84]
push eax
push str.GameStub.exe
push ecx
call fcn.00401040
add esp, 0xc
cmp eax, ebx
jne 0x402e4d
cmp esi, 0xc
jae 0x402e43
or eax, 0xffffffff
jmp 0x402e4b
xor eax, eax
cmp esi, 0xc
setne al
cmp eax, ebx
sete al
cmp al, bl
mov al, 1
jne 0x402e5c
mov al, byte [ebp - 0x289]
mov dword [ebp - 0x1c], 0xf
mov dword [ebp - 0x20], ebx
mov byte [ebp - 0x30], bl
mov byte [ebp - 4], 6
cmp al, bl
je 0x402fa2
cmp dword [0x42bea0], 2
jge 0x402ef3
push str.ProductID_missing__Usage:_GameStub.exe_trine
push 0x42bc28
call fcn.00402000
add esp, 8
push eax
call fcn.004028e0
mov esi, 0x10
add esp, 4
cmp dword [ebp - 0x1c], esi
jb 0x402eaf
mov edx, dword [ebp - 0x30]
push edx
call fcn.0040ca6a
add esp, 4
mov dword [ebp - 0x1c], 0xf
mov dword [ebp - 0x20], ebx
mov byte [ebp - 0x30], bl
cmp dword [ebp - 0x70], esi
jb 0x402ed0
mov eax, dword [ebp - 0x84]
push eax
call fcn.0040ca6a
add esp, 4
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0040d7c8
mov esp, ebp
pop ebp
ret 0x10
mov ecx, dword [0x42bea8]
mov edx, dword [ecx + 4]
xor eax, eax
mov word [ebp - 0x138], ax
mov eax, edx
mov dword [ebp - 0x124], 7
mov dword [ebp - 0x128], ebx
lea esi, [eax + 2]
lea ebx, [ebx]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x402f20
sub eax, esi
sar eax, 1
push eax
push edx
lea ecx, [ebp - 0x138]
call fcn.00401e20
push ebx
lea edx, [ebp - 0x138]
lea ecx, [ebp - 0x1a8]
mov byte [ebp - 4], 7
call fcn.00407277
push eax
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 8
call fcn.00402b00
cmp dword [ebp - 0x194], 0x10
jb 0x402f77
mov ecx, dword [ebp - 0x1a8]
push ecx
call fcn.0040ca6a
add esp, 4
mov dword [ebp - 0x194], 0xf
mov dword [ebp - 0x198], ebx
mov byte [ebp - 0x1a8], bl
mov byte [ebp - 4], 6
cmp dword [ebp - 0x124], edi
jb 0x402fdc
mov edx, dword [ebp - 0x138]
push edx
jmp 0x402fd4
lea edx, [ebp - 0x84]
lea ecx, [ebp - 0x288]
call fcn.00406ed2
push eax
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 9
call fcn.00402b00
cmp dword [ebp - 0x274], 0x10
mov byte [ebp - 4], 6
jb 0x402fdc
mov eax, dword [ebp - 0x288]
push eax
call fcn.0040ca6a
add esp, 4
lea ecx, [ebp - 0x68]
call fcn.00406de1
mov byte [ebp - 4], 0xa
cmp dword [ebp - 0x58], ebx
jne 0x4033d8
lea ecx, [ebp - 0xc8]
call fcn.00406a75
push 0x65
lea ecx, [ebp - 0x154]
push ecx
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 0xb
call fcn.00406af7
push 0x66
lea edx, [ebp - 0xe4]
push edx
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 0xc
call fcn.00406af7
push 0x67
lea eax, [ebp - 0x11c]
push eax
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 0xd
call fcn.00406af7
push 0x68
lea ecx, [ebp - 0x100]
push ecx
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 0xe
call fcn.00406af7
push 1
xor edx, edx
mov esi, 7
push 0x4223d8
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0xf
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x3c], ebx
mov word [ebp - 0x4c], dx
call fcn.00401e20
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x154]
push ecx
lea edx, [ebp - 0x26c]
push edx
mov byte [ebp - 4], 0x10
call fcn.00403520
add esp, 0xc
lea ecx, [ebp - 0x4c]
push ecx
push eax
lea edx, [ebp - 0x250]
push edx
mov byte [ebp - 4], 0x11
call fcn.004035e0
add esp, 0xc
lea ecx, [ebp - 0xe4]
push ecx
push eax
lea edx, [ebp - 0x1e0]
push edx
mov byte [ebp - 4], 0x12
call fcn.004035e0
add esp, 0xc
lea ecx, [ebp - 0x4c]
push ecx
push eax
lea edx, [ebp - 0x1c4]
push edx
mov byte [ebp - 4], 0x13
call fcn.004035e0
add esp, 0xc
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x11c]
push ecx
push eax
lea edx, [ebp - 0x234]
push edx
call fcn.004035e0
add esp, 0xc
lea ecx, [ebp - 0x4c]
push ecx
push eax
lea edx, [ebp - 0x218]
push edx
mov byte [ebp - 4], 0x15
call fcn.004035e0
add esp, 0xc
lea ecx, [ebp - 0x100]
push ecx
push eax
lea edx, [ebp - 0xa0]
push edx
mov byte [ebp - 4], 0x16
call fcn.004035e0
add esp, 0xc
cmp dword [ebp - 0x204], edi
jb 0x40314e
mov eax, dword [ebp - 0x218]
push eax
call fcn.0040ca6a
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x204], esi
mov dword [ebp - 0x208], ebx
mov word [ebp - 0x218], cx
cmp dword [ebp - 0x220], edi
jb 0x40317a
mov edx, dword [ebp - 0x234]
push edx
call fcn.0040ca6a
add esp, 4
xor eax, eax
mov dword [ebp - 0x220], esi
mov dword [ebp - 0x224], ebx
mov word [ebp - 0x234], ax
cmp dword [ebp - 0x1b0], edi
jb 0x4031a6
mov ecx, dword [ebp - 0x1c4]
push ecx
call fcn.0040ca6a
add esp, 4
xor edx, edx
mov dword [ebp - 0x1b0], esi
mov dword [ebp - 0x1b4], ebx
mov word [ebp - 0x1c4], dx
cmp dword [ebp - 0x1cc], edi
jb 0x4031d2
mov eax, dword [ebp - 0x1e0]
push eax
call fcn.0040ca6a
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x1cc], esi
mov dword [ebp - 0x1d0], ebx
mov word [ebp - 0x1e0], cx
cmp dword [ebp - 0x23c], edi
jb 0x4031fe
mov edx, dword [ebp - 0x250]
push edx
call fcn.0040ca6a
add esp, 4
xor eax, eax
mov dword [ebp - 0x23c], esi
mov dword [ebp - 0x240], ebx
mov word [ebp - 0x250], ax
cmp dword [ebp - 0x258], edi
jb 0x40322a
mov ecx, dword [ebp - 0x26c]
push ecx
call fcn.0040ca6a
add esp, 4
mov eax, dword [ebp - 0xa0]
cmp dword [ebp - 0x8c], edi
jae 0x40323e
lea eax, [ebp - 0xa0]
push 0x11
push 0x4223ac
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 1
jne 0x403267
push 5
push ebx
push ebx
push 0x422388
push str.open
push ebx
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
cmp dword [ebp - 0x8c], edi
jb 0x40327e
mov edx, dword [ebp - 0xa0]
push edx
call fcn.0040ca6a
add esp, 4
xor eax, eax
mov dword [ebp - 0x8c], esi
mov dword [ebp - 0x90], ebx
mov word [ebp - 0xa0], ax
cmp dword [ebp - 0x38], edi
jb 0x4032a4
mov ecx, dword [ebp - 0x4c]
push ecx
call fcn.0040ca6a
add esp, 4
xor edx, edx
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x3c], ebx
mov word [ebp - 0x4c], dx
cmp dword [ebp - 0xec], edi
jb 0x4032c7
mov eax, dword [ebp - 0x100]
push eax
call fcn.0040ca6a
add esp, 4
xor ecx, ecx
mov dword [ebp - 0xec], esi
mov dword [ebp - 0xf0], ebx
mov word [ebp - 0x100], cx
cmp dword [ebp - 0x108], edi
jb 0x4032f3
mov edx, dword [ebp - 0x11c]
push edx
call fcn.0040ca6a
add esp, 4
xor eax, eax
mov dword [ebp - 0x108], esi
mov dword [ebp - 0x10c], ebx
mov word [ebp - 0x11c], ax
cmp dword [ebp - 0xd0], edi
jb 0x40331f
mov ecx, dword [ebp - 0xe4]
push ecx
call fcn.0040ca6a
add esp, 4
xor edx, edx
mov dword [ebp - 0xd0], esi
mov dword [ebp - 0xd4], ebx
mov word [ebp - 0xe4], dx
cmp dword [ebp - 0x140], edi
jb 0x40334b
mov eax, dword [ebp - 0x154]
push eax
call fcn.0040ca6a
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x140], esi
mov dword [ebp - 0x144], ebx
mov word [ebp - 0x154], cx
mov byte [ebp - 4], 0xa
cmp dword [ebp - 0xa8], edi
jb 0x40337b
mov edx, dword [ebp - 0xbc]
push edx
call fcn.0040ca6a
add esp, 4
xor eax, eax
lea ecx, [ebp - 0xc8]
mov dword [ebp - 0xa8], esi
mov dword [ebp - 0xac], ebx
mov word [ebp - 0xbc], ax
call fcn.00403648
mov esi, 0x10
cmp dword [ebp - 0x54], esi
jb 0x4033b1
mov ecx, dword [ebp - 0x68]
push ecx
call fcn.0040ca6a
add esp, 4
mov edi, 0xf
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x58], ebx
mov byte [ebp - 0x68], bl
cmp dword [ebp - 0x1c], esi
jb 0x4033d0
mov edx, dword [ebp - 0x30]
push edx
call fcn.0040ca6a
add esp, 4
mov dword [ebp - 0x1c], edi
jmp 0x402eb6
mov eax, dword [ebp - 0x30]
mov edi, 0x10
cmp dword [ebp - 0x1c], edi
jae 0x4033e8
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x18c]
push str._action_view___s___noupdate__src_unknownprot
push ecx
call fcn.004063b0
add esp, 0xc
lea edx, [ebp - 0x18c]
push edx
lea eax, [ebp - 0x68]
push eax
mov byte [ebp - 4], 0x17
call fcn.00402b80
add esp, 8
cmp dword [ebp - 0x178], edi
jb 0x40342b
mov ecx, dword [ebp - 0x18c]
push ecx
call fcn.0040ca6a
add esp, 4
mov esi, 0xf
mov dword [ebp - 0x178], esi
mov dword [ebp - 0x17c], ebx
mov byte [ebp - 0x18c], bl
cmp dword [ebp - 0x54], edi
jb 0x403453
mov edx, dword [ebp - 0x68]
push edx
call fcn.0040ca6a
add esp, 4
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x58], ebx
mov byte [ebp - 0x68], bl
cmp dword [ebp - 0x1c], edi
jb 0x40346d
mov eax, dword [ebp - 0x30]
push eax
call fcn.0040ca6a
add esp, 4
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x20], ebx
mov byte [ebp - 0x30], bl
cmp dword [ebp - 0x70], edi
jb 0x40348a
mov ecx, dword [ebp - 0x84]
push ecx
call fcn.0040ca6a
add esp, 4
xor eax, eax
jmp 0x402ed5