Function at 0x10964580
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x10e0e92b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x8b4
push ebx
mov ebx, dword [esp + 0x8c8]
push esi
lea eax, [ebx + 0x18]
push edi
mov edi, ecx
mov dword [esp + 0xc], eax
mov dword [eax], 0
call fcn.1095a130
mov ecx, dword [edi + 0x6c]
mov esi, eax
mov eax, dword [edi + 0x70]
cmp eax, ecx
jge 0x109645ce
mov ecx, dword [edi + 0x68]
mov ax, word [ecx + eax*2]
jmp 0x109645d0
xor eax, eax
test si, si
jne 0x109645e8
mov eax, dword [edi + 0x7c]
mov edx, dword [edi + 0x78]
mov dword [edi + 0x74], eax
mov dword [edi + 0x70], edx
xor eax, eax
jmp 0x10964fd0
cmp si, 0x41
mov ecx, dword [edi + 0x78]
mov dword [ebx + 0x1c], ecx
mov edx, dword [edi + 0x7c]
push ebp
mov dword [ebx + 0x20], edx
jb 0x10964601
cmp si, 0x5a
jbe 0x10964617
cmp si, 0x61
jb 0x1096460d
cmp si, 0x7a
jbe 0x10964617
cmp si, 0x5f
jne 0x10964c28
mov ebp, dword [esp + 0x8d4]
xor ebx, ebx
add ebp, 0x24
mov word [ebp], si
inc ebx
add ebp, 2
cmp ebx, 0x40
jle 0x1096463f
push 0x40
push str.Identifer_length_exceeds_maximum_of__i
call fcn.109b93d0
add esp, 8
push 0
mov ecx, edi
call fcn.1095a070
mov esi, eax
cmp si, 0x41
jb 0x10964656
cmp si, 0x5a
jbe 0x10964623
cmp si, 0x61
jb 0x10964662
cmp si, 0x7a
jbe 0x10964623
cmp si, 0x30
jb 0x1096466e
cmp si, 0x39
jbe 0x10964623
cmp si, 0x5f
je 0x10964623
mov eax, dword [esp + 0x8e0]
test eax, eax
je 0x10964685
cmp si, 0x2d
je 0x10964623
mov eax, dword [edi + 0x78]
mov ecx, dword [edi + 0x7c]
mov esi, dword [esp + 0x8d4]
mov dword [edi + 0x70], eax
mov dword [edi + 0x74], ecx
push 0
lea eax, [esi + 0x24]
mov word [esi + ebx*2 + 0x24], 0
push eax
lea ecx, [esp + 0x18]
mov dword [esi + 0x14], 1
call fcn.109d7850
mov eax, dword [eax]
cmp eax, 0x258
mov ebx, dword [esp + 0x8dc]
lea ebp, [esi + 0x18]
mov dword [ebp], eax
jne 0x109647bb
test ebx, ebx
jne 0x109647bb
push 0x10e535a8
mov ecx, edi
call fcn.1095da00
test eax, eax
je 0x109647bb
push ebx
lea edx, [esp + 0x14]
push edx
mov ecx, edi
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
call fcn.1095d8c0
test eax, eax
jne 0x10964715
push str.Missing_X_component_of_vector
call fcn.109b93d0
add esp, 4
push 0x10e4b0d0
mov ecx, edi
call fcn.1095da00
test eax, eax
jne 0x10964732
push str.Missing___in_vector
call fcn.109b93d0
add esp, 4
push 0
lea eax, [esp + 0x18]
push eax
mov ecx, edi
call fcn.1095d8c0
test eax, eax
jne 0x10964751
push str.Missing_Y_component_of_vector
call fcn.109b93d0
add esp, 4
push 0x10e4b0d0
mov ecx, edi
call fcn.1095da00
test eax, eax
jne 0x1096476e
push str.Missing___in_vector
call fcn.109b93d0
add esp, 4
push 0
lea ecx, [esp + 0x1c]
push ecx
mov ecx, edi
call fcn.1095d8c0
test eax, eax
jne 0x1096478d
push str.Missing_Z_component_of_vector
call fcn.109b93d0
add esp, 4
push 0x10e535a0
mov ecx, edi
call fcn.1095da00
test eax, eax
jne 0x109647aa
push 0x10e556b8
call fcn.109b93d0
add esp, 4
lea edx, [esp + 0x10]
push edx
mov ecx, esi
call fcn.1095b400
jmp 0x10964fca
cmp dword [ebp], 0x25f
jne 0x10964878
test ebx, ebx
jne 0x10964878
push 0x10e535a8
mov ecx, edi
call fcn.1095da00
test eax, eax
je 0x10964878
push ebx
lea eax, [esp + 0x14]
push eax
mov ecx, edi
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], 0x3f800000
call fcn.1095d8c0
test eax, eax
jne 0x1096480e
push str.Missing_Min_component_of_range
call fcn.109b93d0
add esp, 4
push 0x10e4b0d0
mov ecx, edi
call fcn.1095da00
test eax, eax
jne 0x1096482b
push str.Missing___in_range
call fcn.109b93d0
add esp, 4
push 0
lea ecx, [esp + 0x18]
push ecx
mov ecx, edi
call fcn.1095d8c0
test eax, eax
jne 0x1096484a
push str.Missing_Max_component_of_range
call fcn.109b93d0
add esp, 4
push 0x10e535a0
mov ecx, edi
call fcn.1095da00
test eax, eax
jne 0x10964867
push 0x10e555e0
call fcn.109b93d0
add esp, 4
lea edx, [esp + 0x10]
push edx
mov ecx, esi
call fcn.1095b370
jmp 0x10964fca
cmp dword [ebp], 0x259
jne 0x1096496a
test ebx, ebx
jne 0x1096496a
push 0x10e535a8
mov ecx, edi
call fcn.1095da00
test eax, eax
je 0x1096496a
push ebx
push ebx
lea eax, [esp + 0x18]
push eax
mov ecx, edi
call fcn.10960810
test eax, eax
jne 0x109648c0
push str.Missing_Pitch_component_of_rotation
call fcn.109b93d0
add esp, 4
push 0x10e4b0d0
mov ecx, edi
call fcn.1095da00
test eax, eax
jne 0x109648dd
push str.Missing___in_rotation
call fcn.109b93d0
add esp, 4
push 0
push 0
lea ecx, [esp + 0x1c]
push ecx
mov ecx, edi
call fcn.10960810
test eax, eax
jne 0x109648fe
push str.Missing_Yaw_component_of_rotation
call fcn.109b93d0
add esp, 4
push 0x10e4b0d0
mov ecx, edi
call fcn.1095da00
test eax, eax
jne 0x1096491b
push str.Missing___in_rotation
call fcn.109b93d0
add esp, 4
push 0
push 0
lea edx, [esp + 0x20]
push edx
mov ecx, edi
call fcn.10960810
test eax, eax
jne 0x1096493c
push str.Missing_Roll_component_of_rotation
call fcn.109b93d0
add esp, 4
push 0x10e535a0
mov ecx, edi
call fcn.1095da00
test eax, eax
jne 0x10964959
push 0x10e554a4
call fcn.109b93d0
add esp, 4
lea eax, [esp + 0x10]
push eax
mov ecx, esi
call fcn.1095b490
jmp 0x10964fca
mov eax, dword [ebp]
cmp eax, 0x69
jne 0x10964984
test ebx, ebx
jne 0x10964984
push 1
mov ecx, esi
call fcn.10959aa0
jmp 0x10964fca
cmp eax, 0x6a
jne 0x1096499a
test ebx, ebx
jne 0x1096499a
push ebx
mov ecx, esi
call fcn.10959aa0
jmp 0x10964fca
cmp eax, 0x25d
jne 0x109649e7
test ebx, ebx
jne 0x109649e7
lea ecx, [esp + 0x20]
call fcn.1095cf00
push 0x10e55488
lea ecx, [esp + 0x24]
push ecx
mov ecx, edi
call fcn.10964430
mov esi, dword [esp + 0x24]
cmp esi, 1
jg 0x109649d5
push str.ArrayCount_argument_is_not_an_array
call fcn.109b93d0
add esp, 4
mov ecx, dword [esp + 0x8d4]
push esi
call fcn.10959a20
jmp 0x10964fca
push 0x10e4c8a8
mov ecx, esi
call fcn.109599a0
test eax, eax
je 0x10964a08
test ebx, ebx
jne 0x10964a08
push ebx
mov ecx, esi
call fcn.1095cfc0
jmp 0x10964fca
mov eax, dword [esp + 0x8d8]
test eax, eax
je 0x10964a5e
cmp dword [eax], 1
jne 0x10964a5e
mov esi, dword [eax + 0xc]
test esi, esi
je 0x10964a5e
cmp dword [ebp], 0
je 0x10964a5e
test ebx, ebx
jne 0x10964fca
lea edx, [esp + 0x1c]
push edx
push ebp
lea ecx, [esi + 0x38]
mov dword [esp + 0x24], 0xffffffff
call fcn.1095bad0
test eax, eax
je 0x10964a66
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x8d4]
push eax
push esi
call fcn.109599d0
jmp 0x10964fca
test ebx, ebx
jne 0x10964fca
push 0x10e4ff0c
mov ecx, edi
call fcn.1095daa0
test eax, eax
je 0x10964fca
mov ebp, dword [esp + 0x8d4]
push 0
lea eax, [ebp + 0x24]
push eax
push 0xffffffffffffffff
call fcn.10926260
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x10964fca
call fcn.10905f80
push eax
mov ecx, ebx
call fcn.10917f60
test eax, eax
jne 0x10964fca
push 0x10e4ff0c
mov ecx, edi
call fcn.1095da00
test eax, eax
je 0x10964fca
push 0x10e43c3c
lea ecx, [esp + 0x14]
call fcn.10902ec0
push ebx
mov ecx, edi
mov dword [esp + 0x8d0], 0
call fcn.1095a590
mov esi, 1
lea ebx, [ebx]
lea ecx, [esp + 0x20]
call fcn.1095cf00
push esi
push esi
push 0
lea ecx, [esp + 0x2c]
push ecx
mov ecx, edi
call fcn.10964580
test eax, eax
je 0x10964b21
cmp dword [esp + 0x34], esi
je 0x10964b3e
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x40]
mov dword [edi + 0x70], edx
mov dword [edi + 0x74], eax
mov ecx, dword [ebx + 0x24]
mov edx, dword [0x110a36dc]
mov eax, dword [edx + ecx*4]
add eax, 0xc
push eax
push str.Missing__s_name
call fcn.109b93d0
add esp, 8
push 0x10e43c3c
lea ecx, [esp + 0x14]
call fcn.1091f7f0
test eax, eax
je 0x10964b5e
push 0x10e476d4
lea ecx, [esp + 0x14]
call fcn.109059d0
lea ecx, [esp + 0x44]
push ecx
lea ecx, [esp + 0x14]
call fcn.109059d0
push 0x10e476d4
mov ecx, edi
call fcn.1095da00
test eax, eax
jne 0x10964af0
mov eax, dword [esp + 0x14]
test eax, eax
mov eax, dword [esp + 0x10]
jne 0x10964b91
mov eax, 0x10e43c3c
push 0
push eax
push 0xffffffffffffffff
push ebx
call fcn.109ca290
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x10964bd3
mov eax, dword [esp + 0x14]
test eax, eax
mov eax, dword [esp + 0x10]
jne 0x10964bb6
mov eax, 0x10e43c3c
mov edx, dword [ebx + 0x24]
push eax
mov eax, dword [0x110a36dc]
mov ecx, dword [eax + edx*4]
add ecx, 0xc
push ecx
push str.Cant_find__s__s
call fcn.109b93d0
add esp, 0xc
push 0x10e4ff0c
mov ecx, edi
call fcn.1095da00
test eax, eax
jne 0x10964bff
mov edx, dword [ebx + 0x24]
mov eax, dword [0x110a36dc]
mov ecx, dword [eax + edx*4]
add ecx, 0xc
push ecx
push str.Missing_single_quote_after__s_name
call fcn.109b93d0
add esp, 8
push esi
mov ecx, edi
call fcn.1095a590
push esi
mov ecx, ebp
call fcn.1095cfc0
lea ecx, [esp + 0x10]
mov dword [esp + 0x8cc], 0xffffffff
call fcn.10902a90
jmp 0x10964fca
cmp si, 0x30
jb 0x10964c34
cmp si, 0x39
jbe 0x10964c67
cmp si, 0x2b
mov ecx, dword [esp + 0x8dc]
je 0x10964c4b
cmp si, 0x2d
jne 0x10964d91
cmp ax, 0x30
jb 0x10964d91
cmp ax, 0x39
ja 0x10964d91
test ecx, ecx
jne 0x10964d91
mov ebp, dword [esp + 0x8d4]
xor ebx, ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x10], ebx
add ebp, 0x24
jmp 0x10964c80
cmp si, 0x2e
jne 0x10964c90
mov dword [esp + 0x1c], 1
jmp 0x10964c9e
cmp si, 0x58
jne 0x10964c9e
mov dword [esp + 0x10], 1
mov word [ebp], si
inc ebx
add ebp, 2
cmp ebx, 0x40
jl 0x10964cba
push 0x40
push str.Number_length_exceeds_maximum_of__i
call fcn.109b93d0
add esp, 8
push 0
mov ecx, edi
call fcn.1095a070
cmp ax, 0x61
jb 0x10964cd2
cmp ax, 0x7a
lea esi, [eax - 0x20]
jbe 0x10964cd4
mov esi, eax
cmp si, 0x30
jb 0x10964ce0
cmp si, 0x39
jbe 0x10964c80
cmp si, 0x2e
je 0x10964c86
cmp si, 0x58
je 0x10964c80
cmp si, 0x41
jb 0x10964cf8
cmp si, 0x46
jbe 0x10964c80
mov edx, dword [esp + 0x8d4]
mov word [edx + ebx*2 + 0x24], 0
mov eax, dword [edi + 0x78]
mov ecx, dword [edi + 0x7c]
mov dword [edi + 0x70], eax
mov eax, dword [esp + 0x1c]
test eax, eax
mov dword [edi + 0x74], ecx
je 0x10964d34
mov esi, edx
lea eax, [esi + 0x24]
push eax
call fcn.109b8be0
fstp dword [esp]
mov ecx, esi
call fcn.10959ae0
jmp 0x10964fca
mov eax, dword [esp + 0x10]
test eax, eax
je 0x10964d71
mov edi, dword [esp + 0x8d4]
lea esi, [edi + 0x24]
push esi
call fcn.109b8b10
lea edx, [edi + eax*2 + 0x24]
push 0
lea eax, [esp + 0x18]
push eax
push esi
mov dword [esp + 0x20], edx
call fcn.109b8bf0
add esp, 0x10
mov ecx, edi
push eax
call fcn.10959a20
jmp 0x10964fca
mov esi, dword [esp + 0x8d4]
lea eax, [esi + 0x24]
push eax
call fcn.109b8b90
add esp, 4
mov ecx, esi
push eax
call fcn.10959a20
jmp 0x10964fca
cmp si, 0x27
jne 0x10964e52
test ecx, ecx
jne 0x10964f02
xor esi, esi
push esi
mov ecx, edi
call fcn.1095a070
mov ebp, dword [esp + 0x8d4]
add ebp, 0x24
mov ebx, ebp
lea esp, [esp]
cmp ax, 0x41
jb 0x10964dcc
cmp ax, 0x5a
jbe 0x10964df0
cmp ax, 0x61
jb 0x10964dd8
cmp ax, 0x7a
jbe 0x10964df0
cmp ax, 0x30
jb 0x10964de4
cmp ax, 0x39
jbe 0x10964df0
cmp ax, 0x5f
je 0x10964df0
cmp ax, 0x20
jne 0x10964e16
mov word [ebx], ax
inc esi
add ebx, 2
cmp esi, 0x40
jle 0x10964e0b
push 0x40
push str.Name_length_exceeds_maximum_of__i
call fcn.109b93d0
add esp, 8
push 0
mov ecx, edi
call fcn.1095a070
jmp 0x10964dc0
cmp ax, 0x27
je 0x10964e29
push str.Illegal_character_in_name
call fcn.109b93d0
add esp, 4
mov edi, dword [esp + 0x8d4]
push 1
push ebp
lea ecx, [esp + 0x18]
mov word [edi + esi*2 + 0x24], 0
call fcn.109d7850
mov ecx, dword [eax]
push ecx
mov ecx, edi
call fcn.10959b20
jmp 0x10964fca
cmp si, 0x22
jne 0x10964f02
push 1
mov ecx, edi
xor esi, esi
call fcn.1095a070
cmp ax, 0x22
je 0x10964ee5
lea ecx, [ecx]
cmp ax, 0xd
je 0x10964ed2
cmp ax, 0xa
je 0x10964ed2
test ax, ax
je 0x10964ed2
cmp ax, 0x5c
jne 0x10964ea1
push 1
mov ecx, edi
call fcn.1095a070
cmp ax, 0xd
je 0x10964ed2
cmp ax, 0xa
je 0x10964ed2
test ax, ax
je 0x10964ed2
mov word [esp + esi*2 + 0x20], ax
inc esi
cmp esi, 0x400
jl 0x10964ec1
push 0x400
push str.String_constant_exceeds_maximum_of__i_characters
call fcn.109b93d0
add esp, 8
push 1
mov ecx, edi
call fcn.1095a070
cmp ax, 0x22
jne 0x10964e70
jmp 0x10964ee5
cmp ax, 0x22
je 0x10964ee5
push str.Unterminated_string_constant
call fcn.109b93d0
add esp, 4
push 0x400
lea edx, [esp + 0x24]
push edx
mov ecx, ebx
mov word [esp + esi*2 + 0x28], 0
call fcn.10959b60
jmp 0x10964fca
mov ebp, dword [esp + 0x8d4]
add ebp, 0x24
push 0
mov ecx, edi
mov word [ebp], si
mov ebx, 1
call fcn.1095a070
cmp si, 0x3c
jne 0x10964f33
cmp ax, si
je 0x10965043
cmp ax, 0x3d
jmp 0x10964f8f
cmp si, 0x3e
jne 0x10964f48
cmp ax, si
je 0x10965043
cmp ax, 0x3d
jmp 0x10964f8f
cmp si, 0x21
je 0x1096501a
cmp si, 0x2b
jne 0x10964f67
cmp ax, si
je 0x10965043
cmp ax, 0x3d
jmp 0x10964f8f
cmp si, 0x2d
jne 0x10964f7c
cmp ax, si
je 0x10965043
cmp ax, 0x3d
jmp 0x10964f8f
cmp si, 0x2a
jne 0x10964fea
cmp ax, 0x3d
je 0x10965043
cmp ax, si
je 0x10965043
mov edx, dword [edi + 0x78]
mov eax, dword [edi + 0x7c]
mov dword [edi + 0x70], edx
mov dword [edi + 0x74], eax
mov eax, dword [esp + 0x8d4]
push 0
mov word [eax + ebx*2 + 0x24], 0
push ebp
lea ecx, [esp + 0x24]
mov dword [eax + 0x14], 2
call fcn.109d7850
mov ecx, dword [eax]
mov edx, dword [esp + 0x10]
mov dword [edx], ecx
mov eax, 1
pop ebp
mov ecx, dword [esp + 0x8c0]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x8c0
ret 0x10
cmp si, 0x2f
je 0x1096501a
cmp si, 0x26
jne 0x10964ffb
cmp ax, si
jmp 0x10964f8f
cmp si, 0x7c
jne 0x10965006
cmp ax, si
jmp 0x10964f8f
cmp si, 0x5e
jne 0x10965014
cmp ax, si
jmp 0x10964f8f
cmp si, 0x3d
jne 0x10965023
cmp ax, 0x3d
jmp 0x10964f8f
cmp si, 0x7e
je 0x1096501a
cmp si, 0x40
je 0x1096501a
cmp si, 0x24
jne 0x10964f95
cmp ax, 0x3d
jne 0x10964f95
cmp si, 0x3e
mov ecx, dword [esp + 0x8d4]
mov word [ecx + 0x26], ax
mov ebx, 2
jne 0x10964fa1
cmp ax, si
jne 0x10964fa1
push 0
mov ecx, edi
call fcn.1095a070
cmp ax, si
jne 0x10965089
mov edx, dword [esp + 0x8d4]
mov word [edx + 0x28], si
mov ebx, 3
jmp 0x10964fa1
mov eax, dword [edi + 0x78]
mov ecx, dword [edi + 0x7c]
mov dword [edi + 0x70], eax
mov dword [edi + 0x74], ecx
jmp 0x10964fa1