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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10e0e90b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, 0x35f4
call fcn.10dde6c0
push ebx
mov ebx, ecx
mov eax, dword [ebx + 0x68]
mov ecx, dword [ebx + 0x70]
mov edx, dword [ebx + 0x74]
push esi
mov dword [esp + 0x80], eax
mov eax, dword [ebx + 0xa0]
mov dword [esp + 0x84], ecx
mov ecx, dword [eax + 0x50]
mov dword [esp + 0x88], edx
xor esi, esi
push edi
lea edx, [esp + 0x2c]
mov dword [esp + 0x90], ecx
push edx
lea ecx, [esp + 0x174]
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], 1
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], esi
call fcn.1095cf50
mov eax, dword [ebp + 0x28]
cmp eax, esi
jne 0x10961ffe
lea eax, [ebp + 8]
push esi
push esi
push eax
lea eax, [esp + 0x17c]
push eax
mov ecx, ebx
call fcn.10964580
test eax, eax
mov edi, 7
je 0x10962801
mov eax, dword [esp + 0x188]
cmp eax, esi
jne 0x1096206b
cmp dword [ebp + 8], edi
jne 0x1096206b
mov ecx, dword [esp + 0x184]
cmp ecx, 3
jne 0x109620af
mov edx, dword [ebx + 0x1c]
lea esi, [ebx + 0x1c]
push 1
lea eax, [esp + 0x13]
push eax
mov ecx, esi
mov byte [esp + 0x17], 8
call dword [edx + 4]
mov edx, dword [esi]
lea eax, [esp + 0x188]
push eax
mov ecx, esi
call dword [edx + 0x1c]
mov dword [esp + 0x170], edi
jmp 0x10962831
mov ecx, dword [esp + 0x184]
cmp ecx, 3
jne 0x109620af
lea ecx, [ebp + 8]
push ecx
lea ecx, [esp + 0x174]
call fcn.1095eea0
mov ecx, dword [esp + 0x178]
and ecx, 0xfffffeff
lea edx, [esp + 0x170]
mov dword [esp + 0x178], ecx
push edx
mov ecx, ebx
call fcn.1095d4f0
jmp 0x10962831
cmp ecx, 1
je 0x109620bd
cmp ecx, 2
jne 0x10962170
lea eax, [esp + 0x194]
push 0x10e535a8
push eax
call fcn.109b8b60
add esp, 8
test eax, eax
jne 0x10962169
mov eax, dword [ebp + 8]
push esi
push 0x7fffffff
lea ecx, [esp + 0x178]
push ecx
mov ecx, dword [ebp + 0xc]
push esi
sub esp, 0x14
mov edx, esp
mov dword [edx], eax
mov eax, dword [ebp + 0x10]
mov dword [edx + 4], ecx
mov ecx, dword [ebp + 0x14]
mov dword [edx + 8], eax
mov eax, dword [ebp + 0x18]
mov dword [edx + 0xc], ecx
mov ecx, ebx
mov dword [edx + 0x10], eax
call fcn.10961f70
test eax, eax
jne 0x10962123
push str.Bad_or_missing_expression_in_parenthesis
call fcn.109b93d0
add esp, 4
push 0x10e535a0
mov ecx, ebx
call fcn.1095da00
test eax, eax
jne 0x1096214a
push str.expression
push 0x10e535a0
push str.Missing__s_in__s
call fcn.109b93d0
add esp, 0xc
cmp dword [esp + 0x170], esi
jne 0x10962831
push str.Bad_or_missing_expression_in_parenthesis
call fcn.109b93d0
add esp, 4
jmp 0x10962831
mov eax, dword [esp + 0x188]
cmp eax, 0x50
je 0x109621a6
cmp eax, 0x51
je 0x109621a6
cmp eax, 0x52
je 0x109621a6
cmp eax, 0x53
je 0x109621a6
cmp eax, 0x54
je 0x109621a6
cmp eax, 0x55
je 0x109621a6
cmp eax, 0x5c
je 0x109621a6
cmp eax, 0x56
je 0x109621a6
cmp eax, 0x57
je 0x109621a6
cmp eax, 0x58
jne 0x10962447
push 0x10e535a8
mov ecx, ebx
call fcn.1095da00
test eax, eax
je 0x10962440
mov esi, dword [esp + 0x188]
cmp esi, 0x57
jne 0x109621cf
push 0
push str.Vector
jmp 0x109621db
cmp esi, 0x58
jne 0x10962219
push 0
push str.Rotator
push 0xffffffffffffffff
call fcn.1095aa90
add esp, 0xc
push eax
lea ecx, [esp + 0x58]
call fcn.10959940
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov esi, dword [esp + 0x188]
mov dword [esp + 0x68], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x6c], edx
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], eax
jmp 0x109622c5
cmp esi, 0x50
jne 0x10962228
mov edi, 1
jmp 0x109622aa
cmp esi, 0x51
jne 0x10962234
mov edi, 2
jmp 0x109622aa
cmp esi, 0x5e
jne 0x10962240
mov edi, 0xe
jmp 0x109622aa
cmp esi, 0x52
jne 0x1096224c
mov edi, 3
jmp 0x109622aa
cmp esi, 0x53
jne 0x10962258
mov edi, 4
jmp 0x109622aa
cmp esi, 0x54
jne 0x10962264
mov edi, 6
jmp 0x109622aa
cmp esi, 0x55
jne 0x10962270
mov edi, 0xd
jmp 0x109622aa
cmp esi, 0x5c
jne 0x1096227c
mov edi, 0xd
jmp 0x109622aa
xor ecx, ecx
cmp esi, 0x56
setne cl
dec ecx
and ecx, 0xa
mov edi, ecx
jne 0x109622aa
push 0x9f5
push str..UnScrCom.cpp
push str.T_CPT_None
call fcn.109bb190
mov esi, dword [esp + 0x194]
add esp, 0xc
mov eax, 1
xor edx, edx
xor ecx, ecx
mov dword [esp + 0x6c], eax
xor eax, eax
mov dword [esp + 0x68], edi
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], edx
mov dword [esp + 0x70], ecx
lea ecx, [esp + 0xa18]
call fcn.1095cf00
xor edx, edx
push edx
push 0x7fffffff
lea edi, [esp + 0xa20]
push edi
mov edi, dword [0x110a36dc]
mov esi, dword [edi + esi*4]
add esi, 0xc
push esi
xor eax, eax
sub esp, 0x14
mov esi, esp
mov dword [esi], eax
mov ecx, 1
mov dword [esi + 4], ecx
mov dword [esi + 8], edx
mov dword [esi + 0xc], eax
mov ecx, ebx
mov dword [esi + 0x10], eax
call fcn.10961f70
mov eax, dword [esp + 0xa18]
test eax, eax
jne 0x1096233e
mov edx, dword [esp + 0x188]
mov eax, dword [0x110a36dc]
mov ecx, dword [eax + edx*4]
add ecx, 0xc
push ecx
push str._s_conversion:_Bad_or_missing_expression
call fcn.109b93d0
add esp, 8
lea edx, [esp + 0xa18]
push edx
lea eax, [esp + 0x6c]
push eax
call fcn.1095d280
mov esi, eax
add esp, 8
cmp esi, 0xff
je 0x109623ba
lea ecx, [esp + 0x2c]
push ecx
mov ecx, ebx
call fcn.1095b8a0
lea edi, [ebx + 0x1c]
push 0x26
mov ecx, edi
call fcn.1095a010
and esi, 0xfffffcff
push esi
mov ecx, edi
call fcn.1095a030
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x88]
push eax
mov ecx, ebx
call fcn.1095b960
lea ecx, [esp + 0x68]
push ecx
lea ecx, [esp + 0x2d60]
call fcn.1095cf50
mov ecx, 0x229
mov esi, eax
lea edi, [esp + 0x170]
rep movsd dword es:[edi], dword [esi]
jmp 0x10962406
mov edx, dword [esp + 0xa18]
mov eax, dword [esp + 0x68]
cmp eax, edx
jne 0x109623e5
mov edx, dword [0x110a36dc]
mov eax, dword [edx + eax*4]
add eax, 0xc
push eax
push str.No_need_to_cast__s_to_itself
call fcn.109b93d0
add esp, 8
jmp 0x10962406
mov ecx, dword [0x110a36dc]
mov eax, dword [ecx + eax*4]
mov ecx, dword [ecx + edx*4]
add eax, 0xc
push eax
add ecx, 0xc
push ecx
push str.Cant_convert__s_to__s
call fcn.109b93d0
add esp, 0xc
mov esi, dword [esp + 0x178]
and esi, 0xfffffeff
push 0x10e535a0
mov ecx, ebx
mov dword [esp + 0x17c], esi
call fcn.1095da00
test eax, eax
jne 0x10962831
push str.Missing___in_type_conversion
call fcn.109b93d0
add esp, 4
jmp 0x10962831
mov eax, dword [esp + 0x188]
cmp eax, 0x68
jne 0x10962498
push 0x8000
push str.self
mov ecx, ebx
call fcn.1095a530
push 0x1d
lea ecx, [ebx + 0x1c]
call fcn.1095a010
mov edx, dword [ebx + 0x14]
push 0
push edx
lea ecx, [esp + 0x5c]
call fcn.10959910
push eax
lea ecx, [esp + 0x2d60]
call fcn.1095cf50
mov ecx, 0x229
mov esi, eax
lea edi, [esp + 0x170]
rep movsd dword es:[edi], dword [esi]
jmp 0x10962831
cmp eax, 0x291
jne 0x1096277a
lea esi, [ebx + 0x1c]
push 1
mov ecx, esi
call fcn.1095a010
push 0x10e535a8
mov ecx, ebx
call fcn.1095da00
test eax, eax
je 0x109624d6
push 0x10e535a0
mov ecx, ebx
call fcn.1095da00
test eax, eax
jne 0x109624d6
mov eax, 1
jmp 0x109624d8
xor eax, eax
test eax, eax
mov ecx, dword [ebx + 0x14]
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], ecx
je 0x109625ef
lea ecx, [esp + 0x1c08]
call fcn.1095cf00
push 0
call fcn.10917ea0
push eax
lea ecx, [esp + 0x5c]
call fcn.10959910
push 0
push 0x7fffffff
lea edx, [esp + 0x1c10]
push edx
mov edx, dword [eax]
push str.new_parent_object
sub esp, 0x14
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
mov dword [ecx + 0xc], edx
mov dword [ecx + 0x10], eax
mov ecx, ebx
call fcn.10961f70
mov eax, dword [esp + 0x1c14]
test eax, eax
jne 0x1096255b
call fcn.10917ea0
mov dword [esp + 0x1c14], eax
push 0x10e4b0d0
mov ecx, ebx
mov dword [esp + 0x1c], eax
call fcn.1095da00
test eax, eax
je 0x109625f8
xor esi, esi
push esi
push 0x7fffffff
push esi
push str.new_name
sub esp, 0x14
mov eax, 0xd
mov edi, esp
mov dword [edi], eax
mov ecx, 1
mov dword [edi + 4], ecx
xor edx, edx
mov dword [edi + 8], edx
xor eax, eax
mov dword [edi + 0xc], esi
mov ecx, ebx
mov dword [edi + 0x10], eax
call fcn.10961f70
push 0x10e4b0d0
mov ecx, ebx
call fcn.1095da00
test eax, eax
je 0x10962601
xor edx, edx
push edx
push 0x7fffffff
push edx
push str.new_flags
sub esp, 0x14
mov eax, 2
mov edi, esp
mov dword [edi], eax
mov ecx, 1
mov dword [edi + 4], ecx
mov dword [edi + 8], edx
xor eax, eax
mov dword [edi + 0xc], esi
mov ecx, ebx
mov dword [edi + 0x10], eax
call fcn.10961f70
jmp 0x1096260b
push 0x2b
mov ecx, esi
call fcn.1095a010
push 0x2b
mov ecx, esi
call fcn.1095a010
push 0x2b
lea ecx, [ebx + 0x1c]
call fcn.1095a010
mov eax, dword [esp + 0x10]
test eax, eax
je 0x10962624
push str.new
push 0x10e535a0
mov ecx, ebx
call fcn.1095dbd0
lea ecx, [esp + 0xa18]
call fcn.1095cf00
call fcn.10917ea0
push eax
call fcn.10917e50
push eax
lea ecx, [esp + 0x5c]
call fcn.10959910
push 0
push 0x7fffffff
lea ecx, [esp + 0xa20]
push ecx
mov ecx, dword [eax]
push str.new
sub esp, 0x14
mov edx, esp
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov ecx, dword [eax + 8]
mov dword [edx + 8], ecx
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
mov dword [edx + 0xc], ecx
mov ecx, ebx
mov dword [edx + 0x10], eax
call fcn.10961f70
mov eax, dword [esp + 0xa28]
test eax, eax
jne 0x10962699
push str.new:_Invalid_class
call fcn.109b93d0
add esp, 4
mov ecx, dword [esp + 0xa28]
mov eax, dword [ecx + 0x4b4]
test eax, eax
jne 0x109626c1
push 0xa47
push str..UnScrCom.cpp
push str.NewClass.MetaClass__ClassWithin
call fcn.109bb190
add esp, 0xc
mov edx, dword [esp + 0xa28]
push 0
push edx
lea ecx, [esp + 0x5c]
call fcn.10959910
lea eax, [esp + 0x54]
push eax
lea ecx, [esp + 0x2d60]
call fcn.1095cf50
mov esi, eax
mov eax, dword [esp + 0x18]
test eax, eax
mov ecx, 0x229
lea edi, [esp + 0x170]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0xa28]
je 0x10962716
mov ecx, dword [esi + 0x4b4]
push ecx
mov ecx, eax
call fcn.10917f60
test eax, eax
jne 0x10962750
mov edx, dword [esp + 0x18]
mov ecx, dword [edx + 0x24]
mov eax, dword [0x110a36dc]
mov edx, dword [eax + ecx*4]
mov ecx, dword [esi + 0x4b4]
add edx, 0xc
push edx
mov edx, dword [ecx + 0x24]
mov ecx, dword [eax + edx*4]
mov edx, dword [esi + 0x24]
mov eax, dword [eax + edx*4]
add ecx, 0xc
push ecx
add eax, 0xc
push eax
push str.new:__s_objects_must_reside_in__s_objects__not__s_objects
call fcn.109b93d0
add esp, 0x10
push 0x10e535a8
mov ecx, ebx
call fcn.1095da00
test eax, eax
je 0x10962831
push str.new_constructor_parameters
push 0x10e535a0
mov ecx, ebx
call fcn.1095dbd0
jmp 0x10962831
lea ecx, [esp + 0x170]
push ecx
sub esp, 0x8a4
mov edi, esp
mov ecx, 0x229
lea esi, [esp + 0xa18]
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
call fcn.1095ddc0
test eax, eax
jne 0x10962831
mov edx, dword [ebx + 0x9c]
mov eax, dword [edx + 8]
shr eax, 0xf
and eax, 1
push eax
mov eax, dword [ebx + 0xa0]
push 1
lea ecx, [esp + 0x178]
push ecx
sub esp, 0x8a4
mov edi, esp
lea edx, [ebp + 8]
mov ecx, 0x229
lea esi, [esp + 0xa20]
push edx
rep movsd dword es:[edi], dword [esi]
push eax
mov ecx, ebx
call fcn.109609b0
test eax, eax
jne 0x10962831
mov ecx, dword [esp + 0x18c]
mov edx, dword [esp + 0x190]
mov dword [ebx + 0x70], ecx
mov dword [ebx + 0x74], edx
xor esi, esi
xor edx, edx
xor eax, eax
mov ecx, 1
xor edi, edi
mov dword [esp + 0x170], eax
mov dword [esp + 0x174], ecx
mov dword [esp + 0x178], edx
mov dword [esp + 0x17c], esi
mov dword [esp + 0x180], edi
xor edi, edi
cmp dword [esp + 0x174], edi
jne 0x10962996
push 0x10e476d4
mov ecx, ebx
call fcn.1095da00
test eax, eax
je 0x10962996
push ecx
mov eax, esp
mov ecx, ebx
mov dword [esp + 0x2c], esp
mov dword [eax], 0x346
call fcn.1095d970
cmp eax, edi
je 0x10962930
mov eax, dword [ebx + 0x68]
mov ecx, dword [ebx + 0x70]
mov edx, dword [ebx + 0x74]
mov dword [esp + 0xb8], eax
mov eax, dword [ebx + 0xa0]
mov dword [esp + 0xbc], ecx
mov ecx, dword [eax + 0x50]
mov dword [esp + 0xc4], ecx
lea ecx, [ebx + 0x1c]
push 1
lea eax, [esp + 0x13]
mov dword [esp + 0xc4], edx
mov edx, dword [ecx]
push eax
mov byte [esp + 0x17], 0x19
call dword [edx + 4]
lea ecx, [esp + 0xb8]
push ecx
lea edx, [esp + 0x88]
push edx
mov ecx, ebx
call fcn.1095b960
xor eax, eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
lea eax, [esp + 0x54]
push eax
lea ecx, [esp + 0x2d60]
mov dword [esp + 0x58], 2
mov dword [esp + 0x5c], 1
call fcn.1095cf50
mov ecx, 0x229
lea esi, [esp + 0x2d5c]
lea edi, [esp + 0x170]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x178]
or eax, 0x100
mov dword [esp + 0x174], 1
mov dword [esp + 0x178], eax
jmp 0x10962831
push ecx
mov eax, esp
mov ecx, ebx
mov dword [esp + 0x2c], esp
mov dword [eax], 0x347
call fcn.1095d970
cmp eax, edi
jne 0x1096317e
push ecx
mov eax, esp
mov ecx, ebx
mov dword [esp + 0x2c], esp
mov dword [eax], 0x348
call fcn.1095d970
cmp eax, edi
jne 0x1096329d
push ecx
mov eax, esp
mov ecx, ebx
mov dword [esp + 0x2c], esp
mov dword [eax], 0x361
call fcn.1095d970
cmp eax, edi
jne 0x109633e0
push 0x10e54df0
call fcn.109b93d0
add esp, 4
jmp 0x10962833
mov eax, dword [esp + 0x174]
mov esi, 1
cmp eax, esi
je 0x10962a88
push 0x10e54dec
mov ecx, ebx
call fcn.1095da00
test eax, eax
je 0x10963500
mov ecx, dword [ebx + 0x68]
mov edx, dword [ebx + 0x70]
mov eax, dword [ebx + 0x74]
mov dword [esp + 0xf8], ecx
mov ecx, dword [ebx + 0xa0]
mov dword [esp + 0xfc], edx
mov edx, dword [ecx + 0x50]
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0x174]
mov dword [esp + 0x104], edx
lea edx, [esp + 0xf]
push esi
lea ecx, [ebx + 0x1c]
cmp eax, esi
mov eax, dword [ecx]
push edx
mov byte [esp + 0x17], 0x37
jg 0x10962a0c
mov byte [esp + 0x17], 0x12
call dword [eax + 4]
push edi
push 0x7fffffff
push edi
mov dword [esp + 0x180], esi
mov ecx, esi
push 0x10e54dd4
sub esp, 0x14
mov eax, 2
mov esi, esp
mov dword [esi], eax
mov dword [esi + 4], ecx
xor edx, edx
mov dword [esi + 8], edx
xor eax, eax
mov dword [esi + 0xc], eax
mov ecx, ebx
mov dword [esi + 0x10], eax
call fcn.10961f70
push 0x10e54dd0
mov ecx, ebx
call fcn.1095da00
test eax, eax
jne 0x10962a6c
lea eax, [esp + 0x194]
push eax
push str._s_is_an_array__expecting__
call fcn.109b93d0
add esp, 8
lea ecx, [esp + 0xf8]
push ecx
lea edx, [esp + 0x88]
push edx
mov ecx, ebx
call fcn.1095b960
jmp 0x10962833
cmp dword [esp + 0x170], 0xa
jne 0x10962cda
push 0x10e476d4
mov ecx, ebx
call fcn.1095da00
test eax, eax
je 0x10962cda
cmp dword [esp + 0x17c], edi
jne 0x10962aca
push 0xac9
push str..UnScrCom.cpp
push str.Token.Struct_NULL
call fcn.109bb190
add esp, 0xc
push edi
xor eax, eax
push edi
mov ecx, esi
mov dword [esp + 0x1368], eax
mov dword [esp + 0x1374], eax
push edi
lea eax, [esp + 0x136c]
xor edx, edx
mov dword [esp + 0x1370], ecx
push eax
mov ecx, ebx
mov dword [esp + 0x1378], edx
mov dword [esp + 0x1380], edi
mov dword [esp + 0x1384], edi
mov dword [esp + 0x1388], edi
mov dword [esp + 0x138c], edi
mov dword [esp + 0x1390], edi
call fcn.10964580
mov eax, dword [esp + 0x17c]
cmp eax, edi
mov dword [esp + 0x14], edi
mov dword [esp + 0x20], eax
je 0x10962b3d
mov ecx, dword [eax + 0x40]
mov dword [esp + 0x24], ecx
jmp 0x10962b41
mov dword [esp + 0x24], edi
lea ecx, [esp + 0x20]
call fcn.10916230
mov eax, dword [esp + 0x24]
cmp eax, edi
je 0x10962b80
cmp dword [esp + 0x14], edi
jne 0x10962bb2
mov ecx, dword [eax + 0x24]
cmp ecx, dword [esp + 0x1378]
jne 0x10962b68
mov dword [esp + 0x14], eax
mov edx, dword [eax + 0x30]
lea ecx, [esp + 0x20]
mov dword [esp + 0x24], edx
call fcn.10916230
mov eax, dword [esp + 0x24]
cmp eax, edi
jne 0x10962b52
cmp dword [esp + 0x14], edi
jne 0x10962bb2
mov eax, dword [esp + 0x17c]
mov ecx, dword [eax + 0x24]
mov edx, dword [0x110a36dc]
mov eax, dword [edx + ecx*4]
add eax, 0xc
push eax
lea ecx, [esp + 0x1388]
push ecx
push str.Unknown_member__s_in_struct__s
call fcn.109b93d0
add esp, 0xc
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x178]
push edx
lea ecx, [esp + 0x110]
call fcn.1095c940
mov ecx, dword [eax]
mov dword [esp + 0x170], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x174], edx
mov ecx, dword [eax + 8]
mov dword [esp + 0x178], ecx
mov edx, dword [eax + 0xc]
and ecx, 0x3002
or ecx, esi
mov dword [esp + 0x17c], edx
mov eax, dword [eax + 0x10]
mov edx, dword [ebx + 0x70]
mov dword [esp + 0x178], ecx
mov ecx, dword [ebx + 0x68]
mov dword [esp + 0xd8], ecx
mov ecx, dword [ebx + 0xa0]
mov dword [esp + 0x180], eax
mov eax, dword [ebx + 0x74]
mov dword [esp + 0xdc], edx
mov edx, dword [ecx + 0x50]
mov ecx, dword [0x110a82d0]
cmp ecx, edi
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], edx
jne 0x10962c5f
push 0x10e47eb0
call fcn.109fae40
add esp, 4
mov dword [0x110a82d0], eax
call fcn.109f8880
mov ecx, dword [0x110a82d0]
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x28]
cmp eax, edi
je 0x10962c7b
lea ebx, [ebx]
cmp eax, ecx
je 0x10962c86
mov eax, dword [eax + 0x2c]
cmp eax, edi
jne 0x10962c70
xor eax, eax
cmp ecx, edi
sete al
cmp eax, edi
je 0x10962c9b
mov edx, dword [ebx + 0x1c]
lea ecx, [ebx + 0x1c]
push 1
lea eax, [esp + 0x13]
push eax
mov byte [esp + 0x17], 0x14
call dword [edx + 4]
mov edx, dword [ebx + 0x1c]
lea esi, [ebx + 0x1c]
push 1
lea eax, [esp + 0x13]
push eax
mov ecx, esi
mov byte [esp + 0x17], 0x18
call dword [edx + 4]
mov edx, dword [esi]
lea eax, [esp + 0x14]
push eax
mov ecx, esi
call dword [edx + 0x18]
lea ecx, [esp + 0xd8]
push ecx
lea edx, [esp + 0x88]
push edx
mov ecx, ebx
call fcn.1095b960
jmp 0x10962833
cmp dword [esp + 0x170], 5
jne 0x10963500
push 0x10e476d4
mov ecx, ebx
call fcn.1095da00
test eax, eax
je 0x10963500
cmp dword [esp + 0x17c], edi
jne 0x10962d1c
push 0xae0
push str..UnScrCom.cpp
push str.Token.PropertyClass_NULL
call fcn.109bb190
add esp, 0xc
mov ecx, 0x229
lea esi, [esp + 0x170]
lea edi, [esp + 0xa18]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0xa24]
mov ecx, dword [ebx + 0x14]
push 0
push eax
call fcn.1095bce0
mov eax, dword [0x110a3910]
test eax, eax
jne 0x10962d63
push 0x10e47eb0
call fcn.109e2090
add esp, 4
mov dword [0x110a3910], eax
call fcn.109e2af0
mov ecx, dword [0x110a3910]
cmp dword [esp + 0x17c], ecx
jne 0x10962f92
mov eax, dword [esp + 0x180]
test eax, eax
jne 0x10962d98
push 0xae9
push str..UnScrCom.cpp
push str.Token.MetaClass
call fcn.109bb190
add esp, 0xc
mov edx, dword [esp + 0x180]
mov ecx, dword [ebx + 0x14]
push 0
push edx
call fcn.1095bce0
push ecx
mov eax, esp
mov ecx, ebx
mov dword [esp + 0x2c], esp
mov dword [eax], 0x27a
call fcn.1095db40
test eax, eax
jne 0x10962dde
push ecx
mov eax, esp
mov ecx, ebx
mov dword [esp + 0x2c], esp
mov dword [eax], 0x2c7
call fcn.1095db40
test eax, eax
je 0x10962f92
mov eax, dword [ebx + 0x68]
mov ecx, dword [ebx + 0x70]
mov edx, dword [ebx + 0x74]
mov dword [esp + 0xc8], eax
mov eax, dword [ebx + 0xa0]
mov dword [esp + 0xcc], ecx
mov ecx, dword [eax + 0x50]
mov dword [esp + 0xd4], ecx
lea ecx, [ebx + 0x1c]
push 1
lea eax, [esp + 0x13]
mov dword [esp + 0xd4], edx
mov edx, dword [ecx]
push eax
mov byte [esp + 0x17], 0x22
call dword [edx + 4]
lea ecx, [esp + 0xc8]
push ecx
lea edx, [esp + 0x88]
push edx
mov ecx, ebx
call fcn.1095b960
push 0
push 0
push 0
lea eax, [esp + 0x17c]
push eax
mov ecx, ebx
call fcn.10964580
mov eax, dword [ebx + 0x74]
mov ecx, dword [ebx + 0x68]
mov edx, dword [ebx + 0x70]
push 0
push 0
mov dword [esp + 0xb0], ecx
mov ecx, dword [ebx + 0xa0]
mov dword [esp + 0xb8], eax
lea eax, [esp + 0x178]
push eax
sub esp, 0x8a4
mov dword [esp + 0x95c], edx
mov edx, dword [ecx + 0x50]
mov edi, esp
mov esi, eax
mov ecx, 0x229
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp + 8]
mov dword [esp + 0x964], edx
mov edx, dword [esp + 0xa30]
push ecx
push edx
mov ecx, ebx
call fcn.109609b0
test eax, eax
jne 0x10962ed2
mov eax, dword [esp + 0x180]
mov ecx, dword [eax + 0x24]
mov edx, dword [0x110a36dc]
mov eax, dword [edx + ecx*4]
add eax, 0xc
push eax
push str._s:_Bad_context_expression
call fcn.109b93d0
add esp, 8
mov ecx, dword [ebx + 0x68]
mov edx, dword [ebx + 0x70]
mov eax, dword [ebx + 0x74]
mov dword [esp + 0xe8], ecx
mov ecx, dword [ebx + 0xa0]
mov dword [esp + 0xf0], eax
mov eax, dword [ecx + 0x50]
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0xec], edx
lea edx, [esp + 0x10]
mov dword [esp + 0xf4], eax
push edx
sub eax, ecx
lea esi, [ebx + 0x1c]
push esi
mov dword [esp + 0x18], eax
call fcn.109e5550
mov eax, dword [esp + 0x178]
add esp, 8
cmp eax, 0xa
je 0x10962f33
mov eax, dword [eax*4 + 0x10e52e04]
jmp 0x10962f42
mov ecx, dword [esp + 0x17c]
mov eax, dword [ecx]
call dword [eax + 0x80]
imul eax, dword [esp + 0x174]
movzx ecx, al
cmp ecx, eax
mov byte [esp + 0xf], al
je 0x10962f68
push eax
push str.Context_expression
push str._s:_Variable_is_too_large___i_bytes__255_max_
call fcn.109b93d0
add esp, 0xc
lea edx, [esp + 0xf]
push edx
push esi
call fcn.109e54d0
add esp, 8
lea eax, [esp + 0xe8]
push eax
lea ecx, [esp + 0xac]
push ecx
mov ecx, ebx
call fcn.1095b960
jmp 0x10962831
mov edx, dword [ebx + 0x68]
mov eax, dword [ebx + 0x70]
mov ecx, dword [ebx + 0x74]
mov dword [esp + 0x68], edx
mov edx, dword [ebx + 0xa0]
mov dword [esp + 0x6c], eax
mov eax, dword [edx + 0x50]
mov edx, dword [ebx + 0x1c]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], eax
lea ecx, [ebx + 0x1c]
push 1
lea eax, [esp + 0x13]
push eax
mov byte [esp + 0x17], 0x29
call dword [edx + 4]
lea ecx, [esp + 0x68]
push ecx
lea edx, [esp + 0x88]
push edx
mov ecx, ebx
call fcn.1095b960
xor esi, esi
push esi
xor eax, eax
push esi
mov ecx, 1
mov dword [esp + 0x1c10], eax
push esi
lea eax, [esp + 0x1c14]
xor edx, edx
mov dword [esp + 0x1c18], ecx
xor edi, edi
push eax
mov ecx, ebx
mov dword [esp + 0x1c20], edx
mov dword [esp + 0x1c24], esi
mov dword [esp + 0x1c28], edi
mov dword [esp + 0x1c2c], esi
mov dword [esp + 0x1c30], esi
mov dword [esp + 0x1c34], esi
mov dword [esp + 0x1c38], esi
call fcn.10964580
mov eax, dword [ebx + 0x74]
mov ecx, dword [ebx + 0x68]
mov edx, dword [ebx + 0x70]
push 1
push esi
mov dword [esp + 0xa0], ecx
mov ecx, dword [ebx + 0xa0]
mov dword [esp + 0xa8], eax
lea eax, [esp + 0x178]
push eax
sub esp, 0x8a4
mov dword [esp + 0x94c], edx
mov edx, dword [ecx + 0x50]
mov edi, esp
mov ecx, 0x229
lea esi, [esp + 0x24b8]
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp + 8]
mov dword [esp + 0x954], edx
mov edx, dword [esp + 0x12d4]
push ecx
push edx
mov ecx, ebx
call fcn.109609b0
test eax, eax
jne 0x109630cd
mov eax, dword [esp + 0xa24]
mov ecx, dword [eax + 0x24]
mov edx, dword [0x110a36dc]
mov eax, dword [edx + ecx*4]
add eax, 0xc
push eax
lea ecx, [esp + 0x1c30]
push ecx
push str.Unrecognized_member__s_in_class__s
call fcn.109b93d0
add esp, 0xc
mov edx, dword [ebx + 0x68]
mov eax, dword [ebx + 0x70]
mov ecx, dword [ebx + 0x74]
mov dword [esp + 0x2c], edx
mov edx, dword [ebx + 0xa0]
mov dword [esp + 0x30], eax
mov eax, dword [edx + 0x50]
mov edx, dword [esp + 0xa4]
mov dword [esp + 0x38], eax
sub eax, edx
mov dword [esp + 0x50], eax
lea eax, [esp + 0x50]
push eax
lea esi, [ebx + 0x1c]
push esi
mov dword [esp + 0x3c], ecx
call fcn.109e5550
mov eax, dword [esp + 0x178]
add esp, 8
cmp eax, 0xa
je 0x10963122
mov eax, dword [eax*4 + 0x10e52e04]
jmp 0x10963131
mov ecx, dword [esp + 0x17c]
mov edx, dword [ecx]
call dword [edx + 0x80]
imul eax, dword [esp + 0x174]
movzx ecx, al
cmp ecx, eax
mov byte [esp + 0xf], al
je 0x10963157
push eax
push str.Context_expression
push str._s:_Variable_is_too_large___i_bytes__255_max_
call fcn.109b93d0
add esp, 0xc
lea edx, [esp + 0xf]
push edx
push esi
call fcn.109e54d0
add esp, 8
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x9c]
push ecx
mov ecx, ebx
call fcn.1095b960
jmp 0x10962831
mov edx, dword [ebx + 0x68]
mov eax, dword [ebx + 0x70]
mov ecx, dword [ebx + 0x74]
mov dword [esp + 0x2c], edx
mov edx, dword [ebx + 0xa0]
mov dword [esp + 0x30], eax
mov eax, dword [edx + 0x50]
mov edx, dword [ebx + 0x1c]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], eax
lea ecx, [ebx + 0x1c]
push 1
lea eax, [esp + 0x13]
push eax
mov byte [esp + 0x17], 0x20
call dword [edx + 4]
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x88]
push edx
mov ecx, ebx
call fcn.1095b960
push 0x10e535a8
mov ecx, ebx
call fcn.1095da00
test eax, eax
jne 0x109631f0
push str.insert_..._
push 0x10e535a8
push str.Missing__s_in__s
call fcn.109b93d0
add esp, 0xc
push edi
push 0x7fffffff
push edi
push str.insert_..._
sub esp, 0x14
mov eax, 2
mov esi, esp
mov dword [esi], eax
mov ecx, 1
mov dword [esi + 4], ecx
xor edx, edx
mov dword [esi + 8], edx
xor eax, eax
mov dword [esi + 0xc], eax
mov ecx, ebx
mov dword [esi + 0x10], eax
call fcn.10961f70
push 0x10e4b0d0
mov ecx, ebx
call fcn.1095da00
test eax, eax
jne 0x1096324b
push str.insert_..._
push 0x10e4b0d0
push str.Missing__s_in__s
call fcn.109b93d0
add esp, 0xc
push edi
push 0x7fffffff
push edi
push str.insert_..._
sub esp, 0x14
mov eax, 2
mov esi, esp
mov dword [esi], eax
mov ecx, 1
mov dword [esi + 4], ecx
xor edx, edx
mov dword [esi + 8], edx
xor eax, eax
mov dword [esi + 0xc], eax
mov ecx, ebx
mov dword [esi + 0x10], edi
call fcn.10961f70
push 0x10e535a0
mov ecx, ebx
call fcn.1095da00
test eax, eax
jne 0x109634ac
push str.insert_..._
jmp 0x1096349a
mov ecx, dword [ebx + 0x68]
mov edx, dword [ebx + 0x70]
mov eax, dword [ebx + 0x74]
mov dword [esp + 0x2c], ecx
mov ecx, dword [ebx + 0xa0]
mov dword [esp + 0x30], edx
mov edx, dword [ecx + 0x50]
mov dword [esp + 0x38], edx
lea ecx, [ebx + 0x1c]
push 1
lea edx, [esp + 0x13]
mov dword [esp + 0x38], eax
mov eax, dword [ecx]
push edx
mov byte [esp + 0x17], 0x31
call dword [eax + 4]
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x88]
push ecx
mov ecx, ebx
call fcn.1095b960
push 0x10e535a8
mov ecx, ebx
call fcn.1095da00
test eax, eax
jne 0x1096330e
push str.remove_..._
push 0x10e535a8
push str.Missing__s_in__s
call fcn.109b93d0
add esp, 0xc
push edi
push 0x7fffffff
push edi
push str.remove_..._
sub esp, 0x14
mov eax, 2
mov esi, esp
mov dword [esi], eax
mov ecx, 1
mov dword [esi + 4], ecx
xor edx, edx
mov dword [esi + 8], edx
xor eax, eax
mov dword [esi + 0xc], eax
mov ecx, ebx
mov dword [esi + 0x10], eax
call fcn.10961f70
push 0x10e4b0d0
mov ecx, ebx
call fcn.1095da00
test eax, eax
jne 0x10963369
push str.remove_..._
push 0x10e4b0d0
push str.Missing__s_in__s
call fcn.109b93d0
add esp, 0xc
push edi
push 0x7fffffff
push edi
push str.remove_..._
sub esp, 0x14
mov eax, 2
mov esi, esp
mov dword [esi], eax
mov ecx, 1
mov dword [esi + 4], ecx
xor edx, edx
mov dword [esi + 8], edx
xor eax, eax
mov dword [esi + 0xc], eax
mov ecx, ebx
mov dword [esi + 0x10], edi
call fcn.10961f70
push 0x10e535a0
mov ecx, ebx
call fcn.1095da00
test eax, eax
jne 0x109633c4
push str.remove_..._
push 0x10e535a0
push str.Missing__s_in__s
call fcn.109b93d0
add esp, 0xc
xor eax, eax
lea edx, [esp + 0x54]
mov dword [esp + 0x54], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
push edx
jmp 0x109634c3
mov eax, dword [ebx + 0x68]
mov ecx, dword [ebx + 0x70]
mov edx, dword [ebx + 0x74]
mov dword [esp + 0x2c], eax
mov eax, dword [ebx + 0xa0]
mov dword [esp + 0x30], ecx
mov ecx, dword [eax + 0x50]
mov dword [esp + 0x38], ecx
lea ecx, [ebx + 0x1c]
push 1
lea eax, [esp + 0x13]
mov dword [esp + 0x38], edx
mov edx, dword [ecx]
push eax
mov byte [esp + 0x17], 0x32
call dword [edx + 4]
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x88]
push edx
mov ecx, ebx
call fcn.1095b960
push 0x10e535a8
mov ecx, ebx
call fcn.1095da00
test eax, eax
jne 0x10963451
push str.sort_..._
push 0x10e535a8
push str.Missing__s_in__s
call fcn.109b93d0
add esp, 0xc
push edi
push 0x7fffffff
push edi
push str.sort_..._
sub esp, 0x14
mov eax, 7
mov esi, esp
mov dword [esi], eax
mov ecx, 1
mov dword [esi + 4], ecx
xor edx, edx
mov dword [esi + 8], edx
xor eax, eax
mov dword [esi + 0xc], eax
mov ecx, ebx
mov dword [esi + 0x10], edi
call fcn.10961f70
push 0x10e535a0
mov ecx, ebx
call fcn.1095da00
test eax, eax
jne 0x109634ac
push str.sort_..._
push 0x10e535a0
push str.Missing__s_in__s
call fcn.109b93d0
add esp, 0xc
xor eax, eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x54], eax
lea eax, [esp + 0x54]
push eax
lea ecx, [esp + 0x2d60]
mov dword [esp + 0x5c], 1
call fcn.1095cf50
mov esi, eax
lea edi, [esp + 0x170]
mov ecx, 0x229
rep movsd dword es:[edi], dword [esi]
mov dword [ebx + 0x88], 1
xor edi, edi
jmp 0x10963500
xor eax, eax
mov dword [esp + 0x24b0], eax
mov eax, 1
mov dword [esp + 0x24b4], eax
xor eax, eax
mov dword [esp + 0x24b8], eax
mov dword [esp + 0x24bc], eax
mov dword [esp + 0x24c0], eax
mov dword [esp + 0x24c4], edi
mov dword [esp + 0x24c8], edi
mov dword [esp + 0x24cc], edi
mov dword [esp + 0x24d0], edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x80], edi
mov dword [esp + 0x50], edi
mov dword [esp + 0x7c], 3
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
mov esi, dword [esp + 0x170]
xor ecx, ecx
cmp esi, edi
sete cl
push edi
push 1
push edi
lea edx, [esp + 0x24bc]
push edx
mov dword [esp + 0x361c], edi
mov esi, ecx
mov dword [esp + 0x5c], esi
neg esi
sbb esi, esi
and esi, 0x10
mov ecx, ebx
or esi, 0x1000
call fcn.10964580
test eax, eax
je 0x10963fc8
mov eax, dword [esp + 0x24c8]
test eax, eax
je 0x10963fc8
mov eax, dword [ebx + 0x98]
dec eax
cmp eax, 1
jl 0x109636e8
mov ecx, eax
imul ecx, ecx, 0x8f8
lea edx, [ecx + ebx + 0xa4]
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
test eax, eax
mov dword [esp + 0xb8], eax
je 0x10963601
mov ecx, dword [eax + 0x40]
mov dword [esp + 0xbc], ecx
jmp 0x1096360c
mov dword [esp + 0xbc], 0
lea ecx, [esp + 0xb8]
call fcn.109462f0
mov edi, dword [esp + 0xbc]
test edi, edi
je 0x109636cb
jmp 0x10963630
mov edx, dword [edi + 0x48]
cmp edx, dword [esp + 0x24c8]
jne 0x109636a6
mov eax, dword [edi + 0x84]
and eax, 0x1010
cmp esi, eax
jne 0x109636a6
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x1c], ecx
inc ecx
cmp ecx, eax
mov dword [esp + 0x44], ecx
jle 0x1096367f
lea eax, [ecx + ecx*2]
cdq
and edx, 7
add eax, edx
sar eax, 3
lea ecx, [eax + ecx + 0x20]
mov dword [esp + 0x48], ecx
push 4
lea ecx, [esp + 0x44]
call fcn.109b8e40
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x40]
mov dword [edx + eax*4], edi
movzx ecx, byte [edi + 0x8c]
movzx eax, byte [edi + 0x8d]
mov dword [esp + 0x1c], ecx
cmp dword [esp + 0x7c], eax
jle 0x109636a6
mov dword [esp + 0x7c], eax
mov edx, dword [edi + 0x30]
lea ecx, [esp + 0xb8]
mov dword [esp + 0xbc], edx
call fcn.109462f0
mov edi, dword [esp + 0xbc]
test edi, edi
jne 0x10963630
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
sub ecx, 0x8f8
dec eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x18], eax
jne 0x109635e4
mov eax, dword [esp + 0x44]
test eax, eax
jle 0x10963fc8
mov eax, dword [esp + 0x1c]
cmp eax, dword [ebp + 0x24]
jge 0x10963fc8
mov ecx, dword [ebx + 0x68]
mov eax, dword [ebx + 0x74]
mov edx, dword [ebx + 0x70]
mov dword [esp + 0xa8], ecx
mov ecx, dword [ebx + 0xa0]
mov dword [esp + 0xb0], eax
xor eax, eax
mov dword [esp + 0xac], edx
mov edx, dword [ecx + 0x50]
mov dword [esp + 0x1360], eax
mov dword [esp + 0x1374], eax
mov dword [esp + 0x1378], eax
mov dword [esp + 0x137c], eax
mov dword [esp + 0x1380], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0xb4], edx
xor edx, edx
xor esi, esi
xor edi, edi
cmp eax, 3
mov ecx, 1
mov dword [esp + 0x1364], ecx
mov dword [esp + 0x1368], edx
mov dword [esp + 0x136c], esi
mov dword [esp + 0x1370], edi
je 0x10963790
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x10963824
mov eax, dword [0x110a36dc]
mov ecx, dword [esp + 0x24c8]
mov edx, dword [eax + ecx*4]
add edx, 0xc
push edx
lea eax, [esp + 0x12c4]
push str.Following__s
push eax
call fcn.109b8af0
mov edx, dword [esp + 0x28]
add esp, 0xc
lea ecx, [esp + 0x170]
push ecx
push edx
lea eax, [esp + 0x1368]
push eax
lea ecx, [esp + 0x12cc]
push ecx
sub esp, 0x14
xor eax, eax
mov edx, esp
mov dword [edx], eax
mov eax, 1
mov dword [edx + 4], eax
xor eax, eax
mov dword [edx + 8], eax
mov dword [edx + 0xc], eax
mov ecx, ebx
mov dword [edx + 0x10], eax
call fcn.10961f70
mov eax, dword [esp + 0x1360]
test eax, eax
jne 0x10963824
mov eax, dword [esp + 0x24c8]
mov ecx, dword [0x110a36dc]
mov edx, dword [ecx + eax*4]
add edx, 0xc
push edx
push str.Bad_or_missing_expression_after__s
call fcn.109b93d0
add esp, 8
mov ecx, dword [esp + 0x44]
xor eax, eax
cmp ecx, eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
jle 0x10963b4c
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x1c]
mov edi, dword [eax + ecx*4]
xor esi, esi
cmp edi, esi
mov dword [esp + 0x94], edi
mov dword [esp + 0x20], edi
je 0x10963867
mov edx, dword [edi + 0x40]
mov dword [esp + 0x24], edx
jmp 0x1096386b
mov dword [esp + 0x24], esi
lea ecx, [esp + 0x20]
call fcn.10916230
cmp byte [edi + 0x8d], 3
je 0x10963885
mov eax, dword [esp + 0x4c]
test eax, eax
jne 0x109638da
mov eax, dword [esp + 0x24]
mov esi, eax
mov eax, dword [eax + 0x30]
lea ecx, [esp + 0x20]
mov dword [esp + 0x24], eax
call fcn.10916230
lea ecx, [esp + 0x170]
push ecx
push esi
lea ecx, [esp + 0x114]
call fcn.1095c940
push eax
mov ecx, ebx
call fcn.1095dc40
mov esi, eax
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x109638d2
cmp esi, 0x7fffffff
mov dword [esp + 0x10], 0
je 0x109638da
mov dword [esp + 0x10], 1
cmp byte [edi + 0x8d], 3
je 0x109638eb
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x10963940
mov eax, dword [esp + 0x24]
mov edx, dword [eax + 0x30]
lea ecx, [esp + 0x20]
mov edi, eax
mov dword [esp + 0x24], edx
call fcn.10916230
lea eax, [esp + 0x1360]
push eax
push edi
lea ecx, [esp + 0x5c]
call fcn.1095c940
push eax
mov ecx, ebx
call fcn.1095dc40
cmp esi, eax
jge 0x10963921
mov esi, eax
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x10963938
cmp eax, 0x7fffffff
mov dword [esp + 0x18], 0
je 0x10963940
mov dword [esp + 0x18], 1
mov eax, dword [esp + 0x14]
test eax, eax
mov eax, dword [esp + 0x40]
je 0x10963955
cmp esi, dword [esp + 0x80]
jge 0x1096398c
mov ecx, dword [esp + 0x94]
movzx edx, byte [ecx + 0x8d]
cmp edx, dword [esp + 0x7c]
jne 0x10963985
mov ecx, dword [esp + 0x1c]
mov edx, dword [eax + ecx*4]
mov dword [esp + 0x14], edx
mov dword [esp + 0x80], esi
mov dword [esp + 0x50], 1
jmp 0x10963992
cmp esi, dword [esp + 0x80]
jne 0x10963992
inc dword [esp + 0x50]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x44]
inc ecx
cmp ecx, edx
mov dword [esp + 0x1c], ecx
jl 0x10963846
mov ecx, dword [esp + 0x80]
cmp ecx, 0x7fffffff
jne 0x10963b37
mov eax, dword [esp + 0x24c8]
mov ecx, dword [0x110a36dc]
mov edx, dword [ecx + eax*4]
add edx, 0xc
push 0x10e54b90
push edx
call fcn.109b8b50
add esp, 8
test eax, eax
je 0x10963a08
mov eax, dword [esp + 0x24c8]
mov ecx, dword [0x110a36dc]
mov edx, dword [ecx + eax*4]
add edx, 0xc
push 0x10e54b88
push edx
call fcn.109b8b50
add esp, 8
test eax, eax
jne 0x10963f28
mov ecx, dword [esp + 0x170]
mov eax, 0xa
cmp ecx, eax
jne 0x10963f28
cmp dword [esp + 0x1360], eax
jne 0x10963f28
mov eax, dword [esp + 0x17c]
cmp eax, dword [esp + 0x136c]
jne 0x10963f28
mov ecx, dword [ebx + 0x68]
mov edx, dword [ebx + 0x70]
mov eax, dword [ebx + 0x74]
mov dword [esp + 0x2c], ecx
mov ecx, dword [ebx + 0xa0]
mov dword [esp + 0x30], edx
mov edx, dword [ecx + 0x50]
mov ecx, dword [0x110a36dc]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x24c8]
mov dword [esp + 0x38], edx
mov edx, dword [ecx + eax*4]
add edx, 0xc
push 0x10e54b90
push edx
call fcn.109b8b50
add esp, 8
test eax, eax
push 1
lea esi, [ebx + 0x1c]
jne 0x10963a9c
mov eax, dword [esi]
lea ecx, [esp + 0x13]
push ecx
mov ecx, esi
mov byte [esp + 0x17], 0x13
call dword [eax + 4]
jmp 0x10963aad
mov edx, dword [esi]
lea eax, [esp + 0x13]
push eax
mov ecx, esi
mov byte [esp + 0x17], 0x23
call dword [edx + 4]
mov edx, dword [esi]
lea eax, [esp + 0x17c]
push eax
mov ecx, esi
call dword [edx + 0x18]
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x88]
push edx
mov ecx, ebx
call fcn.1095b960
xor eax, eax
xor esi, esi
mov ecx, 3
mov dword [esp + 0x1c08], ecx
mov dword [esp + 0x1c18], esi
mov edx, 1
mov ecx, 0x229
lea esi, [esp + 0x1c08]
lea edi, [esp + 0x170]
mov dword [esp + 0x1c1c], eax
mov dword [esp + 0x1c20], eax
mov dword [esp + 0x1c24], eax
mov dword [esp + 0x1c28], eax
mov dword [esp + 0x1c0c], edx
mov dword [esp + 0x1c10], eax
mov dword [esp + 0x1c14], eax
rep movsd dword es:[edi], dword [esi]
jmp 0x10963f0f
mov eax, dword [esp + 0x50]
cmp eax, 1
jg 0x10963fa5
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x10963b63
push 0xb98
push str..UnScrCom.cpp
push str.BestOperLink
call fcn.109bb190
add esp, 0xc
mov esi, dword [esp + 0x14]
test esi, esi
mov dword [esp + 0x98], esi
je 0x10963b7e
mov eax, dword [esi + 0x40]
mov dword [esp + 0x9c], eax
jmp 0x10963b89
mov dword [esp + 0x9c], 0
lea ecx, [esp + 0x98]
call fcn.10916230
mov eax, dword [esp + 0x4c]
test eax, eax
mov edi, dword [esp + 0x9c]
mov dword [esp + 0x10], edi
jne 0x10963bc5
mov ecx, dword [edi + 0x30]
mov dword [esp + 0x9c], ecx
lea ecx, [esp + 0x98]
call fcn.10916230
mov edi, dword [esp + 0x9c]
mov ecx, esi
call fcn.109e11b0
test eax, eax
mov dword [esp + 0x94], eax
jne 0x10963bee
push 0xb9f
push str..UnScrCom.cpp
push str.OperReturn
call fcn.109bb190
add esp, 0xc
cmp byte [esi + 0x8d], 3
je 0x10963c03
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x10963d46
mov eax, dword [edi + 0x40]
test ah, 1
je 0x10963c15
mov dword [ebx + 0x88], 1
push edi
lea ecx, [esp + 0xfc]
call fcn.1095c940
mov edx, dword [esp + 0x1360]
cmp edx, dword [eax]
je 0x10963cb6
mov eax, dword [ebx + 0x68]
mov ecx, dword [ebx + 0x70]
mov edx, dword [ebx + 0x74]
mov dword [esp + 0x68], eax
mov eax, dword [ebx + 0xa0]
mov dword [esp + 0x6c], ecx
mov ecx, dword [eax + 0x50]
lea esi, [ebx + 0x1c]
push 1
lea eax, [esp + 0x13]
mov dword [esp + 0x74], edx
mov edx, dword [esi]
mov dword [esp + 0x78], ecx
push eax
mov ecx, esi
mov byte [esp + 0x17], 0x26
call dword [edx + 4]
lea ecx, [esp + 0x1360]
push ecx
push edi
lea ecx, [esp + 0x164]
call fcn.1095c940
push eax
call fcn.1095d280
mov edx, dword [esi]
and eax, 0xfffffcff
add esp, 8
mov byte [esp + 0xf], al
push 1
lea eax, [esp + 0x13]
push eax
mov ecx, esi
call dword [edx + 4]
lea ecx, [esp + 0x68]
push ecx
lea edx, [esp + 0xac]
push edx
mov ecx, ebx
call fcn.1095b960
mov esi, dword [esp + 0x14]
mov eax, dword [edi + 0x40]
test ah, 2
je 0x10963d3a
mov eax, dword [ebx + 0x68]
mov edx, dword [ebx + 0x74]
mov ecx, dword [ebx + 0x70]
mov dword [esp + 0xe8], eax
mov eax, dword [ebx + 0xa0]
mov eax, dword [eax + 0x50]
mov dword [esp + 0xf0], edx
mov edx, dword [esp + 0xb4]
mov dword [esp + 0xf4], eax
sub eax, edx
mov edx, dword [ebx + 0x1c]
inc eax
mov dword [esp + 0x28], eax
lea esi, [ebx + 0x1c]
push 1
lea eax, [esp + 0x13]
mov dword [esp + 0xf0], ecx
push eax
mov ecx, esi
mov byte [esp + 0x17], 0x21
call dword [edx + 4]
lea ecx, [esp + 0x28]
push ecx
push esi
call fcn.109e5550
add esp, 8
lea edx, [esp + 0xe8]
push edx
lea eax, [esp + 0xac]
push eax
mov ecx, ebx
call fcn.1095b960
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x4c]
test eax, eax
jne 0x10963e15
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x40]
test ah, 1
je 0x10963d5c
mov dword [ebx + 0x88], 1
mov edx, dword [esp + 0x10]
push edx
lea ecx, [esp + 0x14c]
call fcn.1095c940
mov ecx, dword [esp + 0x170]
cmp ecx, dword [eax]
je 0x10963e15
mov edx, dword [ebx + 0x68]
mov eax, dword [ebx + 0x70]
mov ecx, dword [ebx + 0x74]
mov dword [esp + 0xc8], edx
mov edx, dword [ebx + 0xa0]
mov dword [esp + 0xcc], eax
mov eax, dword [edx + 0x50]
mov edx, dword [ebx + 0x1c]
mov dword [esp + 0xd4], eax
lea esi, [ebx + 0x1c]
push 1
lea eax, [esp + 0x13]
mov dword [esp + 0xd4], ecx
push eax
mov ecx, esi
mov byte [esp + 0x17], 0x26
call dword [edx + 4]
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x170]
push ecx
push edx
lea ecx, [esp + 0x128]
call fcn.1095c940
push eax
call fcn.1095d280
add esp, 8
and eax, 0xfffffcff
push 1
lea ecx, [esp + 0x13]
mov byte [esp + 0x13], al
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 4]
lea edx, [esp + 0xc8]
push edx
lea eax, [esp + 0x88]
push eax
mov ecx, ebx
call fcn.1095b960
mov esi, dword [esp + 0x14]
mov ecx, dword [ebx + 0x68]
mov edx, dword [ebx + 0x70]
mov eax, dword [ebx + 0x74]
mov dword [esp + 0xd8], ecx
mov ecx, dword [ebx + 0xa0]
push 0
mov dword [esp + 0xe0], edx
mov edx, dword [ecx + 0x50]
push 1
push esi
mov ecx, ebx
mov dword [esp + 0xec], eax
mov dword [esp + 0xf0], edx
call fcn.10960530
lea eax, [esp + 0xd8]
push eax
lea ecx, [esp + 0x88]
push ecx
mov ecx, ebx
call fcn.1095b960
mov edx, dword [ebx + 0x1c]
lea ecx, [ebx + 0x1c]
push 1
lea eax, [esp + 0x13]
push eax
mov byte [esp + 0x17], 0x3c
call dword [edx + 4]
mov eax, dword [edi + 0x40]
test ah, 2
jne 0x10963e8c
push 0x41
mov ecx, ebx
call fcn.1095a1c0
mov ecx, dword [esp + 0x94]
push ecx
lea ecx, [esp + 0x138]
call fcn.1095c940
mov edx, dword [eax]
xor ecx, ecx
mov dword [esp + 0xa2c], ecx
mov dword [esp + 0xa30], ecx
mov dword [esp + 0xa34], ecx
mov dword [esp + 0xa38], ecx
mov ecx, dword [eax + 4]
mov dword [esp + 0xa18], edx
mov edx, dword [eax + 8]
mov dword [esp + 0xa1c], ecx
mov ecx, dword [eax + 0xc]
mov dword [esp + 0xa20], edx
mov edx, dword [eax + 0x10]
mov dword [esp + 0xa24], ecx
mov ecx, 0x229
lea esi, [esp + 0xa18]
lea edi, [esp + 0x170]
mov dword [esp + 0xa28], edx
rep movsd dword es:[edi], dword [esi]
and dword [esp + 0x178], 0xfffffeff
lea ecx, [esp + 0x40]
mov dword [esp + 0x360c], 0xffffffff
call fcn.1095e930
jmp 0x109634f1
mov eax, dword [esp + 0x10]
test eax, eax
mov eax, dword [esp + 0x18]
je 0x10963f5b
test eax, eax
jne 0x10963f82
mov eax, dword [esp + 0x24c8]
mov ecx, dword [0x110a36dc]
mov edx, dword [ecx + eax*4]
add edx, 0xc
push edx
push str.Right_type_is_incompatible_with__s
call fcn.109b93d0
add esp, 8
jmp 0x10963fc8
test eax, eax
je 0x10963f82
mov eax, dword [esp + 0x24c8]
mov ecx, dword [0x110a36dc]
mov edx, dword [ecx + eax*4]
add edx, 0xc
push edx
push str.Left_type_is_incompatible_with__s
call fcn.109b93d0
add esp, 8
jmp 0x10963fc8
mov eax, dword [esp + 0x24c8]
mov ecx, dword [0x110a36dc]
mov edx, dword [ecx + eax*4]
add edx, 0xc
push edx
push str.Types_are_incompatible_with__s
call fcn.109b93d0
add esp, 8
jmp 0x10963fc8
push ecx
mov ecx, dword [0x110a36dc]
push eax
mov eax, dword [esp + 0x24d0]
mov edx, dword [ecx + eax*4]
add edx, 0xc
push edx
push str.Operator__s:_Cant_resolve_overload___i_matches_of_quality__i_
call fcn.109b93d0
add esp, 0x10
mov eax, dword [esp + 0x24cc]
mov ecx, dword [esp + 0x24d0]
mov dword [ebx + 0x70], eax
mov eax, dword [esp + 0x170]
test eax, eax
mov dword [ebx + 0x74], ecx
jne 0x10964045
mov eax, dword [ebp + 8]
test eax, eax
je 0x10964045
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x10964003
push eax
push str.Bad_or_missing_expression_in__s
call fcn.109b93d0
add esp, 8
mov edi, dword [ebp + 0x20]
test edi, edi
je 0x10964018
mov ecx, 0x229
lea esi, [esp + 0x170]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x40]
mov dword [esp + 0x360c], 0xffffffff
call fcn.1095e930
xor eax, eax
mov ecx, dword [esp + 0x3604]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x24
push 0
lea edx, [esp + 0x174]
push edx
lea ecx, [ebp + 8]
call fcn.1095cd90
test eax, eax
jne 0x109641e7
lea eax, [esp + 0x170]
push eax
lea ecx, [ebp + 8]
push ecx
call fcn.1095d280
mov ecx, dword [ebp + 0x10]
add esp, 8
test ch, 1
je 0x109640c1
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x1096424e
cmp dword [esp + 0x184], 3
jne 0x109640a2
push str.Expecting_a_variable__not_a_constant
call fcn.109b93d0
add esp, 4
jmp 0x1096424e
test byte [esp + 0x178], 2
push eax
je 0x109640b7
push str.Const_mismatch_in_Out_variable__s
jmp 0x10964246
push str.Type_mismatch_in_Out_variable__s
jmp 0x10964246
mov edx, dword [ebp + 0xc]
mov esi, 1
cmp edx, esi
jne 0x10964291
cmp dword [esp + 0x174], esi
jne 0x10964291
test ch, 8
je 0x109640f1
xor edx, edx
cmp eax, 0xff
setne dl
mov eax, edx
jmp 0x109640f6
and eax, 0x100
test eax, eax
je 0x10964239
cmp dword [ebp + 8], esi
jne 0x1096410e
mov eax, dword [ebp + 0x14]
test eax, eax
jne 0x10964239
mov eax, dword [ebx + 0x68]
mov ecx, dword [ebx + 0x70]
mov edx, dword [ebx + 0x74]
mov dword [esp + 0x2c], eax
mov eax, dword [ebx + 0xa0]
mov dword [esp + 0x30], ecx
mov ecx, dword [eax + 0x50]
lea esi, [ebx + 0x1c]
push 1
lea eax, [esp + 0x13]
mov dword [esp + 0x38], edx
mov edx, dword [esi]
mov dword [esp + 0x3c], ecx
push eax
mov ecx, esi
mov byte [esp + 0x17], 0x26
call dword [edx + 4]
lea ecx, [esp + 0x170]
push ecx
lea edx, [ebp + 8]
push edx
call fcn.1095d280
add esp, 8
and eax, 0xfffffcff
push 1
lea ecx, [esp + 0x13]
mov byte [esp + 0x13], al
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 4]
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x88]
push eax
mov ecx, ebx
call fcn.1095b960
mov eax, dword [ebp + 8]
xor edx, edx
xor esi, esi
xor edi, edi
mov ecx, 1
mov dword [esp + 0xa1c], ecx
mov dword [esp + 0xa24], esi
mov dword [esp + 0xa28], edi
mov ecx, 0x229
lea esi, [esp + 0xa18]
lea edi, [esp + 0x170]
mov dword [esp + 0xa2c], edx
mov dword [esp + 0xa30], edx
mov dword [esp + 0xa34], edx
mov dword [esp + 0xa38], edx
mov dword [esp + 0xa18], eax
mov dword [esp + 0xa20], edx
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp + 0x20]
test edi, edi
je 0x109641fc
mov ecx, 0x229
lea esi, [esp + 0x170]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x170]
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0x360c], 0xffffffff
mov esi, ecx
lea ecx, [esp + 0x40]
call fcn.1095e930
mov eax, esi
mov ecx, dword [esp + 0x3604]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x24
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x1096424e
push eax
push str.Type_mismatch_in__s
call fcn.109b93d0
add esp, 8
mov edi, dword [ebp + 0x20]
test edi, edi
je 0x10964263
mov ecx, 0x229
lea esi, [esp + 0x170]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x40]
mov dword [esp + 0x360c], 0xffffffff
call fcn.1095e930
mov ecx, dword [esp + 0x3604]
pop edi
pop esi
or eax, 0xffffffff
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0x24
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x1096424e
push eax
push str.Array_mismatch_in__s
jmp 0x10964246