Function at 0x4063e0
Capabilities:
Check os version
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x4b3ecb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xe9c
push ebx
push ebp
push esi
mov ebx, ecx
push edi
mov ebp, str.Dgrd.pac
mov edi, str.Egrd.pac
mov esi, str.Fgrd.pac
mov edx, str.Ggrd.pac
mov ecx, str.Hgrd.pac
mov eax, str.grd.pac
mov dword [esp + 0x64], str.script__s.txt
mov dword [esp + 0x68], str.script__s.sct
mov dword [esp + 0x6c], str.srp_10.pac
mov dword [esp + 0x70], str.srp_9.pac
mov dword [esp + 0x74], str.srp_8.pac
mov dword [esp + 0x78], str.srp_7.pac
mov dword [esp + 0x7c], str.srp_6.pac
mov dword [esp + 0x80], str.srp_5.pac
mov dword [esp + 0x84], str.srp_4.pac
mov dword [esp + 0x88], str.srp_3.pac
mov dword [esp + 0x8c], str.srp_2.pac
mov dword [esp + 0x90], str.srp.pac
mov dword [esp + 0x94], str.grp__s.bmp
mov dword [esp + 0x98], str.grp__s.grp
mov dword [esp + 0x9c], str.grd_2.pac
mov dword [esp + 0xa0], str.Agrd.pac
mov dword [esp + 0xa4], str.Bgrd.pac
mov dword [esp + 0xa8], str.Cgrd.pac
mov dword [esp + 0xac], ebp
mov dword [esp + 0xb0], edi
mov dword [esp + 0xb4], esi
mov dword [esp + 0xb8], edx
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], str.chr__s.tga
mov dword [esp + 0xc8], str.chr__s.grp
mov dword [esp + 0xcc], str.grd_2.pac
mov dword [esp + 0xd0], str.Agrd.pac
mov dword [esp + 0xd4], str.Bgrd.pac
mov dword [esp + 0xd8], str.Cgrd.pac
mov dword [esp + 0xdc], ebp
mov dword [esp + 0xe0], edi
mov dword [esp + 0xe4], esi
mov dword [esp + 0xe8], edx
mov dword [esp + 0xec], ecx
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], str.system__s.tga
mov dword [esp + 0xf8], str.system__s.grp
mov dword [esp + 0xfc], str.grd_2.pac
mov dword [esp + 0x100], str.Agrd.pac
mov dword [esp + 0x104], str.Bgrd.pac
mov dword [esp + 0x108], str.Cgrd.pac
mov dword [esp + 0x10c], ebp
mov dword [esp + 0x110], edi
mov dword [esp + 0x114], esi
mov dword [esp + 0x118], edx
mov dword [esp + 0x11c], ecx
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], str.effect__s.tga
mov dword [esp + 0x128], str.effect__s.grp
mov dword [esp + 0x12c], str.grd_2.pac
mov dword [esp + 0x130], str.Agrd.pac
mov dword [esp + 0x134], str.Bgrd.pac
mov dword [esp + 0x138], str.Cgrd.pac
mov dword [esp + 0x13c], ebp
mov dword [esp + 0x140], edi
mov dword [esp + 0x144], esi
mov dword [esp + 0x148], edx
mov dword [esp + 0x14c], ecx
mov dword [esp + 0x150], eax
mov dword [esp + 0x154], str.effect__s.tga
mov dword [esp + 0x158], str.effect__s.grp
mov dword [esp + 0x15c], str.grd_2.pac
mov dword [esp + 0x160], str.Agrd.pac
mov dword [esp + 0x164], str.Bgrd.pac
mov dword [esp + 0x168], str.Cgrd.pac
mov dword [esp + 0x16c], ebp
mov dword [esp + 0x170], edi
mov dword [esp + 0x174], esi
mov dword [esp + 0x178], edx
mov dword [esp + 0x17c], ecx
mov dword [esp + 0x180], eax
mov dword [esp + 0x184], str.voice__s.wav
mov dword [esp + 0x188], str.voice__s.ogg
mov dword [esp + 0x18c], str.vic_10.pac
mov dword [esp + 0x190], str.vic_9.pac
mov dword [esp + 0x194], str.vic_8.pac
mov dword [esp + 0x198], str.vic_7.pac
mov dword [esp + 0x19c], str.vic_6.pac
mov dword [esp + 0x1a0], str.vic_5.pac
mov dword [esp + 0x1a4], str.vic_4.pac
mov dword [esp + 0x1a8], str.vic_3.pac
mov dword [esp + 0x1ac], str.vic_2.pac
mov dword [esp + 0x1b0], str.vic.pac
mov dword [esp + 0x1b4], str.se__s.wav
mov dword [esp + 0x1b8], str.se__s.ogg
mov dword [esp + 0x1bc], str.se_10.pac
mov dword [esp + 0x1c0], str.se_9.pac
mov dword [esp + 0x1c4], str.se_8.pac
mov dword [esp + 0x1c8], str.se_7.pac
mov dword [esp + 0x1cc], str.se_6.pac
mov dword [esp + 0x1d0], str.se_5.pac
mov dword [esp + 0x1d4], str.se_4.pac
mov dword [esp + 0x1d8], str.se_3.pac
mov dword [esp + 0x1dc], str.se_2.pac
mov dword [esp + 0x1e0], str.se.pac
mov dword [esp + 0x1e4], str.sse__s.wav
mov dword [esp + 0x1e8], str.sse__s.ogg
mov dword [esp + 0x1ec], str.sse_10.pac
mov dword [esp + 0x1f0], str.sse_9.pac
mov dword [esp + 0x1f4], str.sse_8.pac
mov dword [esp + 0x1f8], str.sse_7.pac
mov dword [esp + 0x1fc], str.sse_6.pac
mov dword [esp + 0x200], str.sse_5.pac
mov dword [esp + 0x204], str.sse_4.pac
mov dword [esp + 0x208], str.sse_3.pac
mov dword [esp + 0x20c], str.sse_2.pac
mov dword [esp + 0x210], str.sse.pac
mov dword [esp + 0x214], str.mus__s.wav
mov dword [esp + 0x218], str.mus__s.snd
mov dword [esp + 0x21c], str.mus_10.pac
mov dword [esp + 0x220], str.mus_9.pac
mov dword [esp + 0x224], str.mus_8.pac
mov dword [esp + 0x228], str.mus_7.pac
mov dword [esp + 0x22c], str.mus_6.pac
mov dword [esp + 0x230], str.mus_5.pac
mov dword [esp + 0x234], str.mus_4.pac
mov dword [esp + 0x238], str.mus_3.pac
mov dword [esp + 0x23c], str.mus_2.pac
mov dword [esp + 0x240], str.mus.pac
mov dword [esp + 0x244], 0x4c8490
mov dword [esp + 0x248], str.movie__s
mov dword [esp + 0x24c], str.mov_10.pac
mov dword [esp + 0x250], str.mov_9.pac
mov dword [esp + 0x254], str.mov_8.pac
mov dword [esp + 0x258], str.mov_7.pac
mov dword [esp + 0x25c], str.mov_6.pac
mov dword [esp + 0x260], str.mov_5.pac
mov dword [esp + 0x264], str.mov_4.pac
mov dword [esp + 0x268], str.mov_3.pac
mov dword [esp + 0x26c], str.mov_2.pac
mov dword [esp + 0x270], str.mov.pac
mov dword [esp + 0x274], str.save__s.bmp
mov dword [esp + 0x278], str.save__s.grp
mov dword [esp + 0x27c], str.grd_2.pac
mov dword [esp + 0x280], str.Agrd.pac
mov dword [esp + 0x284], str.Bgrd.pac
mov dword [esp + 0x288], str.Cgrd.pac
mov dword [esp + 0x28c], ebp
mov dword [esp + 0x290], edi
mov dword [esp + 0x294], esi
mov dword [esp + 0x298], edx
mov dword [esp + 0x29c], ecx
mov dword [esp + 0x2a0], eax
mov dword [esp + 0x2a4], str._s_s.bmp
mov dword [esp + 0x2a8], str._s_s.grp
mov dword [esp + 0x2ac], str.grd_2.pac
mov dword [esp + 0x2b0], str.Agrd.pac
mov dword [esp + 0x2b4], str.Bgrd.pac
mov dword [esp + 0x2b8], str.Cgrd.pac
mov dword [esp + 0x2bc], ebp
mov dword [esp + 0x2d0], eax
mov dword [esp + 0x31c], ebp
mov dword [esp + 0x330], eax
mov dword [esp + 0x34c], ebp
mov dword [esp + 0x360], eax
mov dword [esp + 0x2cc], ecx
mov dword [esp + 0x32c], ecx
mov dword [esp + 0x35c], ecx
xor ebp, ebp
mov eax, 1
lea ecx, [esp + 0x14]
mov dword [esp + 0x2c0], edi
mov dword [esp + 0x2c4], esi
mov dword [esp + 0x2c8], edx
mov dword [esp + 0x2d4], str._s_s
mov dword [esp + 0x2d8], str._s_s
mov dword [esp + 0x2dc], str._ssave10__s
mov dword [esp + 0x2e0], str._ssave09__s
mov dword [esp + 0x2e4], str._ssave08__s
mov dword [esp + 0x2e8], str._ssave07__s
mov dword [esp + 0x2ec], str._ssave06__s
mov dword [esp + 0x2f0], str._ssave05__s
mov dword [esp + 0x2f4], str._ssave04__s
mov dword [esp + 0x2f8], str._ssave03__s
mov dword [esp + 0x2fc], str._ssave02__s
mov dword [esp + 0x300], str._ssave__s
mov dword [esp + 0x304], str.mask__s.bmp
mov dword [esp + 0x308], str.mask__s.grp
mov dword [esp + 0x30c], str.grd_2.pac
mov dword [esp + 0x310], str.Agrd.pac
mov dword [esp + 0x314], str.Bgrd.pac
mov dword [esp + 0x318], str.Cgrd.pac
mov dword [esp + 0x320], edi
mov dword [esp + 0x324], esi
mov dword [esp + 0x328], edx
mov dword [esp + 0x334], 0x4c8300
mov dword [esp + 0x338], str.photo__s.grp
mov dword [esp + 0x33c], str.grd_2.pac
mov dword [esp + 0x340], str.Agrd.pac
mov dword [esp + 0x344], str.Bgrd.pac
mov dword [esp + 0x348], str.Cgrd.pac
mov dword [esp + 0x350], edi
mov dword [esp + 0x354], esi
mov dword [esp + 0x358], edx
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], ebp
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], ebp
mov dword [esp + 0x54], ebp
mov dword [esp + 0x58], ebp
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ebp
call fcn.004075b0
mov esi, dword [esp + 0xebc]
mov dword [esp + 0xeb4], ebp
cmp esi, ebp
je 0x406f1b
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x406f1b
mov eax, dword [esp + 0xec0]
xor edi, edi
mov dword [esp + 0x10], edi
lea eax, [eax + eax*2]
shl eax, 4
mov dword [esp + 0x1c], eax
lea eax, [esp + eax + 0x64]
mov dword [esp + 0x20], eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
push esi
lea edx, [esp + 0x368]
mov ecx, dword [eax]
push ecx
push edx
call fcn.004a725f
add esp, 0xc
cmp edi, 0xb
ja case.default.0x406c32
xor eax, eax
mov al, byte [edi + 0x406f54]
jmp dword [eax*4 + 0x406f4c]
lea ecx, [esp + 0x364]
push ecx
call fcn.00402ec0
add esp, 4
test eax, eax
jne 0x406d16
jmp case.default.0x406c32
lea edx, [ebx + 0x4c]
lea eax, [ebx + 0x44]
push edx
push eax
lea ecx, [esp + 0x36c]
push esi
push ecx
lea ecx, [esp + 0x24]
call fcn.004075c0
test eax, eax
jne 0x406e72
mov ecx, dword [esp + 0x10]
inc edi
add ecx, 4
cmp edi, 0xc
mov dword [esp + 0x10], ecx
jl 0x406c0d
mov eax, dword [ebx + 0x54]
mov dword [esp + 0x10], edi
cmp eax, ebp
je 0x406f1b
mov eax, dword [esp + 0xec0]
cmp dword [esp + eax*4 + 0x24], ebp
je 0x406f1b
cmp eax, 0xa
mov dword [esp + 0x18], ebp
jne 0x406d4f
mov edi, str.movie
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0xaac]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0xaac]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x96c]
push ecx
push edx
call dword [0x4b6134]
cmp eax, 0xffffffff
je 0x406d9b
cmp dword [esp + 0x96c], 0x10
jne 0x406d9b
mov dword [esp + 0x18], 1
jmp 0x406d9b
mov dword [esp + 0x10], edi
lea edi, [esp + 0x364]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [ebx + 4]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [ebx + 0x44], ebp
mov dword [ebx + 0x4c], ebp
mov dword [ebx + 0x48], ebp
jmp 0x406e9d
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x10], 2
lea edi, [esp + eax + 0x6c]
mov ecx, dword [edi]
push esi
lea edx, [esp + 0x368]
push ecx
push edx
call fcn.004a725f
lea eax, [esp + 0x370]
push eax
call fcn.00402ec0
add esp, 0x10
cmp eax, ebp
mov dword [esp + 0x18], eax
jne 0x406da2
mov eax, dword [esp + 0x10]
add edi, 4
inc eax
cmp eax, 0xc
mov dword [esp + 0x10], eax
jl 0x406d5f
jmp 0x406da2
mov esi, dword [esp + 0xebc]
lea ecx, [esp + 0x764]
push ecx
mov ecx, ebx
call fcn.00405fe0
test eax, eax
je 0x406ebf
mov edx, dword [esp + 0x20]
xor edi, edi
mov dword [esp + 0x10], edi
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0x10]
push esi
lea edx, [esp + 0x86c]
mov ecx, dword [eax]
push ecx
push edx
call fcn.004a725f
lea eax, [esp + 0x874]
lea ecx, [esp + 0x770]
push eax
lea eax, [ebx + 0x9c]
push eax
push ecx
lea edx, [esp + 0x37c]
push str._s_s__s
push edx
call fcn.004a725f
add esp, 0x20
cmp edi, 0xb
ja case.default.0x406e15
xor eax, eax
mov al, byte [edi + 0x406f68]
jmp dword [eax*4 + 0x406f60]
lea ecx, [esp + 0x364]
push ecx
call fcn.00402ec0
add esp, 4
test eax, eax
jne 0x406d16
jmp case.default.0x406e15
lea edx, [ebx + 0x4c]
lea eax, [ebx + 0x44]
push edx
push eax
lea ecx, [esp + 0x36c]
push esi
push ecx
lea ecx, [esp + 0x24]
call fcn.004075c0
test eax, eax
jne 0x406e72
mov ecx, dword [esp + 0x10]
inc edi
add ecx, 4
cmp edi, 0xc
mov dword [esp + 0x10], ecx
jl 0x406dc7
mov dword [esp + 0x10], edi
jmp 0x406f1b
mov dword [esp + 0x10], edi
lea edi, [esp + 0x364]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [ebx + 4]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x10]
mov dword [ebx + 0x50], ecx
lea ecx, [esp + 0x14]
mov dword [esp + 0xeb4], 0xffffffff
call fcn.00493420
mov eax, 1
jmp 0x406f31
cmp dword [esp + 0x18], ebp
jne 0x406f1b
call fcn.00403200
push ebp
push 0x4c8080
push 0x4c82b0
push ebp
call dword [0x4b62b8]
cmp dword [esp + 0xec4], ebp
je 0x406f1b
xor edi, edi
mov edx, dword [esp + 0xec0]
push ebp
push edx
push esi
mov ecx, ebx
call fcn.004063e0
test eax, eax
jne 0x406ea4
inc edi
cmp edi, 4
jl 0x406ee7
push ebp
push 0x4c8080
push 0x4c8270
push ebp
call dword [0x4b62b8]
push ebp
call dword [0x4b62a8]
lea ecx, [esp + 0x14]
mov dword [esp + 0xeb4], 0xffffffff
call fcn.00493420
xor eax, eax
mov ecx, dword [esp + 0xeac]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0xea8
ret 0xc