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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xb4
mov eax, dword [0x101975e0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
push esi
mov dword [ebp - 0xa0], ecx
mov ecx, dword [ebp + 0x10]
lea edx, [eax + 0x288]
push edi
mov dword [ebp - 0x98], ecx
mov edi, edx
lea ecx, [eax + 0x27c]
mov dword [ebp - 0x88], eax
and dword [ecx], 0
mov esi, ecx
and dword [ecx + 4], 0
and dword [ecx + 8], 0
mov eax, dword [eax + 0x164]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0xb0], ecx
xor ecx, ecx
mov dword [ebp - 0xac], edx
mov dword [ebp - 0xa4], ecx
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x9c], ecx
movsd dword es:[edi], dword [esi]
test eax, eax
je 0x101123f8
and dword [eax + 0xa0], ecx
mov edi, dword [ebp - 0xa0]
push edi
mov eax, dword [edi]
mov esi, dword [eax + 0x98]
mov ecx, esi
call dword [0x10155aa8]
call esi
test al, al
je 0x101133cf
mov eax, dword [edi]
lea ecx, [ebp - 0xb4]
push ecx
push edi
mov esi, dword [eax + 0x94]
mov ecx, esi
call dword [0x10155aa8]
call esi
movzx eax, ax
mov ecx, 0x100a
mov dword [ebp - 0xa8], eax
movzx eax, ax
cmp eax, ecx
ja 0x10112742
je 0x1011271e
add ecx, 0xfffffffb
cmp eax, ecx
ja 0x1011255d
je 0x10112519
sub eax, 0x100
je 0x10112502
sub eax, 0xf01
je 0x101124f9
sub eax, 1
je 0x101124e8
sub eax, 1
je 0x10112b72
sub eax, 1
jne 0x10113260
mov esi, dword [ebp - 0x88]
cmp dword [esi + 0xe8], eax
jne 0x101124ad
push 0x10
push 0x20
call sym.rt3d.dll_public:_static_class_e3_COLLECTION____stdcall_e3_COLLECTION::Create_int__int_
mov dword [esi + 0xe8], eax
mov eax, dword [edi]
push dword [ebp - 0x98]
push edi
mov esi, dword [eax + 0xd0]
mov ecx, esi
call dword [0x10155aa8]
call esi
mov ecx, dword [ebp - 0x88]
push eax
mov ecx, dword [ecx + 0xe8]
push ecx
mov edx, dword [ecx]
mov esi, dword [edx + 0x30]
mov ecx, esi
call dword [0x10155aa8]
call esi
jmp 0x10113260
push edi
push dword [ebp - 0xac]
call sym.rt3d.dll_struct_POINT3D___stdcall_GetRightAngle_struct_MATRIX3D___struct_POINT3D__bool_
jmp 0x10113260
push edi
push dword [ebp - 0xb0]
jmp 0x101124ef
push dword [ebp - 0x98]
push edi
push dword [ebp - 0x88]
call sym.rt3d.dll_struct_POINT3D___stdcall_GetRightAngle_struct_MATRIX3D___struct_POINT3D__bool_
jmp 0x10113260
mov eax, dword [edi]
push dword [ebp - 0x98]
push edi
mov esi, dword [eax + 0xd0]
mov ecx, esi
call dword [0x10155aa8]
call esi
mov ecx, eax
mov eax, dword [ebp - 0x88]
mov dword [eax + 0xf8], ecx
test ecx, ecx
je 0x10113260
mov eax, dword [ecx]
push ecx
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x10155aa8]
call esi
jmp 0x10113260
sub eax, 0x1006
je 0x101126e4
sub eax, 1
je 0x1011268b
sub eax, 1
je 0x101125a3
sub eax, 1
jne 0x10113260
mov eax, dword [edi]
push dword [ebp - 0x98]
push edi
mov esi, dword [eax + 0xd0]
mov ecx, esi
call dword [0x10155aa8]
call esi
mov dword [ebp - 0xa4], eax
jmp 0x10113260
mov eax, dword [edi]
push dword [ebp - 0x98]
push edi
mov esi, dword [eax + 0xd0]
mov ecx, esi
call dword [0x10155aa8]
call esi
mov edx, eax
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x90], edx
test dword [eax + 0x158], 0x10000
jne 0x10112635
mov ecx, dword [eax + 0xe0]
push 0
push ecx
mov edx, dword [ecx]
mov esi, dword [edx + 0x10]
mov ecx, esi
call dword [0x10155aa8]
call esi
mov edx, dword [ebp - 0x88]
push eax
push edx
mov ecx, dword [edx]
mov esi, dword [ecx + 0x2cc]
mov ecx, esi
call dword [0x10155aa8]
call esi
mov eax, dword [ebp - 0x88]
mov edx, dword [ebp - 0x90]
push edx
push 0
mov dword [eax + 0x170], edx
mov eax, dword [eax + 0xe0]
push eax
mov ecx, dword [eax]
mov esi, dword [ecx + 0x1c]
mov ecx, esi
call dword [0x10155aa8]
call esi
jmp 0x1011264c
mov eax, dword [eax + 0xe0]
push edx
push eax
mov ecx, dword [eax]
mov esi, dword [ecx + 0x30]
mov ecx, esi
call dword [0x10155aa8]
call esi
mov ecx, dword [ebp - 0x88]
push ecx
mov eax, dword [ecx]
mov esi, dword [eax + 0x258]
mov ecx, esi
call dword [0x10155aa8]
call esi
mov ecx, dword [ebp - 0x88]
push dword [ebp - 0x90]
push 0xbbe
mov eax, dword [ecx]
push ecx
mov esi, dword [eax + 0x34]
mov ecx, esi
call dword [0x10155aa8]
call esi
jmp 0x10113260
mov eax, dword [edi]
push dword [ebp - 0x98]
push edi
mov esi, dword [eax + 0xd0]
mov ecx, esi
call dword [0x10155aa8]
call esi
mov edi, eax
mov eax, dword [ebp - 0x88]
push edi
mov ecx, dword [eax + 0xe0]
push ecx
mov edx, dword [ecx]
mov esi, dword [edx + 0x30]
mov ecx, esi
call dword [0x10155aa8]
call esi
mov ecx, dword [ebp - 0x88]
push edi
push 0xbbe
push ecx
mov eax, dword [ecx]
mov esi, dword [eax + 0x34]
mov ecx, esi
call dword [0x10155aa8]
call esi
jmp 0x10112bde
mov eax, dword [edi]
push dword [ebp - 0x98]
push edi
mov esi, dword [eax + 0xd0]
mov ecx, esi
call dword [0x10155aa8]
call esi
mov edx, eax
mov eax, dword [ebp - 0x88]
mov dword [eax + 0xfc], edx
test edx, edx
je 0x10113260
mov ecx, dword [edx]
push edx
mov esi, dword [ecx + 8]
jmp 0x1011254e
mov eax, dword [edi]
push dword [ebp - 0x98]
push edi
mov esi, dword [eax + 0xd0]
mov ecx, esi
call dword [0x10155aa8]
call esi
mov dword [ebp - 0x9c], eax
jmp 0x10113260
mov ecx, 0x100f
cmp eax, ecx
ja 0x1011305f
je 0x10112be9
sub eax, 0x100b
je 0x10112b9e
sub eax, 1
je 0x10112b54
sub eax, 1
je 0x10112be9
sub eax, 1
jne 0x10113260
mov eax, dword [ebp - 0x88]
cmp dword [eax + 0x164], 0
je 0x10113260
mov esi, dword [edi]
lea eax, [ebp - 0x89]
push 1
push eax
push edi
mov ecx, dword [esi + 0x3c]
call dword [0x10155aa8]
call dword [esi + 0x3c]
mov eax, dword [ebp - 0x88]
movzx ecx, byte [ebp - 0x89]
push 1
mov eax, dword [eax + 0x164]
mov dword [eax + 0x14], ecx
lea eax, [ebp - 0x89]
mov esi, dword [edi]
push eax
push edi
mov ecx, dword [esi + 0x3c]
call dword [0x10155aa8]
call dword [esi + 0x3c]
mov eax, dword [ebp - 0x88]
movzx ecx, byte [ebp - 0x89]
push 1
mov eax, dword [eax + 0x164]
mov dword [eax + 0x1c], ecx
lea eax, [ebp - 0x89]
mov esi, dword [edi]
push eax
push edi
mov ecx, dword [esi + 0x3c]
call dword [0x10155aa8]
call dword [esi + 0x3c]
mov eax, dword [ebp - 0x88]
movzx ecx, byte [ebp - 0x89]
push 1
mov eax, dword [eax + 0x164]
mov dword [eax + 0x20], ecx
lea eax, [ebp - 0x89]
mov esi, dword [edi]
push eax
push edi
mov ecx, dword [esi + 0x3c]
call dword [0x10155aa8]
call dword [esi + 0x3c]
mov esi, dword [ebp - 0x88]
mov al, byte [ebp - 0x89]
push edi
mov ecx, dword [esi + 0x164]
mov byte [ecx + 0x2e], al
mov eax, dword [esi + 0x164]
and dword [eax + 0x28], 0xffffbfff
mov eax, dword [edi]
mov ecx, dword [eax + 0xe0]
mov dword [ebp - 0x94], ecx
call dword [0x10155aa8]
call dword [ebp - 0x94]
mov eax, dword [esi + 0x164]
push edi
fstp dword [eax + 0x24]
mov eax, dword [edi]
mov ecx, dword [eax + 0xe0]
mov dword [ebp - 0x94], ecx
call dword [0x10155aa8]
call dword [ebp - 0x94]
mov eax, dword [esi + 0x164]
push edi
fstp dword [eax + 0x50]
mov eax, dword [edi]
mov ecx, dword [eax + 0xe0]
mov dword [ebp - 0x94], ecx
call dword [0x10155aa8]
call dword [ebp - 0x94]
mov eax, dword [esi + 0x164]
push edi
fstp dword [eax + 0x54]
mov eax, dword [edi]
mov ecx, dword [eax + 0xe0]
mov dword [ebp - 0x94], ecx
call dword [0x10155aa8]
call dword [ebp - 0x94]
mov eax, dword [esi + 0x164]
fstp dword [eax + 0x58]
mov eax, dword [edi]
push edi
mov ecx, dword [eax + 0xe0]
mov dword [ebp - 0x94], ecx
call dword [0x10155aa8]
call dword [ebp - 0x94]
mov eax, dword [esi + 0x164]
push edi
fstp dword [eax + 0x90]
mov eax, dword [edi]
mov ecx, dword [eax + 0xe0]
mov dword [ebp - 0x94], ecx
call dword [0x10155aa8]
call dword [ebp - 0x94]
mov eax, dword [esi + 0x164]
push edi
fstp dword [eax + 0x94]
mov eax, dword [edi]
mov ecx, dword [eax + 0xe0]
mov dword [ebp - 0x94], ecx
call dword [0x10155aa8]
call dword [ebp - 0x94]
mov eax, dword [esi + 0x164]
mov ecx, edi
push 4
fstp dword [eax + 0x94]
mov eax, dword [esi + 0x164]
sub eax, 0xffffff80
push eax
call sym.rt3d.dll_struct_POINT3D___stdcall_GetRightAngle_struct_MATRIX3D___struct_POINT3D__bool_
mov eax, dword [esi + 0x164]
mov ecx, edi
push 4
add eax, 0x70
push eax
call sym.rt3d.dll_struct_POINT3D___stdcall_GetRightAngle_struct_MATRIX3D___struct_POINT3D__bool_
mov eax, dword [edi]
push edi
mov esi, dword [eax + 0x6c]
mov ecx, esi
call dword [0x10155aa8]
call esi
mov esi, eax
mov eax, dword [ebp - 0x88]
mov edx, dword [eax + 0x164]
mov ecx, dword [edx + 0x18]
xor ecx, esi
and ecx, 1
xor dword [edx + 0x18], ecx
mov edx, esi
mov ecx, dword [eax + 0x164]
shr edx, 1
mov eax, dword [ecx + 0x28]
xor eax, edx
and eax, 1
xor dword [ecx + 0x28], eax
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax + 0x164]
mov eax, dword [ecx + 0x28]
xor eax, edx
and eax, 2
xor dword [ecx + 0x28], eax
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax + 0x164]
mov eax, dword [ecx + 0x28]
xor eax, edx
and eax, 4
xor dword [ecx + 0x28], eax
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax + 0x164]
mov eax, dword [ecx + 0x28]
xor eax, edx
and eax, 8
xor dword [ecx + 0x28], eax
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax + 0x164]
mov eax, dword [ecx + 0x28]
xor eax, edx
and eax, 0x10
xor dword [ecx + 0x28], eax
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax + 0x164]
mov eax, dword [ecx + 0x28]
xor eax, edx
and eax, 0x20
xor dword [ecx + 0x28], eax
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax + 0x164]
mov eax, dword [ecx + 0x28]
xor eax, edx
and eax, 0x40
xor dword [ecx + 0x28], eax
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax + 0x164]
mov eax, dword [ecx + 0x28]
xor eax, edx
and eax, 0x80
xor dword [ecx + 0x28], eax
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax + 0x164]
mov eax, dword [ecx + 0x28]
xor eax, edx
and eax, 0x100
xor dword [ecx + 0x28], eax
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax + 0x164]
mov eax, dword [ecx + 0x28]
xor eax, edx
mov edx, dword [ebp - 0x88]
and eax, 0x200
xor dword [ecx + 0x28], eax
mov eax, esi
shl eax, 5
mov ecx, dword [edx + 0x164]
shr esi, 2
xor eax, dword [ecx + 0x28]
and eax, 0x10000
xor dword [ecx + 0x28], eax
mov ecx, dword [edx + 0x164]
mov eax, dword [ecx + 0x28]
xor eax, esi
and eax, 0x400
xor dword [ecx + 0x28], eax
mov ecx, dword [edx + 0x164]
mov eax, dword [ecx + 0x28]
xor eax, esi
and eax, 0x800
xor dword [ecx + 0x28], eax
mov eax, dword [edx + 0x164]
mov dword [eax + 0xa0], 1
jmp 0x10112b38
mov eax, dword [edi]
push 0
push edi
mov esi, dword [eax + 0x94]
mov ecx, esi
call dword [0x10155aa8]
call esi
mov ecx, 0x1024
cmp ax, cx
jne 0x10112b25
mov eax, dword [edi]
push edi
mov esi, dword [eax + 0x64]
mov ecx, esi
call dword [0x10155aa8]
call esi
mov edx, dword [ebp - 0x88]
mov ecx, dword [edx + 0x164]
mov byte [ecx + 0x60], al
mov eax, dword [edi]
push edi
mov esi, dword [eax + 0xa4]
mov ecx, esi
call dword [0x10155aa8]
call esi
mov eax, dword [edi]
push edi
mov esi, dword [eax + 0x98]
mov ecx, esi
call dword [0x10155aa8]
call esi
test al, al
jne 0x10112ae7
jmp 0x10113260
mov eax, dword [ebp - 0x88]
push 1
push 0
push 0x3f2
mov esi, dword [eax]
push eax
mov ecx, dword [esi + 0x18]
call dword [0x10155aa8]
call dword [esi + 0x18]
mov eax, dword [edi]
push edi
mov ecx, dword [eax + 0xe0]
mov dword [ebp - 0x94], ecx
call dword [0x10155aa8]
call dword [ebp - 0x94]
mov eax, dword [ebp - 0x88]
fstp dword [eax + 0x294]
jmp 0x10113260
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0xa0]
push dword [ebp - 0x98]
mov edi, dword [eax]
mov eax, dword [ecx]
push ecx
mov esi, dword [eax + 0xd0]
mov ecx, esi
call dword [0x10155aa8]
call esi
mov ecx, dword [edi + 0x334]
push eax
push dword [ebp - 0x88]
call dword [0x10155aa8]
call dword [edi + 0x334]
mov edi, dword [ebp - 0xa0]
jmp 0x10113260
and dword [ebp - 0x90], 0
jmp 0x10112e09
mov eax, dword [edi]
push 0
push edi
mov esi, dword [eax + 0x94]
mov ecx, esi
call dword [0x10155aa8]
call esi
movzx eax, ax
add eax, 0xffffeff7
cmp eax, 0x1f
ja case.0x10112c22.4107
movzx eax, byte [eax + 0x10113444]
jmp dword [eax*4 + 0x101133f0]
mov ecx, dword [ebp - 0x90]
push 0xffffffffffffffff
push ecx
mov eax, dword [ecx]
mov esi, dword [eax + 0x3c]
mov ecx, esi
call dword [0x10155aa8]
call esi
mov ecx, dword [edi]
mov dword [ebp - 0x94], eax
mov esi, dword [ecx + 0x98]
jmp 0x10112cc0
mov eax, dword [edi]
push 0
push edi
mov esi, dword [eax + 0x94]
mov ecx, esi
call dword [0x10155aa8]
call esi
mov ecx, 0x1029
cmp ax, cx
jne 0x10112ca5
mov eax, dword [edi]
push dword [ebp - 0x98]
push edi
mov esi, dword [eax + 0xd0]
mov ecx, esi
call dword [0x10155aa8]
call esi
mov ecx, dword [ebp - 0x94]
mov dword [ecx], eax
test eax, eax
je 0x10112ca5
mov ecx, dword [eax]
push eax
mov esi, dword [ecx + 8]
mov ecx, esi
call dword [0x10155aa8]
call esi
mov eax, dword [edi]
push edi
mov esi, dword [eax + 0xa4]
mov ecx, esi
call dword [0x10155aa8]
call esi
mov eax, dword [edi]
mov esi, dword [eax + 0x98]
push edi
mov ecx, esi
call dword [0x10155aa8]
call esi
test al, al
jne 0x10112c51
jmp case.0x10112c22.4107
mov eax, dword [edi]
push dword [ebp - 0x98]
push edi
mov esi, dword [eax + 0xd0]
mov ecx, esi
call dword [0x10155aa8]
call esi
mov ecx, dword [ebp - 0x90]
mov dword [ecx + 0x2c], eax
jmp case.0x10112c22.4107
mov eax, dword [ebp - 0x90]
mov dword [eax + 0x7c], 2
jmp case.0x10112c22.4107
mov eax, dword [ebp - 0x90]
mov dword [eax + 0x7c], 1
jmp case.0x10112c22.4107
mov eax, dword [edi]
push dword [ebp - 0x98]
push edi
mov esi, dword [eax + 0xd0]
mov ecx, esi
call dword [0x10155aa8]
call esi
mov ecx, eax
mov eax, dword [ebp - 0x88]
push 0
push 0x20
push 0x20
mov esi, dword [eax]
mov edi, dword [eax + 0x10c]
push ecx
mov dword [ebp - 0x94], ecx
mov esi, dword [esi + 0x314]
mov ecx, esi
push eax
call dword [0x10155aa8]
call esi
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x94]
push eax
mov ecx, dword [eax]
mov esi, dword [ecx + 8]
mov ecx, esi
call dword [0x10155aa8]
call esi
mov ecx, dword [ebp - 0x88]
mov edx, dword [ebp - 0x90]
mov dword [ecx + 0x10c], edi
test edx, edx
je 0x101133e2
mov eax, 0x100f
cmp word [ebp - 0xa8], ax
jne 0x10112dd0
test dword [ecx + 0x158], 0x10000
jne 0x10112dd0
mov eax, dword [ecx]
push edx
push ecx
mov esi, dword [eax + 0x31c]
mov ecx, esi
call dword [0x10155aa8]
call esi
mov ecx, dword [ebp - 0x88]
mov edx, dword [ebp - 0x94]
cmp dword [edx + 0x4c], 0
jne 0x10112df0
mov eax, dword [ecx]
push edx
push ecx
mov esi, dword [eax + 0xb8]
mov ecx, esi
call dword [0x10155aa8]
call esi
mov edi, dword [ebp - 0xa0]
mov eax, dword [edi]
push edi
mov esi, dword [eax + 0xa4]
mov ecx, esi
call dword [0x10155aa8]
call esi
mov eax, dword [edi]
push edi
mov esi, dword [eax + 0x98]
mov ecx, esi
call dword [0x10155aa8]
call esi
test al, al
jne 0x10112bf5
jmp 0x10113260
mov eax, dword [ebp - 0x90]
push edi
add eax, 0x24
push eax
call sym.rt3d.dll_struct_POINT3D___stdcall_GetRightAngle_struct_MATRIX3D___struct_POINT3D__bool_
jmp case.0x10112c22.4107
mov eax, dword [edi]
push dword [ebp - 0x98]
push edi
mov esi, dword [eax + 0xd0]
mov ecx, esi
call dword [0x10155aa8]
call esi
mov ecx, dword [ebp - 0x90]
mov dword [ecx + 0x18], eax
jmp case.0x10112c22.4107
mov eax, dword [edi]
push dword [ebp - 0x98]
push edi
mov esi, dword [eax + 0xd0]
mov ecx, esi
call dword [0x10155aa8]
call esi
mov edx, eax
mov eax, dword [ebp - 0x90]
mov dword [eax + 0x10], edx
cmp dword [edx + 0x4c], 0
jne case.0x10112c22.4107
mov eax, dword [ebp - 0x88]
push edx
push eax
mov ecx, dword [eax]
mov esi, dword [ecx + 0xb8]
mov ecx, esi
call dword [0x10155aa8]
call esi
jmp case.0x10112c22.4107
mov eax, dword [edi]
push edi
mov esi, dword [eax + 0x6c]
mov ecx, esi
call dword [0x10155aa8]
call esi
mov ecx, dword [ebp - 0x90]
push edi
mov dword [ecx + 0x6c], eax
mov eax, dword [edi]
mov esi, dword [eax + 0x6c]
mov ecx, esi
call dword [0x10155aa8]
call esi
mov ecx, dword [ebp - 0x90]
push edi
mov dword [ecx + 0x70], eax
mov eax, dword [edi]
mov esi, dword [eax + 0x6c]
mov ecx, esi
call dword [0x10155aa8]
call esi
mov ecx, dword [ebp - 0x90]
push edi
mov dword [ecx + 0x74], eax
mov eax, dword [edi]
mov esi, dword [eax + 0x6c]
mov ecx, esi
call dword [0x10155aa8]
call esi
mov ecx, dword [ebp - 0x90]
mov dword [ecx + 0x78], eax
jmp case.0x10112c22.4107
mov eax, dword [edi]
push edi
mov esi, dword [eax + 0x6c]
mov ecx, esi
call dword [0x10155aa8]
call esi
mov ecx, dword [ebp - 0x90]
mov dword [ecx + 0x40], eax
jmp case.0x10112c22.4107
mov eax, dword [edi]
push edi
mov esi, dword [eax + 0x6c]
mov ecx, esi
call dword [0x10155aa8]
call esi
mov ecx, dword [ebp - 0x90]
mov dword [ecx + 0x38], eax
jmp case.0x10112c22.4107
mov eax, dword [edi]
push edi
mov esi, dword [eax + 0x6c]
mov ecx, esi
call dword [0x10155aa8]
call esi
mov ecx, dword [ebp - 0x90]
mov dword [ecx + 0x44], eax
jmp case.0x10112c22.4107
mov eax, dword [edi]
push edi
mov esi, dword [eax + 0x6c]
mov ecx, esi
call dword [0x10155aa8]
call esi
mov ecx, dword [ebp - 0x90]
mov dword [ecx + 0x48], eax
jmp case.0x10112c22.4107
mov eax, dword [edi]
push edi
mov esi, dword [eax + 0x6c]
mov ecx, esi
call dword [0x10155aa8]
call esi
mov ecx, dword [ebp - 0x90]
mov dword [ecx + 0x4c], eax
jmp case.0x10112c22.4107
mov eax, dword [edi]
push edi
mov esi, dword [eax + 0x6c]
mov ecx, esi
call dword [0x10155aa8]
call esi
mov ecx, dword [ebp - 0x90]
mov dword [ecx + 0x50], eax
jmp case.0x10112c22.4107
mov eax, dword [edi]
push edi
mov esi, dword [eax + 0x6c]
mov ecx, esi
call dword [0x10155aa8]
call esi
mov ecx, dword [ebp - 0x90]
mov dword [ecx + 0x54], eax
jmp case.0x10112c22.4107
mov eax, dword [edi]
push edi
mov esi, dword [eax + 0x6c]
mov ecx, esi
call dword [0x10155aa8]
call esi
mov ecx, dword [ebp - 0x90]
mov dword [ecx + 0x58], eax
jmp case.0x10112c22.4107
mov eax, dword [edi]
push edi
mov esi, dword [eax + 0x6c]
mov ecx, esi
call dword [0x10155aa8]
call esi
mov ecx, dword [ebp - 0x90]
mov dword [ecx + 0x5c], eax
jmp case.0x10112c22.4107
mov eax, dword [edi]
push edi
mov esi, dword [eax + 0x6c]
mov ecx, esi
call dword [0x10155aa8]
call esi
mov ecx, dword [ebp - 0x90]
mov dword [ecx + 0x60], eax
jmp case.0x10112c22.4107
mov eax, dword [edi]
push edi
mov esi, dword [eax + 0x6c]
mov ecx, esi
call dword [0x10155aa8]
call esi
mov ecx, dword [ebp - 0x90]
mov dword [ecx + 0x64], eax
jmp case.0x10112c22.4107
sub eax, 0x101d
je 0x10113232
dec eax
sub eax, 1
je 0x10113214
sub eax, 1
je 0x101130bd
sub eax, 0xa
jne 0x10113260
mov esi, dword [ebp - 0x88]
test dword [esi + 0x158], 0x10000
jne 0x10113260
push 1
lea eax, [esi + 0x118]
mov ecx, edi
push eax
call sym.rt3d.dll_struct_POINT3D___stdcall_GetRightAngle_struct_MATRIX3D___struct_POINT3D__bool_
push 1
lea eax, [esi + 0x124]
mov ecx, edi
push eax
call sym.rt3d.dll_struct_POINT3D___stdcall_GetRightAngle_struct_MATRIX3D___struct_POINT3D__bool_
jmp 0x10113260
mov ecx, dword [ebp - 0x88]
push 1
push ecx
mov eax, dword [ecx + 0x164]
or dword [eax + 0x28], 0x4000
mov eax, dword [ecx]
mov esi, dword [eax + 0x2f8]
mov ecx, esi
call dword [0x10155aa8]
call esi
jmp 0x101131f7
mov eax, dword [edi]
push 0
push edi
mov esi, dword [eax + 0x94]
mov ecx, esi
call dword [0x10155aa8]
call esi
movzx eax, ax
sub eax, 0x1021
je 0x10113199
sub eax, 1
jne 0x101131e4
mov eax, dword [ebp - 0x88]
push edi
mov eax, dword [eax + 0x2a8]
mov esi, dword [eax + 0x70]
mov eax, dword [edi]
mov ecx, dword [eax + 0xe0]
mov dword [ebp - 0xa8], ecx
call dword [0x10155aa8]
call dword [ebp - 0xa8]
mov eax, dword [esi + 0x62]
fstp dword [ebp - 0xa8]
movss xmm0, dword [ebp - 0xa8]
movaps xmm1, xmm0
xorps xmm1, xmmword [0x10159d00]
movss dword [eax], xmm1
mov eax, dword [esi + 0x62]
movss dword [eax + 4], xmm0
mov eax, dword [esi + 0x62]
movss dword [eax + 0xc], xmm0
mov eax, dword [esi + 0x62]
movss dword [eax + 0x10], xmm0
mov eax, dword [esi + 0x62]
movss dword [eax + 0x18], xmm0
mov eax, dword [esi + 0x62]
movss dword [eax + 0x1c], xmm1
mov eax, dword [esi + 0x62]
movss dword [eax + 0x24], xmm1
mov eax, dword [esi + 0x62]
movss dword [eax + 0x28], xmm1
jmp 0x101131e4
push 0x80
lea eax, [ebp - 0x84]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [ebp - 0x84]
push edi
push eax
call sym.rt3d.dll_struct_POINT3D___stdcall_GetRightAngle_struct_MATRIX3D___struct_POINT3D__bool_
mov ecx, dword [ebp - 0x88]
push 0
mov eax, dword [ecx + 0x2a8]
lea ecx, [ebp - 0x84]
push ecx
push eax
mov esi, dword [eax]
mov esi, dword [esi + 0x94]
mov ecx, esi
call dword [0x10155aa8]
call esi
mov eax, dword [edi]
push edi
mov esi, dword [eax + 0xa4]
mov ecx, esi
call dword [0x10155aa8]
call esi
mov eax, dword [edi]
push edi
mov esi, dword [eax + 0x98]
mov ecx, esi
call dword [0x10155aa8]
call esi
test al, al
jne 0x101130ea
jmp 0x10113260
mov eax, dword [edi]
push edi
mov esi, dword [eax + 0x64]
mov ecx, esi
call dword [0x10155aa8]
call esi
mov ecx, dword [ebp - 0x88]
mov byte [ecx + 0x349], al
jmp 0x10113260
mov eax, dword [ebp - 0x88]
test dword [eax + 0x158], 0x10000
jne 0x10113260
mov eax, dword [edi]
push edi
mov esi, dword [eax + 0x64]
mov ecx, esi
call dword [0x10155aa8]
call esi
mov ecx, dword [ebp - 0x88]
mov byte [ecx + 0x348], al
mov eax, dword [edi]
push edi
mov esi, dword [eax + 0xa4]
mov ecx, esi
call dword [0x10155aa8]
call esi
mov eax, dword [edi]
push edi
mov esi, dword [eax + 0x98]
mov ecx, esi
call dword [0x10155aa8]
call esi
test al, al
jne 0x10112419
mov esi, dword [ebp - 0xa4]
test esi, esi
jne 0x101132a4
cmp dword [ebp - 0x9c], esi
je 0x101133cf
mov edi, dword [ebp - 0x88]
mov eax, dword [edi + 0x28]
cmp dword [eax + 0x10c], 0
jne 0x101133e7
mov ecx, dword [ebp - 0x98]
call fcn.100c21be
test al, al
je 0x101133e7
test esi, esi
je 0x101132ed
cmp dword [esi + 0x28], 0
jne 0x101132ed
mov eax, dword [esi]
push dword [edi + 0x28]
push esi
mov esi, dword [eax + 0x84]
mov ecx, esi
call dword [0x10155aa8]
call esi
mov ecx, dword [ebp - 0x9c]
test ecx, ecx
je 0x10113313
cmp dword [ecx + 0x28], 0
jne 0x10113313
mov eax, dword [ecx]
push dword [edi + 0x28]
push ecx
mov esi, dword [eax + 0x84]
mov ecx, esi
call dword [0x10155aa8]
call esi
mov ecx, dword [ebp - 0xa4]
test ecx, ecx
je 0x10113337
cmp dword [ecx + 0x4c], 0
jne 0x10113337
mov eax, dword [edi]
push ecx
push edi
mov esi, dword [eax + 0xb8]
mov ecx, esi
call dword [0x10155aa8]
call esi
mov ecx, dword [ebp - 0x9c]
test ecx, ecx
je 0x1011335b
cmp dword [ecx + 0x4c], 0
jne 0x1011335b
mov eax, dword [edi]
push ecx
push edi
mov esi, dword [eax + 0xb8]
mov ecx, esi
call dword [0x10155aa8]
call esi
mov eax, dword [edi + 0x28]
mov ecx, dword [ebp - 0xa4]
push 0
push 0xf0
mov esi, dword [eax]
push 0x140
push ecx
push eax
mov esi, dword [esi + 0x314]
mov ecx, esi
call dword [0x10155aa8]
call esi
mov edi, dword [ebp - 0x9c]
test edi, edi
je 0x101133a1
mov dword [eax + 0x10], edi
mov eax, dword [edi]
push edi
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x10155aa8]
call esi
mov esi, dword [ebp - 0xa4]
test esi, esi
je 0x101133bb
mov eax, dword [esi]
push esi
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x10155aa8]
call esi
test edi, edi
je 0x101133cf
mov ecx, dword [edi]
push edi
mov esi, dword [ecx + 8]
mov ecx, esi
call dword [0x10155aa8]
call esi
xor eax, eax
inc eax
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.10147db0
leave
ret 0xc
push 0xfffffffffffffff4
pop eax
jmp 0x101133d2
mov edi, dword [ebp - 0x9c]
jmp 0x101133a7