Function at 0x4fe1b0
Capabilities:
Terminate process

Disassembly:
sub esp, 0x9ac
mov eax, dword [esp + 0x9b0]
mov edx, dword [0x6b7918]
push ebx
xor ebx, ebx
shr eax, 1
push ebp
and al, 1
push esi
cmp edx, ebx
push edi
mov byte [esp + 0x13], al
jne 0x4fe2ac
mov eax, dword [0x6b7900]
push 0x6b7918
push 0x53cad8
push eax
mov ecx, dword [eax]
call dword [ecx]
mov edi, eax
cmp edi, ebx
je 0x4fe2a6
push 0x20d
push str.C:_backupSpideyPCSpideyPCD3dDXinit.cpp
push edi
call fcn.004fc820
add esp, 0xc
cmp edi, ebx
jge 0x4fe2a6
call fcn.005027a0
push 1
call fcn.004fd850
add esp, 4
call fcn.00503af0
mov eax, dword [0x6b7920]
cmp eax, ebx
je 0x4fe263
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov esi, eax
cmp esi, ebx
je 0x4fe25d
push 0x4db
push str.C:_backupSpideyPCSpideyPCD3dDXinit.cpp
push esi
call fcn.004fc630
add esp, 0xc
cmp esi, ebx
jge 0x4fe25d
call fcn.005001b0
push esi
call fcn.0052a101
mov dword [0x6b7920], ebx
mov eax, dword [0x6b7924]
cmp eax, ebx
je 0x4fe2a0
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov esi, eax
cmp esi, ebx
je 0x4fe29a
push 0x4c5
push str.C:_backupSpideyPCSpideyPCD3dDXinit.cpp
push esi
call fcn.004fc240
add esp, 0xc
cmp esi, ebx
jge 0x4fe29a
call fcn.005001b0
push esi
call fcn.0052a101
mov dword [0x6b7924], ebx
push edi
call fcn.0052a101
mov edx, dword [0x6b7918]
mov ecx, 0x201
xor eax, eax
lea edi, [esp + 0x1b8]
rep stosd dword es:[edi], eax
mov eax, dword [edx]
lea ecx, [esp + 0x1b8]
push ecx
push 0x4fece0
push edx
call dword [eax + 0xc]
mov edi, eax
cmp edi, ebx
je 0x4fe388
push 0x215
push str.C:_backupSpideyPCSpideyPCD3dDXinit.cpp
push edi
call fcn.004fc820
add esp, 0xc
cmp edi, ebx
jge 0x4fe388
call fcn.005027a0
push 1
call fcn.004fd850
add esp, 4
call fcn.00503af0
mov eax, dword [0x6b7920]
cmp eax, ebx
je 0x4fe345
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov esi, eax
cmp esi, ebx
je 0x4fe33f
push 0x4db
push str.C:_backupSpideyPCSpideyPCD3dDXinit.cpp
push esi
call fcn.004fc630
add esp, 0xc
cmp esi, ebx
jge 0x4fe33f
call fcn.005001b0
push esi
call fcn.0052a101
mov dword [0x6b7920], ebx
mov eax, dword [0x6b7924]
cmp eax, ebx
je 0x4fe382
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov esi, eax
cmp esi, ebx
je 0x4fe37c
push 0x4c5
push str.C:_backupSpideyPCSpideyPCD3dDXinit.cpp
push esi
call fcn.004fc240
add esp, 0xc
cmp esi, ebx
jge 0x4fe37c
call fcn.005001b0
push esi
call fcn.0052a101
mov dword [0x6b7924], ebx
push edi
call fcn.0052a101
mov edx, dword [esp + 0x1b8]
or ebx, 0xffffffff
mov esi, ebx
mov dword [esp + 0x14], ebx
lea eax, [edx - 1]
mov dword [esp + 0x18], esi
test eax, eax
mov ebp, ebx
mov dword [esp + 0x1c], ebx
jl 0x4fe416
mov ecx, eax
shl ecx, 8
lea edx, [esp + ecx + 0x290]
mov ecx, 4
mov edi, 0x53caa8
mov esi, edx
xor ebx, ebx
repe cmpsd dword [esi], dword es:[edi]
jne 0x4fe3cb
mov ebp, eax
jmp 0x4fe3f9
mov ecx, 4
mov edi, 0x53cab8
mov esi, edx
xor ebx, ebx
repe cmpsd dword [esi], dword es:[edi]
jne 0x4fe3e3
mov dword [esp + 0x18], eax
jmp 0x4fe3f9
mov ecx, 4
mov edi, 0x53cac8
mov esi, edx
xor ebx, ebx
repe cmpsd dword [esi], dword es:[edi]
jne 0x4fe3f9
mov dword [esp + 0x14], eax
dec eax
sub edx, 0x100
test eax, eax
jge 0x4fe3b5
mov esi, dword [esp + 0x18]
cmp ebp, 0xffffffff
jne 0x4fe41f
cmp esi, 0xffffffff
jne 0x4fe41f
mov ebx, dword [esp + 0x1c]
xor al, al
mov byte [0x562d64], al
jmp 0x4fe42a
mov ebx, dword [esp + 0x1c]
mov al, 1
mov byte [0x562d64], al
mov ecx, dword [0x6b78f8]
test ecx, ecx
jne 0x4fe61f
cmp ebp, 0xffffffff
je 0x4fe441
mov ebx, ebp
jmp 0x4fe455
cmp esi, 0xffffffff
je 0x4fe44a
mov ebx, esi
jmp 0x4fe455
mov ecx, dword [esp + 0x14]
cmp ecx, 0xffffffff
je 0x4fe455
mov ebx, ecx
test al, al
jne 0x4fe623
mov ecx, dword [0x6b790c]
test ecx, ecx
je 0x4fe615
mov eax, dword [0x6b7908]
push ecx
push 0
push eax
mov edx, dword [eax]
call dword [edx + 0x20]
mov edi, eax
test edi, edi
je 0x4fe53a
push 0x235
push str.C:_backupSpideyPCSpideyPCD3dDXinit.cpp
push edi
call fcn.004fc820
add esp, 0xc
test edi, edi
jge 0x4fe53a
call fcn.005027a0
push 1
call fcn.004fd850
add esp, 4
call fcn.00503af0
mov eax, dword [0x6b7920]
test eax, eax
je 0x4fe4f3
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov esi, eax
test esi, esi
je 0x4fe4e9
push 0x4db
push str.C:_backupSpideyPCSpideyPCD3dDXinit.cpp
push esi
call fcn.004fc630
add esp, 0xc
test esi, esi
jge 0x4fe4e9
call fcn.005001b0
push esi
call fcn.0052a101
mov dword [0x6b7920], 0
mov eax, dword [0x6b7924]
test eax, eax
je 0x4fe534
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov esi, eax
test esi, esi
je 0x4fe52a
push 0x4c5
push str.C:_backupSpideyPCSpideyPCD3dDXinit.cpp
push esi
call fcn.004fc240
add esp, 0xc
test esi, esi
jge 0x4fe52a
call fcn.005001b0
push esi
call fcn.0052a101
mov dword [0x6b7924], 0
push edi
call fcn.0052a101
mov eax, dword [0x6b790c]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov edi, eax
test edi, edi
je 0x4fe606
push 0x239
push str.C:_backupSpideyPCSpideyPCD3dDXinit.cpp
push edi
call fcn.004fc820
add esp, 0xc
test edi, edi
jge 0x4fe606
call fcn.005027a0
push 1
call fcn.004fd850
add esp, 4
call fcn.00503af0
mov eax, dword [0x6b7920]
test eax, eax
je 0x4fe5bf
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov esi, eax
test esi, esi
je 0x4fe5b5
push 0x4db
push str.C:_backupSpideyPCSpideyPCD3dDXinit.cpp
push esi
call fcn.004fc630
add esp, 0xc
test esi, esi
jge 0x4fe5b5
call fcn.005001b0
push esi
call fcn.0052a101
mov dword [0x6b7920], 0
mov eax, dword [0x6b7924]
test eax, eax
je 0x4fe600
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov esi, eax
test esi, esi
je 0x4fe5f6
push 0x4c5
push str.C:_backupSpideyPCSpideyPCD3dDXinit.cpp
push esi
call fcn.004fc240
add esp, 0xc
test esi, esi
jge 0x4fe5f6
call fcn.005001b0
push esi
call fcn.0052a101
mov dword [0x6b7924], 0
push edi
call fcn.0052a101
mov dword [0x6b790c], 0
mov byte [esp + 0x13], 0
mov dword [0x6b78f8], 1
mov ebx, dword [esp + 0x14]
cmp ebx, 0xffffffff
push str.no_D3D_device_found_
setne dl
push edx
call fcn.004015b0
add esp, 8
cmp ebx, ebp
jne 0x4fe642
cmp esi, 0xffffffff
je 0x4fe642
mov ebx, esi
mov esi, ebx
shl esi, 8
mov eax, dword [esp + esi + 0x2b8]
push eax
push str.D3D_Device:__s_n
call fcn.004015b0
mov eax, dword [esp + 0x1c0]
add esp, 8
xor edi, edi
test eax, eax
jle 0x4fe68e
lea ebp, [esp + 0x2b8]
mov ecx, dword [ebp]
push ecx
call fcn.0052a3c0
mov eax, dword [esp + 0x1bc]
add esp, 4
inc edi
add ebp, 0x100
cmp edi, eax
jl 0x4fe670
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0xb4]
lea ebp, [esp + esi + 0x290]
rep stosd dword es:[edi], eax
mov eax, dword [0x6b7918]
lea ecx, [esp + 0xb4]
push ecx
push 0x4fed70
mov edx, dword [eax]
push ebp
push eax
call dword [edx + 0x18]
mov edi, eax
test edi, edi
je 0x4fe77f
push 0x25d
push str.C:_backupSpideyPCSpideyPCD3dDXinit.cpp
push edi
call fcn.004fc820
add esp, 0xc
test edi, edi
jge 0x4fe77f
call fcn.005027a0
push 1
call fcn.004fd850
add esp, 4
call fcn.00503af0
mov eax, dword [0x6b7920]
test eax, eax
je 0x4fe738
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov esi, eax
test esi, esi
je 0x4fe72e
push 0x4db
push str.C:_backupSpideyPCSpideyPCD3dDXinit.cpp
push esi
call fcn.004fc630
add esp, 0xc
test esi, esi
jge 0x4fe72e
call fcn.005001b0
push esi
call fcn.0052a101
mov dword [0x6b7920], 0
mov eax, dword [0x6b7924]
test eax, eax
je 0x4fe779
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov esi, eax
test esi, esi
je 0x4fe76f
push 0x4c5
push str.C:_backupSpideyPCSpideyPCD3dDXinit.cpp
push esi
call fcn.004fc240
add esp, 0xc
test esi, esi
jge 0x4fe76f
call fcn.005001b0
push esi
call fcn.0052a101
mov dword [0x6b7924], 0
push edi
call fcn.0052a101
mov al, byte [esp + 0x13]
test al, al
je 0x4fea1b
mov eax, dword [0x6b78f8]
test eax, eax
jne 0x4fea1b
mov ecx, dword [esp + 0xb4]
mov eax, 1
xor esi, esi
cmp ecx, eax
jle 0x4fe7c0
lea edx, [esp + 0xe4]
cmp dword [edx], 0x10
jne 0x4fe7b8
mov esi, eax
inc eax
add edx, 0x20
cmp eax, ecx
jl 0x4fe7b1
shl esi, 5
cmp dword [esp + esi + 0xc4], 0x10
je 0x4fe7e8
lea esi, [ecx - 1]
shl esi, 5
mov edx, dword [esp + esi + 0xc4]
push edx
push str.No_16_bit_ZBuffer_found._Using__i_bit_ZBuffer_r_n
call fcn.004015b0
add esp, 8
mov eax, dword [esp + esi + 0xc4]
push eax
push str.ZBuffer:__i_n
call fcn.004015b0
mov edx, dword [0x6b78e8]
mov ecx, 0x1f
xor eax, eax
lea edi, [esp + 0x40]
rep stosd dword es:[edi], eax
mov ecx, dword [0x6b78e4]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x4c], ecx
add esp, 8
lea esi, [esp + esi + 0xb8]
mov ecx, 8
lea edi, [esp + 0x80]
mov dword [esp + 0x38], 0x7c
mov dword [esp + 0x3c], 0x1007
mov dword [esp + 0xa0], 0x20000
mov dword [esp + 0x40], edx
cmp ebx, eax
rep movsd dword es:[edi], dword [esi]
jne 0x4fe861
mov dword [esp + 0xa0], 0x20800
mov eax, dword [0x6b7900]
xor ebx, ebx
push ebx
lea edx, [esp + 0x3c]
mov ecx, dword [eax]
push 0x6b790c
push edx
push eax
call dword [ecx + 0x18]
mov edi, eax
cmp edi, ebx
je 0x4fe932
push 0x282
push str.C:_backupSpideyPCSpideyPCD3dDXinit.cpp
push edi
call fcn.004fc820
add esp, 0xc
cmp edi, ebx
jge 0x4fe932
call fcn.005027a0
push 1
call fcn.004fd850
add esp, 4
call fcn.00503af0
mov eax, dword [0x6b7920]
cmp eax, ebx
je 0x4fe8ef
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov esi, eax
cmp esi, ebx
je 0x4fe8e9
push 0x4db
push str.C:_backupSpideyPCSpideyPCD3dDXinit.cpp
push esi
call fcn.004fc630
add esp, 0xc
cmp esi, ebx
jge 0x4fe8e9
call fcn.005001b0
push esi
call fcn.0052a101
mov dword [0x6b7920], ebx
mov eax, dword [0x6b7924]
cmp eax, ebx
je 0x4fe92c
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov esi, eax
cmp esi, ebx
je 0x4fe926
push 0x4c5
push str.C:_backupSpideyPCSpideyPCD3dDXinit.cpp
push esi
call fcn.004fc240
add esp, 0xc
cmp esi, ebx
jge 0x4fe926
call fcn.005001b0
push esi
call fcn.0052a101
mov dword [0x6b7924], ebx
push edi
call fcn.0052a101
mov eax, dword [0x6b7908]
mov edx, dword [0x6b790c]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc]
mov edi, eax
cmp edi, 0x8876000a
jne 0x4fe964
cmp dword [0x6b78ec], 0x10
jbe 0x4fe96c
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x9ac
ret
cmp edi, ebx
je 0x4fea1b
push 0x28f
push str.C:_backupSpideyPCSpideyPCD3dDXinit.cpp
push edi
call fcn.004fc820
add esp, 0xc
cmp edi, ebx
jge 0x4fea1b
call fcn.005027a0
push 1
call fcn.004fd850
add esp, 4
call fcn.00503af0
mov eax, dword [0x6b7920]
cmp eax, ebx
je 0x4fe9d8
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov esi, eax
cmp esi, ebx
je 0x4fe9d2
push 0x4db
push str.C:_backupSpideyPCSpideyPCD3dDXinit.cpp
push esi
call fcn.004fc630
add esp, 0xc
cmp esi, ebx
jge 0x4fe9d2
call fcn.005001b0
push esi
call fcn.0052a101
mov dword [0x6b7920], ebx
mov eax, dword [0x6b7924]
cmp eax, ebx
je 0x4fea15
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov esi, eax
cmp esi, ebx
je 0x4fea0f
push 0x4c5
push str.C:_backupSpideyPCSpideyPCD3dDXinit.cpp
push esi
call fcn.004fc240
add esp, 0xc
cmp esi, ebx
jge 0x4fea0f
call fcn.005001b0
push esi
call fcn.0052a101
mov dword [0x6b7924], ebx
push edi
call fcn.0052a101
mov eax, dword [0x6b7918]
mov edx, dword [0x6b7908]
push 0x6b791c
push edx
mov ecx, dword [eax]
push ebp
push eax
call dword [ecx + 0x10]
mov edi, eax
xor ebx, ebx
cmp edi, ebx
je 0x4feaee
push 0x298
push str.C:_backupSpideyPCSpideyPCD3dDXinit.cpp
push edi
call fcn.004fc820
add esp, 0xc
cmp edi, ebx
jge 0x4feaee
call fcn.005027a0
push 1
call fcn.004fd850
add esp, 4
call fcn.00503af0
mov eax, dword [0x6b7920]
cmp eax, ebx
je 0x4feaab
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov esi, eax
cmp esi, ebx
je 0x4feaa5
push 0x4db
push str.C:_backupSpideyPCSpideyPCD3dDXinit.cpp
push esi
call fcn.004fc630
add esp, 0xc
cmp esi, ebx
jge 0x4feaa5
call fcn.005001b0
push esi
call fcn.0052a101
mov dword [0x6b7920], ebx
mov eax, dword [0x6b7924]
cmp eax, ebx
je 0x4feae8
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov esi, eax
cmp esi, ebx
je 0x4feae2
push 0x4c5
push str.C:_backupSpideyPCSpideyPCD3dDXinit.cpp
push esi
call fcn.004fc240
add esp, 0xc
cmp esi, ebx
jge 0x4feae2
call fcn.005001b0
push esi
call fcn.0052a101
mov dword [0x6b7924], ebx
push edi
call fcn.0052a101
mov eax, dword [0x6b791c]
push 0x6b5780
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc]
mov edi, eax
cmp edi, ebx
je 0x4febb7
push 0x29d
push str.C:_backupSpideyPCSpideyPCD3dDXinit.cpp
push edi
call fcn.004fc820
add esp, 0xc
cmp edi, ebx
jge 0x4febb7
call fcn.005027a0
push 1
call fcn.004fd850
add esp, 4
call fcn.00503af0
mov eax, dword [0x6b7920]
cmp eax, ebx
je 0x4feb74
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov esi, eax
cmp esi, ebx
je 0x4feb6e
push 0x4db
push str.C:_backupSpideyPCSpideyPCD3dDXinit.cpp
push esi
call fcn.004fc630
add esp, 0xc
cmp esi, ebx
jge 0x4feb6e
call fcn.005001b0
push esi
call fcn.0052a101
mov dword [0x6b7920], ebx
mov eax, dword [0x6b7924]
cmp eax, ebx
je 0x4febb1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov esi, eax
cmp esi, ebx
je 0x4febab
push 0x4c5
push str.C:_backupSpideyPCSpideyPCD3dDXinit.cpp
push esi
call fcn.004fc240
add esp, 0xc
cmp esi, ebx
jge 0x4febab
call fcn.005001b0
push esi
call fcn.0052a101
mov dword [0x6b7924], ebx
push edi
call fcn.0052a101
mov edx, dword [0x6b78e4]
mov ecx, 6
xor eax, eax
lea edi, [esp + 0x20]
rep stosd dword es:[edi], eax
mov eax, dword [0x6b78e8]
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], eax
mov eax, dword [0x6b791c]
lea edx, [esp + 0x20]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], 0x3f800000
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x34]
mov edi, eax
cmp edi, ebx
je 0x4fecb4
push 0x2a9
push str.C:_backupSpideyPCSpideyPCD3dDXinit.cpp
push edi
call fcn.004fc820
add esp, 0xc
cmp edi, ebx
jge 0x4fecb4
call fcn.005027a0
push 1
call fcn.004fd850
add esp, 4
call fcn.00503af0
mov eax, dword [0x6b7920]
cmp eax, ebx
je 0x4fec71
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov esi, eax
cmp esi, ebx
je 0x4fec6b
push 0x4db
push str.C:_backupSpideyPCSpideyPCD3dDXinit.cpp
push esi
call fcn.004fc630
add esp, 0xc
cmp esi, ebx
jge 0x4fec6b
call fcn.005001b0
push esi
call fcn.0052a101
mov dword [0x6b7920], ebx
mov eax, dword [0x6b7924]
cmp eax, ebx
je 0x4fecae
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov esi, eax
cmp esi, ebx
je 0x4feca8
push 0x4c5
push str.C:_backupSpideyPCSpideyPCD3dDXinit.cpp
push esi
call fcn.004fc240
add esp, 0xc
cmp esi, ebx
jge 0x4feca8
call fcn.005001b0
push esi
call fcn.0052a101
mov dword [0x6b7924], ebx
push edi
call fcn.0052a101
test byte [0x6b5834], 5
jne 0x4fecca
push str._tSelected_3D_device_does_not_support_Modulate2X_color_mode__r_n
call fcn.004015b0
add esp, 4
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0x9ac
ret